一、前言
本系列将为大家介绍如何对我们的 SpringBoot 应用程序进行监控和告警,使用的技术为 Prometheus + Grafana。二者均采用 Docker 进行安装部署,实际工作中自己在生产环境搭建的可能性不大,因此我们关注的重点放在如何使用就好了。
二、Prometheus
Prometheus 是 Soundcloud 开发的一款开源的监控工具,其本质是一个时间序列数据库(TSDB),采用 Go 语言开发。
它具有以下特点:
- 多维度:我们可以给指标数据添加多组标 Label,在展示时候可以作为筛选条件灵活选择。
- 拉模式:Prometheus 采用 Pull 模式,我们的指标数据生成后,Prometheus 会主动来消费,我们不需要做额外操作。
- 白盒&黑盒监控均支持:无论什么维度的指标数据,都可以采集到,对 DevOps 友好。
- Metrics & Alert:Prometheus 采集的是 Metrics 指标,而不是 logging 和 tracing。
- 社区生态丰富:支持各种语言的客户端,并且有各种各样的 expo