实时洞察应用健康:使用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仪表板,查看实时的监控数据。

相关推荐
豆瓣鸡19 小时前
封装 API 请求日志切面——从注解定义到 Starter 自动装配
java·开发语言·spring boot
查拉图斯特拉面条19 小时前
使用 k6 编写登录与业务场景脚本并进行性能测试及 Grafana 可视化实战
grafana
spider_xcxc20 小时前
Prometheus + Grafana流程搭建总结
grafana·prometheus·云计算运维
正儿八经的少年1 天前
Spring Boot
java·spring boot·后端
豆瓣鸡1 天前
封装 Jackson 配置 Starter:统一解决 LocalDateTime 请求解析和响应格式化问题
java·spring boot
宠友信息1 天前
资源权限与钱包流水在即时通讯源码后端架构中的设计
java·spring boot·redis·websocket·缓存
霸道流氓气质1 天前
Spring Boot 接入阿里云 RocketMQ 完整指南
spring boot·阿里云·java-rocketmq
卓怡学长1 天前
w272基于springboot便民医疗服务小程序
java·spring boot·spring·小程序·intellij-idea
c_zyer1 天前
一站式可观测新选择:OpenObserve 深度对标 ELK / Grafana+Prometheus / Netdata,附Docker一键部署实战
elk·grafana·prometheus·netdata·openobserve
程序员小郭831 天前
Java + POI 实现高性能Excel导出(支持普通List、MyBatis Cursor流式导出、VO适配)
spring boot·后端·excel