• 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=后面

  • 相关阅读:
    Flex 布局:语法
    Sublime Text常用快捷键
    WebStorm快捷键操作
    获取token
    Oracle杂记
    YKT文件解析
    杂记_ 关键字
    Python Web 性能和压力测试 multi-mechanize
    详细介绍windows下使用python pylot进行网站压力测试
    python文件和目录操作方法大全
  • 原文地址:https://www.cnblogs.com/suixinnan/p/13672939.html
Copyright © 2020-2023  润新知