Prometheus-Grafana实现监控SpringBoot健康信息
gradle依赖
1  | // https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-actuator  | 
开放prometheus的端点
在application.properties中编辑如下配置
1  | =prometheus,health,info  | 
配置与grafana集成所需的bean
GrafanaConfig
1  | import io.micrometer.core.instrument.MeterRegistry;  | 
启动spring-boot应用
当启动完毕后,访问如下地址,查看是否有对应的信息输出:

Prometheus增加job
编辑 /usr/local/docker/prometheus/prometheus.yml 文件配置
/usr/local/docker/prometheus/prometheus.yml为Prometheus配置文件路径
1  | - job_name: spring  | 
指定一个job,这个job会去指定的地址获取监控数据。
在targets指定SpringBoot项目的actutator监控地址,192.168.198.200对应的是SpringBoot容器的hostname,8085是SpringBoot容器对外访问端口。
重启Prometheus:docker restart prometheus
访问URL:http://192.168.198.200:9090/targets
可看到,Prometheus已经监控到Springboot提供的数据。

Grafana添加Spring数据源
创建一个 Prometheus 的数据源。
导入 dashboard:JVM (Micrometer) 模板。

报警信息配置
以qq邮箱为例,首先必须开启smtp许可,并获取安全码用于之后的密码设置。
开启IMAP/SMTP服务
QQ邮箱的smtp开启设置
在docker启动容器时设置环境变量来配置邮件服务。
GF_SMTP_USER:邮箱用户名
GF_SMTP_PASSWORD:邮箱SMTP服务授权码
GF_SMTP_SKIP_VERIFY:邮箱安全验证
GF_SMTP_FROM_ADDRESS:邮件发送地址
1  | docker run -d \  | 
Grafana中设置报警邮箱

创建Alert


Alert配置参数说明

设置阈值

设置发送服务及内容

点击Test Rule进行测试

Alert报警服务配置完成。