使用Zabbix實現釘釘告警

      釘釘在企業運用中已經比較廣泛,且使用郵件等發送告警效果不是很理想,而且釘釘也支持這個功能,所以使用釘釘來告警是一個不錯的選擇。

Zabbix實現釘釘告警

第一步:釘釘建立羣聊(已有羣的跳過)

在這裏插入圖片描述

第二步:添加羣機器人

在這裏插入圖片描述在這裏插入圖片描述
在這裏插入圖片描述在這裏插入圖片描述在這裏插入圖片描述

第三步:配置zabbix-server

~]# yum install -y python-requests            #腳本中會用到的一個模塊
~]# cat /usr/local/zabbix/etc/zabbix_server.conf | grep -Ev "#|^$"		
    ...
    AlertScriptsPath=/usr/local/zabbix/etc/alertscripts        #告警腳本存放目錄,若已經配置就放到相應目錄下
    ...
  
~]# cd /usr/local/zabbix/etc
~]# mkdir alertscripts
~]# chown -R zabbix:zabbix alertscripts
 
~]# cd alertscripts
~]# cat zabbix_send_ding.py 	#告警腳本
    #!/usr/bin/env python
    # coding:utf-8
    # zabbix dingding
         
    import requests,json,sys,os,datetime
         
    webhook="https://oapi.dingtalk.com/robot/send?access_token=693f641aba0577965a70c23439cdc00f9c0e9b001fa1a1f0839d662495764937"    #釘釘機器人生成的webhook
         
    user=sys.argv[1]
    text=sys.argv[3]
         
    data={
        "msgtype": "text",
        "text": {
            "content": text
        },
        "at": {
            "atMobiles": [
                user
            ],
            "isAtAll": False
        }
    }
    headers = {'Content-Type': 'application/json'}
         
    response=requests.post(url=webhook,data=json.dumps(data),headers=headers)
         
    if os.path.exists("/usr/local/zabbix/logs/dingding.log"):
        f=open("/usr/local/zabbix/logs/dingding.log","a+")
    else:
        f=open("/usr/local/zabbix/logs/dingding.log","w+")
         
    f.write("\n"+"--"*30)
         
    if response.json()["errcode"] == 0:
        f.write("\n"+str(datetime.datetime.now())+"    "+str(user)+"    "+"發送成功"+"\n"+str(text))
        f.close()
    else:
        f.write("\n"+str(datetime.datetime.now()) + "    " + str(user) + "    " + "發送失敗" + "\n" + str(text))
        f.close()
 
~]# chmod a+x zabbix_send_ding.py 
~]# service zabbix-server restart

第四步:添加告警媒介

在這裏插入圖片描述

第五步:添加動作

在這裏插入圖片描述在這裏插入圖片描述在這裏插入圖片描述

第六步:綁定發送用戶

在這裏插入圖片描述綁定成功後即可!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章