MySQL, Oracle, Linux, 软件架构及大数据技术知识分享平台

网站首页 > 精选文章 / 正文

29-Spring Boot Actuator指标监控

2025-03-18 22:56 huorong 精选文章 1 ℃ 0 评论

上篇我们学习了《28-自定义Spring Boot Actuator指标》,本篇我们使用Prometheus和Grafana监控这些指标。

监控指标是应用的重要功能,我们可以使用Prometheus(https://prometheus.io)存储指标数据,使用Grafana(https://grafana.com)对数据进行可视化的展示。Micrometer可以将指标数据输出不同的监控平台包括Prometheus。我下面将演示使用Prometheus和Grafana来监控指标数据。

  • 添加依赖
dependencies {
	 //...
   implementation 'io.micrometer:micrometer-registry-prometheus'
	 //...
}
  • 开启端点
management.endpoints.web.exposure.include=prometheus

因为我们前面已配置了“*****”,所以我们无需再次开启prometheus端点。

  • 访问端点

启动 应用,访问端点地址
http://localhost:8080/actuator/prometheus,输出:

  • 编写docker compose文件,放置于应用根目录下的stack.yml

version: "3"
services:
  prom:
    image: prom/prometheus:v2.11.1
    volumes:
      - ./config/prometheus.yml:/etc/prometheus/prometheus.yml # 1
    ports:
      - 9090:9090 # 2 
    networks:
      metrics:
        aliases:
          - grafana # 3
  grafana:
    image: grafana/grafana:6.3.2
    ports:
      - 3000:3000 # 2
    environment:
      - GF_SECURITY_ADMIN_USER=wisely # 4
      - GF_SECURITY_ADMIN_PASSWORD=zzzzzz
    networks:
      metrics:
        aliases:
          - prometheus # 3

networks:
  metrics: # 3
    1. 将应用根目录下的config/prometheus.yml作为prometheus的配置文件;
    2. 将容器端口号暴露给当前开发主机;
    3. 定义网络metrics,让prometheus和grafana容器之间在同一个网络下;
    4. 设置grafana的账号和密码。
  • 配置prometheus,位置在源码根目录的config目录下
scrape_configs:
  - job_name: 'prometheus'
    scrape_interval: 1m
    static_configs:
      - targets: ['localhost:9090']
  - job_name: 'learning-spring-boot-actuator' #1
    scrape_interval: 1m #2
    metrics_path: '/actuator/prometheus' #3
    static_configs:
      - targets: ['192.168.31.199:8080'] #4
  - job_name: 'grafana'
    scrape_interval: 1m
    metrics_path: '/metrics'
    static_configs:
      - targets: ['grafana:3000']
    1. 此处配置的是监控learning-spring-boot-actuator应用的任务;
    2. 每隔一分钟获取/actuator/prometheus数据;
    3. 指定获取数据的端点地址/actuator/prometheus
    4. 此处设置的是我们应用的地址,这里的IP是当前你开发主机的地址。
  • 启动容器

执行命令

$ docker-compose -f stack.yml up -d
  • 检查prometheus任务状态

通过访问http://localhost:9090/targets查看prometheus的任务状态,正常情况下所有的状态都显示“UP”:

  • 访问grafana

访问http://localhost:3000,使用账号密码登录

  • 添加prometheus数据源

点击首页“Add data Source”按钮,在筛选过滤界面选择“Prometheus”,主要设置prometheus的地址

http://prometheus:9090,填写完成后点击“Save & Test”后,显示“Data source is working”代表正常工作。

  • 创建监控Dashboard

点击首页“New Dashboard”,选择点击“Add Query”:

  1. 在设置页面“Query”选择上步配置的数据源Prometheus
  2. 在“Metrics”搜索你所需要监控的指标,如输入top_wisely_size__
  3. 点击上方保存图标保存Dashboard
  • 监控指标

我们向我们的自定义端点
http://localhost:8080/actuator/my添加数据,观察Dashboard的变化,可得到监控如下:

Tags:scrape_interval

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言