k8s grafana9.3.6 监控 springboot 邮件通知
大纲
- 1 基础准备
- 2 grafana 配置
- 3 grafana 邮件配置
- 4 grafana 联系点配置
- 5 grafana 通知策略配置
- 6 grafana 报警规则配置
- 7 测试报警通知
书接上回 《k8s部署promentheus 使用 grafana监控springboot》
上一文中最后已经使用 jmx_prometheus_javaagent实现对springboot项目的jvm监控
并且在grafana中已经可以看到CPU使用率的图表
关于prometheus监控springboot项目还可以参考文章 《prometheus监控springboot项目 使用grafana展示》
基础准备
- grafana9.6.3
- prometheus2.34.0
- springboot镜像
grafana 配置
本次测试使用的grafana版本为grafana9.3.6
grafana 报警通知流程如下
1报警规则 -> (基于标签匹配) -> 2通知策略 -> 3联系点 (联系点可以是邮件 钉钉等)
grafana 邮件配置
修改 %GRAFANA_HOME%/conf/defaults.ini 配置文件
找到[smtp]选项 添加如下配置
[smtp]
enabled = true
host = smtp.mxhichina.com:587 #邮件服务器地址 这里使用的阿里云
user = chandao@medcrab.com #账号
# 如果密码包含 # 或 ; 需要加三重"号. 例如 """#password;"""
password = xxxxxxx #密码
cert_file =
key_file =
skip_verify = false
from_address = chandao@medcrab.com
from_name = Grafana-liuyijiang
ehlo_identity =
startTLS_policy =
重启grafana 邮件配置完成
grafana 联系点配置
grafana 联系点就是通知发送的方式 可以是邮件,可以是钉钉 等等
创建联系点
测试邮件是否正常发送
打开邮箱可以看到已经收到测试邮件了
到此 grafana 联系点配置完成
grafana 通知策略配置
grafana 通知策略主要是配置label 和选择联系点
新建策略
到此 grafana 通知策略配置完成
grafana 报警规则配置
新建一个报警规则
使用jmx_prometheus_javaagent-0.17.2.jar 中的 java_lang_OperatingSystem_ProcessCpuLoad 指标
java_lang_OperatingSystem_ProcessCpuLoad 这个指标监控cpu使用率,当cpu使用率100%的时候此指标值为1
Step1 配置查询报警规则
可以看到有 A B C这些框
对应
A查询出数据->(数据输入到下一个B)-> B计算数据 -> (数据输入到下一个C) -> C定义规则
这里配置查询java_lang_OperatingSystem_ProcessCpuLoad指标 如果指标平均值大于0.3就报警
Step2 配置报警行为评估
这一步就是配置当Step1中规则出现多久,持续多久就触发报警通知
这里配置的30s 进入Pending 。 for配置的时间表示报警状态为 Pending 后等待 1m(1分钟) 变成 Firing 状态,一旦变成 Firing 状态则将报警发送到 AlertManager处理邮件发送
Step3 配置报警详细信息
这一步可以配置报警的名称 ,分组还可以配置一些描述信息,这些描述信息会作为邮件内容发送出去
Step4 配置通知策略
这一步使用刚才创建的通知策略label
到此报警规则配置完成
测试报警通知
调用接口 让cpu使用率上升
进入pending状态
进入Firing状态
收到邮件