首页 > Java > java教程 > 正文

Java 中的 Prometheus 和 Grafana 入门

Barbara Streisand
发布: 2024-11-22 00:58:14
原创
306 人浏览过

监控是应用程序性能管理的一个重要方面。随着应用程序规模的扩大,确保它们平稳运行并持续跟踪系统运行状况变得势在必行。在微服务、分布式系统和云原生应用程序中,监控工具不仅仅是一个附加组件,而且是基础设施的关键部分。

用于监控现代系统的两种最流行的工具是 Prometheus 和 Grafana。这些工具通常用于收集、存储和可视化指标,帮助开发人员和运营团队检测问题、分析性能并保持系统高效运行。

为什么我们需要监控?

监控对于在问题影响用户之前识别问题至关重要。无论您使用的是基于 Java 的后端、复杂的微服务环境还是任何其他系统,持续监控都可以提供以下见解:

  • 应用程序性能:
    跟踪关键性能指标,例如响应时间、请求和错误率。

  • 系统健康状况:
    监控服务器运行状况、CPU 使用情况、内存使用情况和磁盘空间,以确保基础设施以最佳状态运行。

  • 警报:
    为关键指标设置阈值和警报,以便在出现问题时通知您。

  • 容量规划:
    收集和分析历史数据可以帮助您规划应用程序的扩展。

Prometheus 和 Grafana 提供强大的解决方案来监控、可视化和分析系统和应用程序中的数据。

Getting Started with Prometheus and Grafana in Java

Grafana 和 Prometheus 简介

普罗米修斯
Prometheus 是一个开源监控和警报工具包,旨在提高可靠性和可扩展性。它专注于采集时序数据,支持多维数据采集,可以进行强大的查询和分析。 Prometheus 通过 HTTP 端点从目标收集指标并将其存储在时间序列数据库中。然后可以使用 Prometheus 的查询语言 PromQL 查询这些指标。

格拉法纳
Grafana 是一个用于监控和可观察性的开源平台。它允许用户可视化来自多个来源的时间序列数据,包括 Prometheus。 Grafana 能够创建仪表板、设置警报以及与各种数据源集成,这使其成为最流行的指标可视化工具之一。

Prometheus 共同收集指标,而 Grafana 以交互且具有视觉吸引力的方式显示它们。

在 Docker 中运行 Prometheus

在 Docker 中运行 Prometheus 和 Grafana 是一种简单有效的快速搭建监控环境的方法。让我们从在 Docker 中运行 Prometheus 开始。

第 1 步:在 Docker 中运行 Prometheus
您可以使用以下命令将 Prometheus 作为容器运行:

docker run --name prometheus -d -p 127.0.0.1:9090:9090 prom/prometheus
登录后复制
登录后复制

此命令将:

  • 启动一个Prometheus容器。
  • 将本地端口9090映射到容器的端口9090
  • 使用 Docker Hub 上的官方 Prometheus Docker 镜像。 您可以通过打开浏览器并导航到 http://localhost:9090/ 来验证 Prometheus 是否正在运行。

第 2 步:配置 Prometheus
如果需要将 Prometheus 配置为从特定端点(例如 Java 应用程序)抓取指标,则必须调整 Prometheus 配置文件。通过将其安装到容器中,您可以使用自定义的 prometheus.yml 文件运行 Prometheus。这是一个例子:

docker run \
    -p 9090:9090 \
    -v /prometheus.yml:/etc/prometheus/prometheus.yml \
    prom/prometheus
登录后复制
登录后复制

这会将本地 prometheus.yml 文件挂载到容器中。启动 Prometheus 后,您可以访问 http://localhost:9090/ 访问 Prometheus 仪表板。

Getting Started with Prometheus and Grafana in Java

在 Docker 中运行 Grafana

现在 Prometheus 正在运行,添加 Grafana 来可视化数据是时候了。

第 3 步:在 Docker 中运行 Grafana
Grafana 通过 Docker 部署起来很简单。运行以下命令启动 Grafana 容器:

在 Docker 中运行 Grafana

docker run -d -p 3000:3000 grafana/grafana-enterprise

登录后复制
登录后复制

Grafana 运行后,您可以通过 http://localhost:3000/login 访问 Web UI。默认登录凭据是:

  • 用户名:admin
  • 密码:admin

Getting Started with Prometheus and Grafana in Java

第 4 步:连接 Prometheus 和 Grafana
现在 Prometheus 和 Grafana 都在运行,下一步就是连接它们。 Grafana 需要知道从哪里获取指标。以下是如何在 Grafana 中添加 Prometheus 作为数据源:

  1. 登录Grafana
  2. 点击左侧边栏的齿轮图标打开配置菜单。
  3. 选择数据源
  4. 点击添加数据源
  5. 选择Prometheus作为数据源类型。
  6. HTTP 部分中,设置您的 Prometheus 实例的 URL(例如,http://172.0.0.1:9090)。
  7. 点击保存并测试以确保Grafana能够成功连接到Prometheus。

创建示例 Java 项目

让我们创建一个简单的基于 Java 的项目,向 Prometheus 公开指标。我们将使用 Micrometer,这是一个基于 JVM 的应用程序的指标收集外观,它可以轻松地与 Prometheus 集成。

第 5 步:创建 Java 应用程序

将必要的依赖项添加到您的 pom.xml 文件中:
连接一切。

docker run --name prometheus -d -p 127.0.0.1:9090:9090 prom/prometheus
登录后复制
登录后复制

然后,在您的 Java 应用程序中,公开 Prometheus 可以抓取的端点。例如:

docker run \
    -p 9090:9090 \
    -v /prometheus.yml:/etc/prometheus/prometheus.yml \
    prom/prometheus
登录后复制
登录后复制

此设置创建 Prometheus 可以抓取的端点/指标。它公开了 Micrometer 收集的指标,并以 Prometheus 格式提供。

第 6 步:向 Prometheus 公开指标
现在 Java 应用程序正在收集指标,我们需要告诉 Prometheus 从您的应用程序中抓取 /metrics 端点。更新您的 prometheus.yml 配置文件以包含目标:

docker run -d -p 3000:3000 grafana/grafana-enterprise

登录后复制
登录后复制

如果在同一台计算机上运行,​​请替换为 IP 地址或本地主机。 Prometheus 现在将从您的 Java 应用程序收集指标。

Getting Started with Prometheus and Grafana in Java

连接一切

此时,您已经:

  • Prometheus 从您的 Java 应用程序中抓取指标。
  • Grafana 设置为可视化工具。

第 7 步:在 Grafana 中创建仪表板
要在 Grafana 中可视化数据:

  1. 转到 Grafana 中的 仪表板 选项卡。
  2. 点击新建仪表板
  3. 添加面板并选择Prometheus作为数据源。
  4. 编写 PromQL 查询来检索指标,例如 http_requests_total.

您现在可以构建一个包含各种面板的仪表板,显示请求计数、响应时间和错误率等指标。

Getting Started with Prometheus and Grafana in Java

监控对于维持高可用性和性能至关重要。借助 Prometheus 和 Grafana 等工具,您可以轻松为 Java 应用程序设置高效的监控解决方案。

以上是Java 中的 Prometheus 和 Grafana 入门的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:dev.to
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板