一、创建企业微信群,并创建机器人
首先创建一个企业微信群,并在群里创建一个机器人,此时我们会获取到机器人的webhook信息。
二、编写告警脚本
2.1、登录Zabbix-server服务器,找到告警脚本调用路径
2.2、编写企业微信告警脚本,模版如下
[root@zabbix_server alertscripts]# pwd
/usr/lib/zabbix/alertscripts
[root@zabbix_server alertscripts]# cat habits_wx.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 = "https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=cxxxxxxxxxxxxxxxx" #这个是企业微信机器人生成的webhook地址,修改为你的即可。
def msg(text):
json_text= {
"msgtype": "text",
"text": {
"content": text,
"mentioned_mobile_list":["13800000000","13800000001"] #这个是企业微信机器人自动艾特群里成员,修改为群成员手机号即可。
},
}
print requests.post(api_url,json.dumps(json_text),headers=headers).content
if __name__ == '__main__':
text = sys.argv[1]
msg(text)
[root@zabbix_server alertscripts]#
2.3 、给脚本授权
[root@zabbix_server alertscripts]# chmod +x habits_wx.py
#测试发送消息
[root@zabbix_server alertscripts]# python habits_wx.py 测试
三、Zabbix前端配置告警
3.1、添加报警媒介类型
3.2、添加报价媒介
3.3、配置告警动作
按以下步骤自行配置即可
附上告警和恢复告警用到的宏,可自行选择
告警
主题:
【███系统告警███】
消息:
主机名称:{HOST.NAME}
主机IP:{HOST.IP}
告警内容: {TRIGGER.NAME}
告警等级: {TRIGGER.SEVERITY}
告警时间:{EVENT.DATE} {EVENT.TIME}
告警等级:{TRIGGER.SEVERITY}
告警信息: {TRIGGER.NAME}
告警项目:{TRIGGER.KEY1}
问题详情:{ITEM.NAME}:{ITEM.VALUE}
当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}
事件ID:{EVENT.ID}
恢复告警
主题:
【√√√恢复告警√√√】
消息:
主机名称:{HOST.NAME}
主机IP:{HOST.IP}
告警内容: {TRIGGER.NAME}
告警时间:{EVENT.DATE} {EVENT.TIME}
告警等级:{TRIGGER.SEVERITY}
告警信息: {TRIGGER.NAME}
告警项目:{TRIGGER.KEY1}
问题详情:{ITEM.NAME}:{ITEM.VALUE}
当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}
事件ID:{EVENT.ID}