zabbix钉钉报警

1、要在linux中安装python3

yum install -y python3(如果直接安装不上参考别的文章)

这个安装好后默认有pip3(安装好模块否则发送不到)

pip3 install requests

2、添加钉钉机器人

上面的值保存下来一会脚本要用。

3、先找到脚本存放路径

[root@bogon ~]# cat /etc/zabbix/zabbix_server.conf |grep ^AlertScriptsPath

AlertScriptsPath=/usr/lib/zabbix/alertscripts

4、创建发送到钉钉的python脚本

[root@bogon alertscripts]# vim dingding.py 

#!/usr/bin/python3
# -*- 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=c9ea0a89c14106cc5d54d5e66a29693c805aeab8e65d86629526749bf5342cb7"

def msg(text):
    json_text= {
     "msgtype": "text",
        "text": {
            "content": text
        },
        "at": {
            "atMobiles": [
                "1xxxxxxxxxxxxx"
            ],
            "isAtAll": False
        }
    }
    a=requests.post(api_url,json.dumps(json_text),headers=headers).content
    print(a)

if __name__ == '__main__':
    text = sys.argv[1]
    msg(text)

[root@bogon alertscripts]# ./dingding.py "测试"
b'{"errcode":0,"errmsg":"ok"}'

五、添加告警配置

 

 

 

 

 参数:{ALERT.MESSAGE}

 

 

 

 

 

 

 

 

 

 

操作

默认接收人:告警等级:{TRIGGER.SEVERITY} 主机:{HOSTNAME1} {TRIGGER.NAME}
默认信息:
告警主机:{HOSTNAME1}
告警信息:{TRIGGER.NAME}
告警等级:{TRIGGER.SEVERITY}
告警项目:{ITEM.NAME}
告警时间:{EVENT.DATE}_{EVENT.TIME}
当前状态:故障 值={ITEM.VALUE1}
故障已持续{EVENT.AGE},请尽快处理
事件ID:{EVENT.ID}

恢复操作

默认接收人:告警等级:故障恢复 主机:{HOSTNAME1} {TRIGGER.NAME}
默认信息:告警主机:{HOSTNAME1}
告警信息:{TRIGGER.NAME}
告警项目:{ITEM.NAME}
告警时间:{EVENT.DATE}_{EVENT.TIME}
恢复时间:{EVENT.RECOVERY.DATE}_{EVENT.RECOVERY.TIME}
当前状态:{TRIGGER.STATUS} 值={ITEM.VALUE1}
故障共持续{EVENT.AGE}
事件ID:{EVENT.ID}

 

 

 

 

 

 最后注意要在机器人上加关键字

 

 

 然后关闭agent测试即可。

 

 

posted @ 2021-03-01 15:50  物是人非a  阅读(120)  评论(0)    收藏  举报