Grafana+Prometheus技术文档-进阶使用-监控spring-boot项目

news/2024/5/19 0:31:02 标签: prometheus

阿丹:

        之前已经实现了使用Prometheus来对服务器进行了监控和仪表盘的创建,现在就需要对这些监控方法使用在spring-boot中去。

实现思路:

        1、集成Actuator

        2、加入Prometheus的依赖

        3、配置开放端口、以及开放监控

        4、配置Prometheus中的配置

        5、使用Grafana中的SpringBoot Actuator展示模版

一、集成Actuator

 引入依赖

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-actuator</artifactId>
</dependency>

Spring Actuator是Spring框架中的一个模块,旨在为应用程序提供监控和管理的功能。它为开发人员提供了一系列的HTTP端点,可以用来查看应用程序的运行状况、性能指标、日志信息等。Actuator可以帮助开发人员进行应用程序的监控、诊断和管理,从而更好地了解应用程序的运行情况。

Spring Actuator提供了一些常用的端点,包括:

  1. /health:用于检查应用程序的健康状况,例如数据库连接是否正常、磁盘空间是否足够等。

  2. /info:用于查看应用程序的一般信息,例如应用程序的名称、版本、描述等。

  3. /metrics:用于查看应用程序的运行指标,例如CPU使用率、内存使用量、请求次数等。

  4. /logfile:用于查看应用程序的日志文件。

  5. /env:用于查看应用程序的环境变量。

除了这些常用端点,Actuator还提供了一些其他功能,如配置端点、线程Dump端点、热重启端点等。开发人员可以根据自己的需求自定义配置和使用这些端点。

在Spring项目中集成Actuator非常简单,只需在项目的依赖中加入相关的Actuator模块,并进行必要的配置,即可启用Actuator的功能。

依赖说明:

在Spring Boot应用程序中使用Prometheus进行监控时,spring-boot-starter-actuator依赖提供了与Prometheus进行集成的能力。通过添加这个依赖,你可以使Spring Boot应用程序暴露所需的端点,以供Prometheus抓取并收集监控指标。

具体来说,spring-boot-starter-actuator中的Actuator模块启用了以下与Prometheus相关的功能:

  1. 自动配置:Actuator自动配置模块将根据在应用程序中定义的配置属性,自动为应用程序启用与Prometheus集成的相关功能。这使得无需手动配置即可与Prometheus进行集成。
  2. 端点暴露:Actuator提供了一组HTTP端点,其中包括与Prometheus监控相关的端点。这些端点将监控数据暴露给Prometheus进行抓取。
  3. Metrics和Health信息:通过Actuator的端点,你可以获取应用程序的Metrics信息和Health状态。这些信息将被Prometheus抓取并存储,以供进一步的分析和警报。

总之,spring-boot-starter-actuator依赖使得Spring Boot应用程序能够与Prometheus进行集成,从而通过Prometheus对应用程序进行监控和度量。

二、引入Prometheus依赖micrometer-registry-prometheus

<dependency>
    <groupId>io.micrometer</groupId>
    <artifactId>micrometer-registry-prometheus</artifactId>
</dependency>

micrometer-registry-prometheus这个依赖在Spring Boot项目中使用Prometheus进行监控时,提供了将应用程序的度量数据暴露给Prometheus的功能。

具体来说,micrometer-registry-prometheus是一个Micrometer的Prometheus注册器实现。Micrometer是一个用于Java应用程序的度量库,它提供了一种标准化的方式来收集和报告度量数据。通过添加这个依赖,你可以将Micrometer与Prometheus集成,从而将应用程序的度量数据暴露给Prometheus进行抓取。

当与Prometheus集成后,你可以通过配置将Micrometer生成的度量数据发送到Prometheus,然后使用PromQL进行查询和分析。这样,你可以获得应用程序的性能指标,如请求处理时间、数据库查询速率等,以便进行监控和问题诊断。

此外,micrometer-registry-prometheus还提供了一些额外的功能,如自定义度量数据的命名和标签,以及与Prometheus的自动发现功能进行集成等。

总之,micrometer-registry-prometheus依赖使得Spring Boot项目能够与Prometheus进行集成,以便更好地监控应用程序的性能。

三、添加yml配置

