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}

     

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

    钉钉收到的效果

     

  • 相关阅读:
    富数据控件 DetailsView 和 FormView
    富数据控件 LstView(模版、分组)
    ADO.NET 基础(事务、通用的数据工厂)
    文件和流(使用流读写文件)
    ASP.NET 状态管理(Application)
    根据定制的 XML 文件进行随机抽取节
    缓存(缓存依赖)
    文件浏览器
    ASP.NET 状态管理(cookie、Session)
    使用HtmlControl动态创建一个表格
  • 原文地址:https://www.cnblogs.com/sky-cheng/p/10565280.html
Copyright © 2011-2022 走看看