起因:
公司kubernetes搭建完成,本想通过企业微信的通信录方式发送给某一个组,转念一想,如果有人离职或部门变更就要通过管理人员登录企业微信后台去修改人员信息,比较不方便,正好企业微信可以建群,每个群中可以创建机器人,就想把不同的群设置为不同的业务组,使用群机器人来接收prometheus的报警信息,这样有人员变动只需要在群中操作即可,不要太方便。
过程:
接下来说干就干,企业微信群机器人有现在的API调用文档,只有简单的curl命令调用,如果想实现由prometheus发来的数据到微信群,看来需要自己通过代码方式先把数据接收过来,然后对数据进行重新解析,最后再发送到微信群,一共需要三个步骤,接下来我们来说一说
首先在企业微信群右键单击创建机器人,获取webhook地址暂时保存。
编辑alertmanager.yml
添加webhook_configs,将数据发送到自己的接收服务器上面(本次使用flask做服务器)
接下来开发接收服务器
安装python3.6 并安装模块文件 pip3.6 install flask json
创建两个py文件,main.py sendAlert.py, main.py为主文件,启动后为监听在5000端口的服务,sendAlert.py是将main.py转发过来的数据转换成企业微信群机器可识别的数据后发送给机器人的代码,启动命令: python3.6 main.py
代码文件见github:
https://github.com/hsggj002/prometheus-flask.git
最后接收到的消息如图:
到此就完成自己开发代码将prometheus发来的数据解析成企业微信群可以识别到的数据了,之后不管部门还是人员之间的变动,只要在群里面操作就可以了,再也不用大费周章的去调企业微信的后台了。