钉钉机器人报警

一、钉钉机器人配置

1.1 准备机器人

1.在右上角点击机器人

钉钉机器人报警_第1张图片

2.添加自定义机器人

钉钉机器人报警_第2张图片

3.将webhook内容保存下来

钉钉机器人报警_第3张图片

1.2 编写机器人发送消息脚本dingtalk.py

#!/usr/bin/env python3

import json
import requests
import sys


def send_msg(url, reminders, msg):
    headers = {'Content-Type': 'application/json;charset=utf-8'}
    data = {
        "msgtype": "text",  # 发送消息类型为文本
        "at": {
            "atMobiles": reminders,
            "isAtAll": False,   # 不@所有人
        },
        "text": {
            "content": msg,   # 消息正文
        }
    }
    r = requests.post(url, data=json.dumps(data), headers=headers)
    return r.text

if __name__ == '__main__':
    msg = sys.argv[1]
    reminders = []
    url = 'https://oapi.dingtalk.com/robot/send?access_token=37eef7fa8fd14bed5a76f240486ff9c8bce7d813d0f9c315dc2f2837c0ffbe37'
    print(send_msg(url, reminders, msg))

1.3 测试机器人自动发送消息脚本

alertscripts]# python3 dingtalk.py 'hello world!'

钉钉机器人报警_第4张图片

二、zabbix配置

alertscripts]# vim /usr/local/etc/zabbix_server.conf  

AlertScriptsPath=/usr/local/share/zabbix/alertscripts/     //配置脚本路径     

alertscripts]#   killall zabbix_server   

alertscripts]#   zabbix_server                                               //重启服务

alertscripts]# ls

dingtalk.py                                                                           // 把dingtalk.py放到这个目录下

2.1 创建报警媒介

2.2 绑定到用户

2.3 创建动作

内容如下:

服务器:{HOST.NAME}发生: {TRIGGER.NAME}故障!

{

告警主机:{HOST.NAME}

告警地址:{HOST.IP}

监控项目:{ITEM.NAME}

监控取值:{ITEM.LASTVALUE}

告警等级:{TRIGGER.SEVERITY}

当前状态:{TRIGGER.STATUS}

告警信息:{TRIGGER.NAME}

告警时间:{EVENT.DATE} {EVENT.TIME}

事件ID:{EVENT.ID}

}

  

服务器:{HOST.NAME}: {TRIGGER.NAME}已恢复!

{

告警主机:{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}

}

  

服务器:{HOST.NAME}: 报警确认

{

确认人:{USER.FULLNAME} 

时间:{ACK.DATE} {ACK.TIME} 

确认信息如下:

"{ACK.MESSAGE}"

问题服务器IP:{HOSTNAME1}

问题ID:{EVENT.ID}

当前的问题是: {TRIGGER.NAME}

}

依次对恢复和确认操作设置

钉钉收到消息:

钉钉机器人报警_第5张图片

 

 

 

你可能感兴趣的:(#,Python学习之路)