当前位置: 首页 > news >正文

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

1. 添加Prometheus和Actuator依赖

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

<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的端点:

spring:application:name: kkxx-poiprofiles:active: local
#Prometheus springboot监控配置
management:endpoints:web:exposure:include: "*"
# 指标metrics:export:prometheus:enabled: truetags: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应用程序中抓取指标:

# 监控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仪表板,查看实时的监控数据。
在这里插入图片描述

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 极速文件预览!轻松部署 kkFileView 于 Docker 中!
  • OSPF 开放式最短路径优先协议
  • 数据结构-递归算法-第四天
  • 8.22 万灵药(SAM + Trie + 树剖 + 线段树)
  • STL—list—模拟实现【迭代器的实现(重要)】【基本接口的实现】
  • 记录 Ant Design Table 组件使用的问题
  • 深入理解HTTP的基础知识:请求-响应过程解析
  • Google Ads投放 | 如何分析竞争对手的谷歌广告?
  • 【仿真与实物设计】基于51单片机设计的打地鼠游戏机——程序源码原理图proteus仿真图PCB设计文档演示视频元件清单等(文末工程资料下载)
  • 黑神话悟空,高清壁纸、原画,游戏截图
  • EXCEL格式转化
  • ARM 裸机与 Linux 驱动对比及 Linux 内核入门
  • 特斯拉电动卡车事故引发安全调查,汽车制造商电动车战略调整
  • 【网络编程】第八章 传输层-udp(netstat+pidof+upd协议)
  • 继Ollama之后,Go在AI领域再下一城
  • Android 控件背景颜色处理
  • Apache的80端口被占用以及访问时报错403
  • CoolViewPager:即刻刷新,自定义边缘效果颜色,双向自动循环,内置垂直切换效果,想要的都在这里...
  • idea + plantuml 画流程图
  • iOS | NSProxy
  • JavaScript 基本功--面试宝典
  • Java读取Properties文件的六种方法
  • mongodb--安装和初步使用教程
  • Quartz初级教程
  • scala基础语法(二)
  • 案例分享〡三拾众筹持续交付开发流程支撑创新业务
  • 动态魔术使用DBMS_SQL
  • 多线程事务回滚
  • 机器学习 vs. 深度学习
  • 如何编写一个可升级的智能合约
  • 实现简单的正则表达式引擎
  • [Shell 脚本] 备份网站文件至OSS服务(纯shell脚本无sdk) ...
  • 我们雇佣了一只大猴子...
  • ​​​​​​​STM32通过SPI硬件读写W25Q64
  • ​Linux·i2c驱动架构​
  • ​secrets --- 生成管理密码的安全随机数​
  • (Matlab)遗传算法优化的BP神经网络实现回归预测
  • (附源码)c#+winform实现远程开机(广域网可用)
  • (附源码)springboot码头作业管理系统 毕业设计 341654
  • (附源码)计算机毕业设计ssm电影分享网站
  • (免费领源码)python+django+mysql线上兼职平台系统83320-计算机毕业设计项目选题推荐
  • (四)汇编语言——简单程序
  • (一)utf8mb4_general_ci 和 utf8mb4_unicode_ci 适用排序和比较规则场景
  • (一)模式识别——基于SVM的道路分割实验(附资源)
  • .cfg\.dat\.mak(持续补充)
  • .NET简谈设计模式之(单件模式)
  • //TODO 注释的作用
  • /usr/bin/perl:bad interpreter:No such file or directory 的解决办法
  • @EnableWebSecurity 注解的用途及适用场景
  • [ vulhub漏洞复现篇 ] ThinkPHP 5.0.23-Rce
  • [ 渗透测试面试篇 ] 渗透测试面试题大集合(详解)(十)RCE (远程代码/命令执行漏洞)相关面试题
  • [ 隧道技术 ] 反弹shell的集中常见方式(四)python反弹shell
  • [000-002-01].数据库调优相关学习
  • [ACM独立出版]2024年虚拟现实、图像和信号处理国际学术会议(ICVISP 2024)
  • [Android]通过PhoneLookup读取所有电话号码