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}

     

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

    钉钉收到的效果

     

  • 相关阅读:
    一般 武胜
    Export/Import CSV files with MySQL 武胜
    关于Python中的for循环控制语句
    Linux下libxml2的使用
    Foxit PDF Reader能有效升级日文包
    Dependency introduction
    eclipse 插件更新站点
    TypeError: 'module' object is not callable 原因分析
    ubuntu11.10 安装reportlab出现“Python.h: 没有那个文件或目录”
    Windows 7 下如何调整网卡的优先级
  • 原文地址:https://www.cnblogs.com/sky-cheng/p/10565280.html
Copyright © 2011-2022 走看看