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

Prometheus+Grafana保姆笔记(2)——监控Spring Boot微服务程序

Prometheus + Grafana 的组合在微服务项目中可以完成许多DevOps任务,它们共同提供了强大的监控和可视化功能。

我们陆续介绍Prometheus + Grafana 的相关用法。

上一期,我们介绍了Prometheus+Grafana的安装,

Prometheus+Grafana保姆笔记(1)——Prometheus+Grafana的安装

本期我们介绍监控Spring Boot微服务程序。

一、添加Spring Boot Actuator

在spring boot程序中,我们在pom.xml添加Spring Web, Spring Boot Actuator, 和 Micrometer Prometheus依赖

        <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-actuator</artifactId></dependency><dependency><groupId>io.micrometer</groupId><artifactId>micrometer-registry-prometheus</artifactId></dependency>

二、配置application.properties

server.port=8080
management.endpoints.web.exposure.include=*
management.endpoint.metrics.tags.application=${spring.application.name}
management.endpoint.prometheus.enabled=true

请注意,这个配置将暴露所有 Actuator 端点,包括 /**。如果你只想暴露特定的端点,你可以将 include 设置为这些端点的名称,例如 include: 'health', 'info'

三、验证Actuator端点

  • 打开浏览器,访问http://localhost:8080/actuator,你应该能看到一个包含/prometheus端点的JSON响应。
  • 访问http://localhost:8080/actuator/prometheus,你应该能看到Prometheus格式的监控数据。

发现这些数据查询结果都是200,代表成功啦。

四、配置Prometheus

编辑Prometheus配置文件:

  • Prometheus的配置文件通常是prometheus.yml,位于Prometheus安装目录的config子目录中。

  • 编辑该文件,添加一个作业(job)来抓取Spring Boot应用的监控数据:

scrape_configs:  - job_name: 'demo-app'  metrics_path: '/actuator/prometheus'  static_configs:  - targets: ['localhost:8080']

启动Prometheus

  • 根据你的安装方式(二进制包、Docker容器等),启动Prometheus服务。
  • 确保Prometheus正在监听其配置的端口(默认为9090)。

验证Prometheus抓取数据

  • 访问Prometheus的Web界面(http://localhost:9090)。
  • 在Status -> Targets页面中,检查demo-app作业的状态是否为UP,并且Scrapes(抓取次数)在增加。

五、配置Grafana

启动Grafana

  • 根据你的安装方式启动Grafana服务。
  • 访问Grafana的Web界面(http://localhost:3000),使用默认的用户名和密码(通常是admin/admin)登录。

添加Prometheus数据源

  • 在Grafana中,点击左侧的“Configuration” -> “Data Sources”,然后点击“Add data source”。
  • 选择“Prometheus”作为数据源类型,并填写Prometheus服务的URL(http://localhost:9090)。
  • 保存数据源配置。

创建仪表盘

  • 点击左侧的“Dashboards” -> “New dashboard”创建一个新的仪表盘。

你可以“添加可视化”来DIY一套自己的监控图表界面,使用Grafana的查询编辑器(Query Editor)来编写PromQL查询,并添加图表和面板来展示API的响应时间等监控数据。

但是往往你的主要需求,就是大众的需求 ,群众已经帮我们开源好啦。你可以通过上图右下角的“导入仪表盘”来导入一套适合spring boot微服务项目的现成开源模板

 输入SpringBoot APM Dashboard(中文版本)地址

https://grafana.com/grafana/dashboards/21319-springboot-apm-dashboard/

加载后,选择数据源 Prometheus,就可以生成漂亮又全面的监控大盘啦

通过以上步骤,你成功地搭建了一个使用Prometheus + Grafana + Spring Boot Actuator来监控Spring Boot微服务。你可以查看各种指标,如 CPU 使用率、内存使用量、HTTP 请求等,并根据实际需求进一步定制和优化监控配置。

 OK,先这样,下期我们试试Prometheus + Grafana来监控MySQL.

Prometheus+Grafana保姆笔记(3)——监控MySQL

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 基于VS2022+Qt5+C++的串口助手开发
  • MySQL:复杂查询(二)——联合查询02
  • C语言之指针高级--指针操作二维整型、字符型数组、函数指针
  • vscode远程开发
  • C++:std::memory_order_relaxed(宽松内存序)
  • [Vue3] 9 其它API
  • Elasticsearch 搜索高亮功能及示例
  • 谷粒商城实战笔记-179~183-商城业务-检索服务-SearchRequest和SearchResponse构建
  • js中的promise、async/await 用法,详解async、await 语法糖,js中的宏任务和微任务(保姆级教程二)
  • vscode的C/C++环境配置和调试技巧
  • 基于Transformer机制的AI现阶段可能已达峰值
  • xss复现
  • WPF打印控件内容
  • 嵌入式linux系统镜像制作day2
  • 软件工程概述(上)
  • Babel配置的不完全指南
  • GDB 调试 Mysql 实战(三)优先队列排序算法中的行记录长度统计是怎么来的(上)...
  • JavaWeb(学习笔记二)
  • java多线程
  • Java多线程(4):使用线程池执行定时任务
  • mockjs让前端开发独立于后端
  • node 版本过低
  • Spring Cloud中负载均衡器概览
  • vue-cli在webpack的配置文件探究
  • Vue小说阅读器(仿追书神器)
  • 阿里云应用高可用服务公测发布
  • 飞驰在Mesos的涡轮引擎上
  • 基于阿里云移动推送的移动应用推送模式最佳实践
  • 前嗅ForeSpider采集配置界面介绍
  • 设计模式走一遍---观察者模式
  • 我看到的前端
  • 掌握面试——弹出框的实现(一道题中包含布局/js设计模式)
  • postgresql行列转换函数
  • 如何在招聘中考核.NET架构师
  • ​html.parser --- 简单的 HTML 和 XHTML 解析器​
  • ​Kaggle X光肺炎检测比赛第二名方案解析 | CVPR 2020 Workshop
  • # Redis 入门到精通(一)数据类型(4)
  • (1)(1.13) SiK无线电高级配置(六)
  • (2009.11版)《网络管理员考试 考前冲刺预测卷及考点解析》复习重点
  • (22)C#传智:复习,多态虚方法抽象类接口,静态类,String与StringBuilder,集合泛型List与Dictionary,文件类,结构与类的区别
  • (ZT)一个美国文科博士的YardLife
  • (二)hibernate配置管理
  • (二)pulsar安装在独立的docker中,python测试
  • (二十四)Flask之flask-session组件
  • (附源码)基于SSM多源异构数据关联技术构建智能校园-计算机毕设 64366
  • (论文阅读23/100)Hierarchical Convolutional Features for Visual Tracking
  • (终章)[图像识别]13.OpenCV案例 自定义训练集分类器物体检测
  • (转)fock函数详解
  • (转)全文检索技术学习(三)——Lucene支持中文分词
  • (转)使用VMware vSphere标准交换机设置网络连接
  • **python多态
  • .NET Core IdentityServer4实战-开篇介绍与规划
  • .net core webapi 大文件上传到wwwroot文件夹
  • .NET Standard、.NET Framework 、.NET Core三者的关系与区别?
  • .net 程序发生了一个不可捕获的异常