• 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}
    

  • 相关阅读:
    集群技术
    Docker Swarm(一)
    服务器集群
    生产环境swarm集群规划和管理
    集群的分类
    Arcengine C#开发源码
    BIOS设置中开启cpu睿频功能
    aida64怎么用?aida64最详细的使用教程
    SQL Server2019最大并行度
    IIS 之 在IIS7、IIS7.5中应用程序池最优配置方案
  • 原文地址:https://www.cnblogs.com/The-day-of-the-wind/p/14393419.html
Copyright © 2020-2023  润新知