zoukankan      html  css  js  c++  java
  • zabbix监控钉钉报警

    1. bash脚本
    #!/bin/bash
    to=$1
    subject=$2
    text=$3
    
    #此处的 xxxxx 就是刚刚复制存留的 api 接口地址。
    curl -i -X POST 
    'https://oapi.dingtalk.com/robot/send?access_token=4d760f4ca44280a2d2959191f50a6f36ac1101b032edbff69acae1bea4beffcb' 
    -H 'Content-type':'application/json' 
    -d '
    {
      "msgtype": "text",
         "text": {
            "content": "'监控报警:''"$text"'"
            },
      "at":{
        "atMobiles":[
          "'"$1"'"
          ],
      "isAtAll":false
       } 
    }'
    
    2. python脚本
    #!/usr/bin/env python
    #coding:utf-8
    #zabbix钉钉报警
    import requests,json,sys,os,datetime
    webhook="https://oapi.dingtalk.com/robot/send?access_token=2b90881c7be855d0bcd694b38e75643a97031758782e5fad28be5cde110379b8"
    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("/var/log/zabbix/ingding.log"):
        f=open("/var/log/zabbix/dingding.log","a+")
    else:
        f=open("/var/log/zabbix/ingding.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()
    
    3. 编辑zabbix_server.conf
        AlertScriptsPath=/etc/zabbix/scripts
        脚本上传到/etc/zabbix/scripts目录下面
    
    4. zabbix界面配置报警媒介
    

     

    5. bash脚本配置
        选择脚本-->脚本名-->添加参数
        {ALERT.SENDTO}
        {ALERT.SUBJECT}
        {ALERT.MESSAGE}
    

    6. python脚本配置和bash一样    
    

    7. go脚本配置
        --accesstoken=
        --message={ALERT.MESSAGE}
    

    8. go语言脚本
        链接:https://pan.baidu.com/s/1fpnFkUdPqewQYC80y1a-nw 
        提取码:1234 
        复制这段内容后打开百度网盘手机App,操作更方便哦
    
    9. 配置动作,操作消息内容
        标题:
        (故障{TRIGGER.STATUS},服务器:{HOSTNAME1}发生: {TRIGGER.NAME}故障!)
        消息:
        告警主机:{HOSTNAME1}
        告警时间:{EVENT.DATE} {EVENT.TIME}
        告警等级:{TRIGGER.SEVERITY}
        告警信息: {TRIGGER.NAME}
        告警项目:{TRIGGER.KEY1}
        问题详情:{ITEM.NAME}:{ITEM.VALUE}
        当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}
        事件 ID:{EVENT.ID}
    
    10. 恢复消息
        主题:
        恢复{TRIGGER.STATUS}, 服务器:{HOSTNAME1}: {TRIGGER.NAME}已恢复!
        消息:
        告警主机:{HOSTNAME1}
        告警时间:{EVENT.DATE} {EVENT.TIME}
        告警等级:{TRIGGER.SEVERITY}
        告警信息: {TRIGGER.NAME}
        告警项目:{TRIGGER.KEY1}
        问题详情:{ITEM.NAME}:{ITEM.VALUE}
        当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}
        事件 ID:{EVENT.ID}
    

  • 相关阅读:
    从win到多系统
    markdown编辑器抉择经历(做笔记多系统用户)
    最新的hosts
    Hosts 长期更新【已停】
    设备选型(选择交换机、选择路由器的技能指标)
    传输控制协议(TCP)
    数据的封装与解封装
    网络分类及OSI七层模型
    第一课 IP通信
    Twilio收发短信笔记
  • 原文地址:https://www.cnblogs.com/The-day-of-the-wind/p/14393419.html
Copyright © 2011-2022 走看看