| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> Java知识库 -> 使用 Prometheus 和 Grafana 监控 Spring Boot 应用程序 -> 正文阅读 |
|
[Java知识库]使用 Prometheus 和 Grafana 监控 Spring Boot 应用程序 |
在本文中,我们将研究如何使用 Grafana 监控 Spring Boot 应用程序。我们将研究整个设置并创建一个简单的仪表板来查看一些指标。 部署在生产环境中的每个应用程序都需要某种监控来了解应用程序的执行情况。这将使您了解应用程序是否按方面执行,或者您是否需要采取一些措施以获得所需的性能水平。在现代世界中,这些数据称为应用程序性能指标 (APM)。现在已经有相当多的商业工具如Newrelic、Datadog APM等,都是提供这种能力的SAAS服务。 今天我们将研究两个开源工具,称为Grafana和Prometheus。Prometheus 以时间序列格式收集和存储指标数据,而 Grafana 使用 Prometheus 作为数据源在仪表板上可视化数据。 有了这个,让我们首先创建一个应用程序并使用 Grafana 对其进行监控。 创建一个 Spring Boot 应用程序让我们访问https://start.spring.io并创建一个具有以下依赖项的简单应用程序。
接下来,我们需要公开一个执行器端点,Prometheus 将通过该端点以 Prometheus 可以理解的格式收集指标数据。为此,我们需要添加以下属性。
复制 接下来让我们添加一个简单的控制器,它会产生一些警告日志。我们将使用它来监控我们收到的警告数量。
复制 有了这个,让我们启动应用程序并打开以下 URL: http://localhost:8080/actuator/prometheus 了解指标数据打开上面的endpoint后,你会发现一些metrics数据,格式如下
复制 第一部分即jvm_memory_used_bytes称为标签,而花括号内的字段称为属性。这些标签中的每一个都代表一个特定的指标,并且该属性为您提供了一种查询方式,以便您可以获取值。 接下来,让我们配置 Prometheus 来读取这些数据。 配置Prometheus要启动 Prometheus,我们将使用Prometheus docker 映像并为其提供一些配置以从我们的应用程序中收集指标数据。它通过创建将从端点抓取数据的作业来做到这一点。prometheus.yaml因此,让我们在配置文件中定义作业,如下所示。
复制 在这里,我定义了一个作业,它将每 2 秒调用一次应用程序上的执行器端点以获取指标数据。 接下来,让我们创建一个 docker-compose 文件,该文件将使 Prometheus docker 映像启动并运行。
复制 在这里,我们将配置文件安装在该位置/etc/prometheus,并将配置文件的位置用作命令的参数。为简单起见,我们使用主机网络模式,以便 Prometheus 可以直接访问我们的应用程序端点。 有了这个,让我们启动 docker 镜像并在我们的浏览器上docker compose up打开 URL 。http://localhost:9090 现在让我们搜索标签logback_events_total 如您所见,我们可以看到 Prometheus 在特定时间收集的指标。 如果您没有找到标签,您可以通过导航到“状态 > 目标”来检查作业是否正在运行。您应该像这样看到状态为“UP”。 因此,数据每 2 秒就会被摄取到 Prometheus 中。 现在让我们使用 Grafana 将其可视化。 在 Grafana 中可视化指标我们将使用 Grafana 的 docker 镜像并将其添加到 docker -compose 文件中。
复制 这里我们也使用了主机网络模式,方便我们和 Grafana 访问 Prometheus 端点。 接下来,让我们打开 URL http://localhost:3000并使用用户名和密码作为“admin”访问 Grafana 配置 Grafana 数据源我们先添加 Prometheus 数据源。为此,导航到“添加数据源”并选择 Prometheus。然后你只需要添加一个属性,即 Prometheus URL http://localhost:9090 点击“保存并测试”,现在,让我们创建我们的第一个仪表板 创建 Grafana 仪表板单击左侧的“+”图标,然后选择“创建仪表板”。现在让我们添加我们的第一个面板。 接下来,让我们在公制浏览器中查询一个标签,即logback_events_total 正如您在此处看到的,我们获得了所有类型日志的计数。这些计数当前来自我们应用程序的启动日志,并以时间序列格式显示。 让我们深入到仅查看警告日志。为此,我们必须添加如下属性level=”warn”。 而已。我们刚刚创建了一个简单的指标可视化面板来查看警告日志的数量。 现在通常,我们希望查看一段时间内的错误率或警告日志。这将帮助我们了解我们的系统是否存在问题。为此,我们可以使用该rate函数来计算特定时间段内的日志率。 因此,在我们的 Spring Boot 应用程序上触发控制器端点后,它生成了一些警告日志,从而导致了这个图表。 让我们保存这个面板,然后我们开始吧。我们刚刚创建了第一个带有警告日志指标面板的 Grafana 仪表板。 现在,我们不需要从头开始创建仪表板。您可以从很多社区提供的仪表板。选择喜欢的仪表板使用。 在本文中,我们了解了如何使用 Prometheus 和 Grafana 监控 Spring Boot 应用程序的性能。 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/23 13:23:37- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |