Zabbix 企业微信告警

  1. 1. 1. 编辑 zabbix_server.conf 配置 zabbix 告警脚本路径
  2. 2. 2. 创建发送消息脚本
  3. 3. 3. 进入 zabbix 主界面配置
    1. 3.1. 报警媒介类型
    2. 3.2. 用户 -> 报警媒介
    3. 3.3. 动作 -> 操作
    4. 3.4. 动作 -> 恢复操作

1. 编辑 zabbix_server.conf 配置 zabbix 告警脚本路径

1
AlertScriptsPath=/usr/local/share/zabbix/alertscripts/

2. 创建发送消息脚本

  • 编写脚本 vim wechat.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#!/usr/bin/env python
#coding=utf-8
import requests
import json
import os
import sys
# 基本信息
CropID = 'xxxxxxxxxx'
Secret = 'xxxxxxxxxx'
agentid = 'xxxxxxxxx'
touser = 'xxxxxxxxxx'
# 获取Token
GetToken ="https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid="+ CropID + "&corpsecret=" + Secret
headers = {'Content-Type': 'application/json'}
json_data = json.loads(requests.get(GetToken).content.decode())
token = json_data["access_token"]
# 消息发送接口
Purl = "https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=" + token
# 消息发送函数
def sendmsg(message):
weixin_msg = {
"touser" : "TangYingJie",
"msgtype" : "text",
"agentid" : 1000002,
"text" : {
"content" : message
},
}
print requests.post(Purl,json.dumps(weixin_msg),headers=headers)

if __name__ == '__main__':
message = sys.argv[1] #获取第二个参数
sendmsg(message)
  • 测试脚本发送消息
1
./wechat.py 测试消息

3. 进入 zabbix 主界面配置

报警媒介类型

用户 -> 报警媒介

动作 -> 操作

  • 默认接收人
1
{TRIGGER.STATUS} : {TRIGGER.NAME}
  • 默认信息
1
2
3
4
5
6
7
8
9
10
当前状态 : {TRIGGER.STATUS}
告警主机 : {HOST.NAME}
告警地址 : {HOST.IP}
告警时间 : {EVENT.DATE} {EVENT.TIME}
告警等级 : {TRIGGER.SEVERITY}
告警信息 : {TRIGGER.NAME}
监控取值 : {ITEM.VALUE}
监控项目 : {ITEM.NAME}
持续时间 : {EVENT.AGE}
事件ID : {ITEM.ID}

动作 -> 恢复操作