实时洞察应用健康:使用Spring Boot集成Prometheus和Grafana

1. 添加Prometheus和Actuator依赖

pom.xml中添加Spring Boot Actuator和Micrometer Prometheus依赖:

xml 复制代码
<dependencies>
<!--监控功能Actuator-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-actuator</artifactId>
        </dependency>
    <!-- Micrometer Prometheus Registry -->
   <dependency>
      <groupId>io.micrometer</groupId>
      <artifactId>micrometer-registry-prometheus</artifactId>
    </dependency>

    <!-- Micrometer核心库 -->
    <dependency>
      <groupId>io.micrometer</groupId>
      <artifactId>micrometer-core</artifactId>
    </dependency>
</dependencies>

2. 配置Actuator端点

application.yml文件中配置Actuator以启用Prometheus的端点:

yml 复制代码
spring:
  application:
    name: kkxx-poi
  profiles:
    active: local
#Prometheus springboot监控配置
management:
  endpoints:
    web:
      exposure:
        include: "*"
# 指标
  metrics:
    export:
      prometheus:
        enabled: true
    tags:
      application: ${spring.application.name} # 暴露的数据中添加application label

3. 启动应用程序

启动Spring Boot应用程序。默认情况下,Prometheus指标将通过/actuator/prometheus端点暴露。

http://localhost:9091/actuator/prometheus

4. 配置Prometheus

在Prometheus的配置文件prometheus.yml中,添加Scrape配置以从Spring Boot应用程序中抓取指标:

yaml 复制代码
# 监控SpringBoot应用:kkxx-poi
  - job_name: 'kkxx-poi'
    metrics_path: '/actuator/prometheus'
    static_configs:
      - targets: ['localhost:9091']# 修改为Spring Boot应用程序的实际地址

确保Prometheus已启动并正在运行。

访问:http://localhost:9090/targets?search=

可以看到注册进来的 Springboot项目指标

5. 启动Grafana并配置Prometheus数据源

  1. 启动Grafana,并登录到Grafana的Web界面。
  2. 添加一个新的数据源:
    • 数据源类型选择Prometheus
    • URL字段中输入Prometheus的地址,通常为http://localhost:9090
  3. 保存并测试数据源,确保连接成功。

6. 创建Grafana仪表板

  1. 在Grafana中创建一个新的仪表板。
  2. 打开模板商店:https://grafana.com/grafana/dashboards/?search=Java
  3. 添加一个新面板,在查询编辑器中选择Prometheus数据源并编写PromQL查询来显示你感兴趣的指标。
  4. 下载对应json 并导入 使用方法

7. 验证和监控

访问你的Spring Boot应用程序并触发一些操作,返回到Grafana仪表板,查看实时的监控数据。

相关推荐
泉城老铁2 小时前
Spring Boot对接抖音获取H5直播链接详细指南
spring boot·后端·架构
后端小张1 天前
基于飞算AI的图书管理系统设计与实现
spring boot
考虑考虑2 天前
Jpa使用union all
java·spring boot·后端
阿杆2 天前
同事嫌参数校验太丑,我直接掏出了更优雅的 SpEL Validator
java·spring boot·后端
昵称为空C3 天前
SpringBoot3 http接口调用新方式RestClient + @HttpExchange像使用Feign一样调用
spring boot·后端
麦兜*3 天前
MongoDB Atlas 云数据库实战:从零搭建全球多节点集群
java·数据库·spring boot·mongodb·spring·spring cloud
麦兜*3 天前
MongoDB 在物联网(IoT)中的应用:海量时序数据处理方案
java·数据库·spring boot·物联网·mongodb·spring
汤姆yu3 天前
基于springboot的毕业旅游一站式定制系统
spring boot·后端·旅游
爱敲代码的TOM3 天前
Prometheus+Grafana构建企业级监控方案
prometheus
计算机毕业设计木哥3 天前
计算机毕设选题推荐:基于Java+SpringBoot物品租赁管理系统【源码+文档+调试】
java·vue.js·spring boot·mysql·spark·毕业设计·课程设计