因为在默认的情况下,端点是不可用的,所以必须要公开,所以需要添加如下配置

management:
  endpoints:
    web:
      exposure:
        include: prometheus,health,info

并且指定服务名字

spring:
  application:
    name: adn-ask

四、 添加Prometheus配置

scrape_configs:
  - job_name: 'adn-ask'   #prometheus任务名称
    scrape_interval: 5s  #每五秒抓取一次数据
    metrics_path: '/actuator/prometheus'   #数据来源的地址
    static_configs:
      - targets: ['localhost:8081']   #拉去数据的地址

 

 

 注意在使用的时候服务名字一定要对应以及下面的端口号和ip地址。

五、导入SpringBoot Actuator的展示模板

使用的模版id为:12900 

提供展板的官网: 

Dashboards | Grafana Labs


http://www.niftyadmin.cn/n/4931507.html

相关文章

【Codeforces】 CF1734E Rectangular Congruence

题目链接 CF方向 Luogu方向 题目解法 暂时不考虑 b i b_i bi​ 的限制 考虑构造 a i , j i j a_{i,j}ij ai,j​ij&#xff0c; 那么 a r 1 , c 1 a r 2 , c 2 r 1 c 1 r 2 c 2 , a r 1 , c 2 a r 1 , c 2 r 1 c 2 r 2 c 1 a_{r1,c1}a_{r2,c2}r1c1r2c2,\;a_{r1,c2}…

数据结构初阶--二叉树的链式结构

目录 一.二叉树链式结构的概念 二.二叉树链式结构的功能实现 2.1.链式二叉树的定义 2.2.链式二叉树的构建 2.3.链式二叉树的遍历 2.3.1.先序遍历 2.3.2.中序遍历 2.3.3.后序遍历 2.3.4.层序遍历 2.4.链式二叉树的求二叉树的结点数量 法一&#xff1a;计数法 法二&a…

Harbor内网离线安装使用HTTPS访问

重要提醒&#xff1a;使用的是域名形式访问Harbor。通过https://harbor.top访问网址。 1、首先在自己windows电脑 “此磁盘C->Windows->System32->drivers->etc” 修改hosts文件 添加“ip harbor.top”例如&#xff1a;“172.33.33.33 harbor.top” 2、进入内网服务…

[Mongodb 5.0]单机启动

安装完mongodb后&#xff0c;会自动生成下面两个目录(mongod.conf中设定的)&#xff0c;用来存放日志和数据 /var/lib/mongo (数据目录) /var/log/mongodb (日志目录) 要启动一个单机版的mongodb&#xff0c;一般有两种方式&#xff1a; 第一种启动方式&#xff1a;直接使用…

【力扣每日一题】2023.8.11 矩阵对角线元素的和

目录 题目&#xff1a; 示例&#xff1a; 分析&#xff1a; 代码&#xff1a; 题目&#xff1a; 示例&#xff1a; 分析&#xff1a; 题目给我们一个矩阵&#xff0c;让我们把矩阵对角线上的元素都加起来返回。 那么矩阵的对角线是有两条的&#xff0c;一条是从左上到右下…

Go http.Handle和http.HandleFunc的路由问题

Golang的net/http包提供了原生的http服务&#xff0c;其中http.Handle和http.HandleFunc是两个重要的路由函数。 1. 函数介绍 http.HandleFunc和http.Handle的函数原型如下&#xff0c;其中DefaultServeMux是http包提供的一个默认的路由选择器。 func HandleFunc(pattern st…

在线预览Word、Excel、PowerPoint等文件

在我们工作时&#xff0c;经常会有在线查看各种不同类型的文件的需要&#xff0c;如Word文档、Excel表格、PowerPoint幻灯片和PDF等。可以直接在这里预览&#xff1a;https://www.compdf.com/webviewer/demo Word 文件实现前端预览 方案一&#xff1a; 使用 XDOC 可以实现预…

typeScript 之 运算符

工具&#xff1a; PlayGround 算术运算符 运算符描述加-减*乘/除%取模(求余)自增–自减 注意和--&#xff0c;实例&#xff1a; let value 0; console.log(value); //0, 先显示再增加后为1 console.log(value); //2&#xff0c;先增加后为2再显示关系运算符 运算符描述 …