最近在给内部使用的zabbix配置告警发送,要求是使用企业微信群聊机器人发送告警信息到群里,因为企业号和公众号需要的开发信息较多,又不好找,而配置机器人发送告警只需要机器人的webhook地址即可。
步骤:
1、 在zabbix告警目录新建wxrobot.py脚本
vi /usr/local/zabbix/share/zabbix/alertscripts/wxrobot.py
粘贴以下内容:
#!/usr/bin/python
#-- coding: utf-8 --
import requests
import json
import sys
import os
headers = {'Content-Type': 'application/json;charset=utf-8'}
api_url = " 复制群聊机器人Webhook地址到这"
def msg(text):
json_text= {
"msgtype": "text",
"text": {
"content": text
},
}
print requests.post(api_url,json.dumps(json_text),headers=headers).content
if name == 'main':
text = sys.argv[1]
msg(text)
保存退出
需要安装python插件库: pip install requests
授权和更改权限:
chmod +x *.py
chown zabbix:zabbix *.py
2.Zabbix页面配置,新增告警媒介
配置动作
配置—动作—创建动作,事件源 选择 触发器
1、点击右上角,“ 创建动作 ” 填写对应的信息;在动作页面填写以下信息,这里例子为以主机内存使用率超过90%为例,
计算方式:
条件A:主机群组等于 Linux Servers;
条件B:触发器等于linux模板的物理内存使用率持续3分钟等于90%。
2、切换到操作
操作:也就是在符合动作里面配置好的条件时,做出对应的动作,具体的操作说明,请参考官网指导文档,填写好信息,然后点击操作细节里面的添加
1、 恢复操作配置
到这就触发器告警企业微信群机器人发送配置完成了,动作日志可以在
报表 – 动作日志 页面查看
附上格式配置,参数说明和其他的格式,请参考 使用宏
操作发送消息内容
恢复操作发送消息内容
问题:{EVENT.NAME}
告警信息:{TRIGGER.NAME}
告警地址:{HOST.NAME}
监控项目:{ITEM.NAME}
监控取值:{EVENT.VALUE}
告警严重性:{EVENT.SEVERITY}
当前状态:{EVENT.STATUS}
告警时间:{EVENT.DATE} {EVENT.TIME}
事件ID:{EVENT.ID}
告警信息:{TRIGGER. NAME}
告警地址:{HOST.NAME}
监控项目:{ITEM.NAME}
监控取值:{EVENT.RECOVERY.VALUE}
告警严重性:{EVENT.SEVERITY}
当前状态:{EVENT.RECOVERY.STATUS}
告警时间:{EVENT.DATE} {EVENT.TIME}
恢复时间:{EVENT.RECOVERY.TIME}
持续时间:{EVENT.AGE}
事件ID:{EVENT.RECOVERY.ID}
来源:51CTO
作者:Zabbix_Z大叔
链接:https://blog.51cto.com/14483703/2481984