zabbix 3.0钉钉报警配置

配置钉钉机器人 获取钉钉webhook

钉钉拉人创建钉钉报警群,然后在钉钉报警群设置中 添加机器人
zabbix 3.0钉钉报警配置
添加机器人–选择自定义

zabbix 3.0钉钉报警配置
复制获取机器人的webhook(留着必有大用!!!)
zabbix 3.0钉钉报警配置

钉钉报警脚本(python2.7)

脚本存放目录 /usr/local/zabbix/share/zabbix/alertscripts/

编写脚本, 使用centos自带的python 2.7, 其中只需修改api_url,就是刚才我们复制获取的webhook

#!/usr/bin/python2
# -*- coding: utf-8 -*-
import requests
import json
import sys
import os
headers = {'Content-Type': 'application/json;charset=utf-8'}
api_url = "https://oapi.dingtalk.com/robot/send?access_token=*******45bea70996a4cc37b917ec7d8a110274627917fa08c37"。 #上述webhook
def msg(text, subject):
 json_text= {
"actionCard": {
"title": subject,
"text": text,
"hideAvatar": "0",
"btnOrientation": "0",
"btns": [{"title": subject[:12],
"actionURL": ""
}
]
},
"msgtype": "actionCard"
}
 print(requests.post(api_url,json.dumps(json_text),headers=headers).content)
if __name__ == '__main__':
 text = sys.argv[1]
text = text.replace("", "")
subject = sys.argv[2]
msg(text, subject)

保存后, 加执行权限

chmod +x dingding.py

测试脚本问题

 python dingding.py  报警  测试

zabbix 3.0钉钉报警配置
zabbix 3.0钉钉报警配置
注意:若提示Python ImportError: No module named ‘requests’ 是没有requests模块。
解决办法

pip install requests 

若不能使用pip 则:

yum -y install epel-release。#安装epel扩展源
 yum -y install python-pip   #安装pip
然后在用pip install requests   安装该模块

Zabbix web端配置监控

管理–报警媒介类型–创建媒介类型

#脚本名称必须与服务器上脚本名称一致!!
zabbix 3.0钉钉报警配置

配置–动作–创建动作
zabbix 3.0钉钉报警配置

默认信息

{
告警主机:{HOST.NAME}
告警地址:{HOST.IP}
监控项目:{ITEM.NAME}
监控取值:{ITEM.LASTVALUE}
告警等级:{TRIGGER.SEVERITY}
当前状态:{TRIGGER.STATUS}
告警信息:{TRIGGER.NAME}
告警时间:{EVENT.DATE} {EVENT.TIME}
事件ID:{EVENT.ID}
}
{
报警ing
}

恢复信息

{
告警主机:{HOST.NAME}
告警地址:{HOST.IP}
监控项目:{ITEM.NAME}
监控取值:{ITEM.LASTVALUE}
告警等级:{TRIGGER.SEVERITY}
当前状态:{TRIGGER.STATUS}
告警信息:{TRIGGER.NAME}
告警时间:{EVENT.DATE} {EVENT.TIME}
恢复时间:{EVENT.RECOVERY.DATE} {EVENT.RECOVERY.TIME}
持续时间:{EVENT.AGE}
事件ID:{EVENT.ID}
}
{
报警 end
}

条件

zabbix 3.0钉钉报警配置

操作。 配置报警用户人选
zabbix 3.0钉钉报警配置
zabbix 3.0钉钉报警配置

配置保存 更新!

钉钉自定义机器人api文档 https://open-doc.dingtalk.com/microapp/serverapi2/qf2nxq