监控系统搭建
SpringBootActuator
Spring Boot Actuator 提供 HTTP API 接口,返回应用的审计(auditing)、健康状况(health)和指标(metrics)等数据。
SpringBootAdmin
是不错的轻量级的监控工具,只需要极少量的配置,就可以完成 Spring Boot 的应用的监控、管理、甚至说告警。一般情况下,如果想要快速搭建一个监控工具,那么 Spring Boot Admin 算是一个不错的选择。
比较大的一个问题,并不会主动采集 Spring Boot 应用的 Metrics 指标数据,记录到存储器中。这样就会导致,我们如果排查问题时,需要查看过去一段时间的 Metrics 指标数据,就无从得知。当然,此时我们可以考虑通过 Prometheus + Grafana 打造监控平台
Prometheus + Grafana + Alertmanager
Prometheus
- 是一个开源的系统监控和报警工具
- 是一个自带爬虫功能的数据库,通过 HTTP 请求被监控目标的监控数据。
- 实际是一个生态,包含很多组件
Grafana
- 可视化仪表盘工具。
Alertmanager
- 处理来自客户端应用程序(如 Prometheus Server)发送的告警请求。
- 负责将告警请求去重(deduplicating), 分组, 路由到对应的接收者,通过邮箱、PagerDuty、OpsGenie 等等方式。
目前市面比较主流的监控系统有两个
Spring Boot Admin
Prometheus + Grafana
- 新版的Grafana已经具备了Alertmanager的相关功能