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报警服务配置完成。