zabbix 3.0钉钉报警配置
配置钉钉机器人 获取钉钉webhook
钉钉拉人创建钉钉报警群,然后在钉钉报警群设置中 添加机器人
添加机器人–选择自定义
复制获取机器人的webhook(留着必有大用!!!)
钉钉报警脚本(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
actionURL": "" #双引号内可以加自己用的zabbixURL或者其他URL地址
测试脚本问题
python dingding.py 报警 测试
注意:若提示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端配置监控
管理–报警媒介类型–创建媒介类型
#脚本名称必须与服务器上脚本名称一致!!
配置–动作–创建动作
默认信息
{
告警主机:{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
}
条件
操作。 配置报警用户人选
配置保存 更新!
钉钉自定义机器人api文档 https://open-doc.dingtalk.com/microapp/serverapi2/qf2nxq