zabbix教程4-Zabbix实现钉钉报警

1.新建钉钉机器人

首先要创建钉钉群,然后在智能群助手中添加机器人。


配置机器人名称

如果定义关键词,那么后期调用脚本时报警内容就必须包含关键词才会真正报警
2.新建报警脚本
# vim /etc/zabbix/zabbix_server.conf  \\打开zabbix-server配置文件查看配置
# AlertScriptsPath=/usr/lib/zabbix/alertscripts  \\此配置表示自定义脚本的存放目录

切换到/usr/lib/zabbix/alertscripts目录中,新建dingding.py脚本

# cd /usr/lib/zabbix/alertscripts
dingding.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 = "xxxxxxxxxxx复制钉钉机器人的webhook到这里就可以了xxxxxxxxxxxxxxxxx"

def msg(text):
    json_text= {
     "msgtype": "text",
        "text": {
            "content": text
        },
        "at": {
            "atMobiles": [
                "xxxx手机号"   \\手机号填哪个就默认会艾特哪个
            ],
            "isAtAll": False
        }
    }
    print requests.post(api_url,json.dumps(json_text),headers=headers).content
 
if __name__ == '__main__':
    text = sys.argv[1]
    msg(text)
3.新建媒介类型
新建媒介类型
媒介类型配置
创建动作

动作配置可以添加条件,可以只选择某个触发器报警,也可以选择多个触发器报警


动作配置
动作-操作-添加报警信息模板
故障告警类型-注意看黄色标注为添加机器人时增加的关键词信息
当故障恢复时也可以实现报警通知
信息模板:

操作:

主题:服务器:{HOST.NAME}发生: {TRIGGER.NAME}故障!
消息:{
TIANYI
服务器:{HOST.NAME}发生: {TRIGGER.NAME}故障!
告警主机:{HOST.NAME}
告警信息:{TRIGGER.NAME}
告警项目:{ITEM.NAME} 
告警时间:{EVENT.DATE}_{EVENT.TIME}
当前状态:故障  值={ITEM.VALUE}
故障已持续{EVENT.AGE},请尽快处理
事件ID:{EVENT.ID}
}

恢复操作:

 服务器:{HOST.NAME}: {TRIGGER.NAME}已恢复!
{
TIANYI
服务器:{HOST.NAME}: {TRIGGER.NAME}已恢复!
告警信息:{TRIGGER.NAME}
告警项目:{ITEM.NAME}
告警时间:{EVENT.DATE}_{EVENT.TIME}
恢复时间:{EVENT.RECOVERY.DATE}_{EVENT.RECOVERY.TIME}
当前状态:{TRIGGER.STATUS}  值={ITEM.VALUE}
故障共持续{EVENT.AGE}
事件ID:{EVENT.ID}
}
实现告警
钉钉告警

你可能感兴趣的:(zabbix教程4-Zabbix实现钉钉报警)