zoukankan      html  css  js  c++  java
  • zabbix5.0 设置钉钉告警

    一、新建媒介类型和 参数添加如下图:

    二、添加消息模板

    故障问题:

     参数值:

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

    故障恢复:

     

     参数值:

    ##恢复
    告警主机:{HOST.NAME}
    
    告警信息:{TRIGGER.NAME}
    
    告警项目:{ITEM.NAME}
    
    告警时间:{EVENT.DATE}_{EVENT.TIME}
    
    恢复时间:{EVENT.RECOVERY.DATE}_{EVENT.RECOVERY.TIME}
    
    当前状态:{TRIGGER.STATUS}  值={ITEM.VALUE}
    
    故障共持续{EVENT.AGE}
    
    事件ID:{EVENT.ID}

    还有其他选项供你选择,可视自己情况添加:

     三、利用脚本传参发送至钉钉(这里利用的是python2)

    如果环境是python3的需要更改一下脚本格式

    dnf install python2
    dnf install python2-requests



    vim /usr/local/share/zabbix/alertscripts/dingding.py
    #!/usr/bin/env python2
    #coding:utf-8
    #zabbix钉钉报警
    import requests,json,sys,os,datetime
    webhook="https://oapi.dingtalk.com/robot/send?access_token=XXXXXXXX"
    user=sys.argv[1]
    text=sys.argv[3]
    data={
        "msgtype": "text",
        "text": {
            "content": text
        },
        "at": {
            "atMobiles": [
                user
            ],
            "isAtAll": False
        }
    }
    headers = {'Content-Type': 'application/json'}
    x=requests.post(url=webhook,data=json.dumps(data),headers=headers)
    if os.path.exists("/usr/local/zabbix/log/dingding.log"):
        f=open("/usr/local/zabbix/log/dingding.log","a+")
    else:
        f=open("/usr/local/zabbix/log/dingding.log","w+")
    f.write("
    "+"--"*30)
    if x.json()["errcode"] == 0:
        f.write("
    "+str(datetime.datetime.now())+"    "+str(user)+"    "+"发送成功"+"
    "+str(text))
        f.close()
    else:
        f.write("
    "+str(datetime.datetime.now()) + "    " + str(user) + "    " + "发送失败" + "
    " + str(text))
        f.close()

    创建日志文件并授权写

      mkdir /usr/local/zabbix/log/
    vim  /usr/local/zabbix/log/dingding.log

    chmod 766 /usr/local/zabbix/log/dingding.log

    测试发送

    /usr/local/share/zabbix/alertscripts/dingding.py 15xxxxxx  监控 '监控'

      cat /usr/local/zabbix/log/dingding.log
    2020-09-08 10:35:16.814385 15xxxxxxxx 发送成功
    监控

     

    四、编辑用户动作

     都设置完成后回到媒体介质类型点击测试,看是否发送成功

    网友的钉钉报警设置:

    1,申请钉钉账号,登录账号。
    2,创建一个告警群组,添加一个机器人。

    记录下来这个webhook地址。把他填上去脚本webhook=后面

  • 相关阅读:
    ASP.NET 4.0的ClientIDMode属性
    关于sql链接超时的问题
    Image.Url 无法使用 Server.MapPath(使用后无论如何也不显示)
    C# 中字符串转换成日期
    Linux RAID 磁盘管理
    脚本编写
    挂载一个NFS共享
    配置NFS服务
    配置多用户SMB挂载
    通过 SMB 共享目录
  • 原文地址:https://www.cnblogs.com/suixinnan/p/13672939.html
Copyright © 2011-2022 走看看