zoukankan      html  css  js  c++  java
  • zabbix 利用python脚本实现钉钉告警

    Zabbix 利用python脚本实现钉钉告警

    1、安装python3.6环境

    2、创建python脚本

    cd local/zabbix-4.0.3/share/zabbix/alertscripts/

    新建一个zabbix_dingding.py文件

    vi zabbix_dingding.py

    //修改文件所有者为zabbix

    chown zabbix.zabbix zabbix_dingding.py

    //设置所有者为7权限

    chmod 744 zabbix_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="https://oapi.dingtalk.com/robot/send?access_token=abec8a22f6fdfc458e9ecdd922ae2349bcbf862bfaa7f6b15c71f80fd6fc9ff1"

    def msg(text):

        json_text= {

         "msgtype": "text",

            "text": {

                "content": text

            },

            "at": {

                "atMobiles": [

                    "atMobiles":[13xxxxxxxx,186xxxxxxxx]  

                ],

                "isAtAll": False

            }

        }

        requests.post(api_url,json.dumps(json_text),headers=headers).content

    if __name__ == '__main__':

        text = sys.argv[1]

        msg(text)

     

    3、zabbix管理后台,创建一个新的媒介类型叫钉钉

     

     脚本参数为{ALERT.MESSAGE}

    4、为用户添加钉钉媒介类型

     

     5为需要钉钉告警的触发器创建新的动作

     

    6、设置触发条件后,转“操作”

     

    消息内容为:

    ##告警
    主机名称:{HOST.NAME}
    IP地址 :{HOST.IP}
    告警时间:{EVENT.DATE} {EVENT.TIME}
    告警信息:{TRIGGER.NAME}
    告警级别:{TRIGGER.SEVERITY}
    检查项 :{TRIGGER.KEY1}
    当前状态:{TRIGGER.STATUS}
    值={ITEM.LASTVALUE}
    故障已持续{EVENT.AGE}

     

    7、设置好”操作”后,再转”恢复操作”

      消息内容为:

    ##恢复

    主机名称:{HOST.NAME}
    IP地址 :{HOST.IP}
    告警时间:{EVENT.DATE} {EVENT.TIME}
    恢复时间:{EVENT.RECOVERY.DATE} {EVENT.RECOVERY.TIME}
    故障时长:{EVENT.AGE}
    告警信息:{TRIGGER.NAME}
    告警级别:{TRIGGER.SEVERITY}
    检查项 :{TRIGGER.KEY1}
    当前状态:{TRIGGER.STATUS}
    值={ITEM.VALUE}

     

    动作设置完毕,就可以测试了

    钉钉收到的效果

     

  • 相关阅读:
    取球游戏
    初来乍到
    大臣的旅费
    【转载】.NET Core微服务架构学习与实践系列文章索引目录
    【转载】直接拿来用,最火的.NET开源项目
    C# For Demo
    【转载】快速序列化组件MessagePack介绍
    【转载】C# 网上收集的一些所谓的开源项目
    【转载】为了拿捏 Redis 数据结构,我画了 40 张图(完整版)
    【转载】Identity Server 4 从入门到落地(七)—— 控制台客户端
  • 原文地址:https://www.cnblogs.com/sky-cheng/p/10565280.html
Copyright © 2011-2022 走看看