在 grafana 图形界面导入相关 json 文件:
点 import 导入后,报 prometheus 数据源找不到,因为这些 json 文件里默认要找的就是叫 Prometheus 的数据源,但我们前面建立的数据源却是叫 prometheus_data(坑啊)。
那么请自行把原来的 prometheus_data 源改名为 Prometheus 即可(注意:第一个字母 P 是大写)。
然后再回去刷新,就有数据了,如下图所示:
过段时间再看,就会有数据了,如下图所示:
④Grafana+onealert 报警
Prometheus 报警需要使用 alertmanager 这个组件,而且报警规则需要手动编写(对运维来说不友好)。所以我这里选用 grafana+onealert 报警。注意:实现报警前把所有机器时间同步再检查一遍。
先在 onealert 里添加 grafana 应用:
配置通知策略:
在 grafana 增加通知通道:
现在可以去设置一个报警来测试了(这里以我们前面加的 cpu 负载监控来做测试):
保存后就可以测试了,如果 agent1 上的 cpu 负载还没有到 0.5,你可以试试 0.1,或者运行一些程序把 agent1 负载调大。
最终能测试报警成功:
最终的邮件报警效果:
测试 MySQL 链接数报警:
⑤总结报警不成功的可能原因
如下:
- 各服务器之间时间不同步,这样时序数据会出问题,也会造成报警出问题
- 必须写通知内容,留空内容是不会发报警的
- 修改完报警配置后,记得要点右上角的保存
- 保存配置后,需要由 OK 状态变为 alerting 状态才会报警(也就是说,你配置保存后,就已经是 alerting 状态是不会报警的)
- grafana 与 onealert 通信有问题