性能监控
Actuator监控
Actuator 简介
在生产环境中,往往需要对系统实际运行的情况(例如 cpu、io、disk、db、业务功能等指标)进行监控运维。在 SpringBoot 项目中 Actuator 模块提供了众多 HTTP 接口端点(Endpoint),来提供应用程序运行时的内部状态信息。
Actuator 模块提供了一个监控和管理生产环境的模块,可以使用 http、jmx、ssh、telnet 等来管理和监控应用。包括应用的审计(Auditing)、健康(health)状态信息、数据采集(metrics gathering)统计等监控运维的功能。同时,提供了可以扩展 Actuator 端点(Endpoint)自定义监控指标。这些指标都是以 JSON 接口数据的方式呈现。
需要注意的是,SpringBoot 1.x 和 2.x 的 Actuator 监控设置差别很大,不仅提供的 endpoint 路径不一樣,连 application.properties 的配置也不一样
使用 Spring Boot Actuator
如果要使用 Spring Boot Actuator 提供的监控功能,需要先加入相关的 maven dependency依赖
只要加上了这个 maven dependency,SpringBoot在运行时就会自动开启/actuator/health和/actuator/info这两个 endpoint,然后就可以通过这两个 endpoint查看当前 SpringBoot应用程序的运行情况,例如自动化配置信息、创建的 Spring beans 以及一些环境属性等。
为了保证 actuator 暴露的监控接口的安全性,需要添加安全控制的依赖 spring-boot-start-security 依赖,访问应用监控端点时,都需要输入验证信息。
如果添加了security安全管理,只需要在配置文件配置用户名和密码就可以了
开启 Actuator 所有 endpoints
https://docs.spring.io/spring-boot/docs/current/reference/html/actuator.html
application.properties
配置 jmx 形式的监控
Prometheus
添加依赖
打开 Prometheus 监控接口 application.properties
访问 /actuator/prometheus
Source & Reference
https://blog.51cto.com/u_15287666/3109393
https://www.mobaijun.com/posts/283491354.html
https://blog.csdn.net/shuofxz/article/details/118213813
https://juejin.cn/post/6844904052417904653#heading-29