Skip to content

收集所有的告警数据到数据库中并展示出来

Notifications You must be signed in to change notification settings

xudingjun3131/alertmanager

Repository files navigation

alertmanager

收集所有的告警数据到数据库中并展示出来


背景:
有个标准的三件套,grafana+prometheus+alertmanager,现在告警是发送到钉钉或者邮件上,一条一条的,尤其故障发生的时候,看消息总是不清晰直观,所以想展示一个显示所有告警看板的功能。
使用prometheus自带的ALERT和ALERT_FOR_STATE函数,发现展示效果不佳,于是使用有一个插件,发现也是不太好事。尤其是我们使用了grafana8后,很多插件也不兼容了。
最后决定自己写一个功能出来完成这个设计。
于是想到把所有的数据存到数据库中来展示就可以了。

所以先设计了一个表,见alertmanager.sql,然后写了一个alertmanager.py来获取alertmanager的告警接口数据并存入到mysql中。
软件:
python3,
需要安装一个mysql的包,pip install mysqlclient
mysql 5.7

操作步骤:

  • 安装mysql,执行alertmanager.sql
  • pip install -r requirements.txt
  • 修改alertmanager.service里面的python路径和py文件路径,然后执行下面的命令启动服务
  • 修改alertmanager.py中的alertmanager_api_url_list = ['https://alertmanager.xxxx.com/api/v2/alerts', 'https://alertmanager2.xxxx.com/api/v2/alerts']
  • cp alertmanager.service /usr/lib/systemd/system && systemctl daemon-reload && systemctl enable alertmanager && systemctl start alertmanager
  • 导入alertmanger-grafana,json到grafana看板即可

最后grafana效果如下:

About

收集所有的告警数据到数据库中并展示出来

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages