zabbix5.0企業微信報警


  • 先去申請企業微信,要以管理員的權限創建機器人,建完機器人后會有一串webhook,類似這種
https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=xxxxxxxx509-4f42-xxxxxxxx
  • 測試這個鈎子能不能用,具體使用方法可以看微信機器人文檔
https://work.weixin.qq.com/help?doc_id=13376
  • 看完機器人文檔后,需要寫個python腳本調用這個鈎子機器人,這個腳本放在/usr/lib/zabbix/alertscripts/目錄下(注意服務器上要安裝python3環境!
#!/usr/local/python3/bin/python3
# coding:utf-8
# zabbix企業微信報警
import requests, json, sys, os, datetime

#微信鈎子機器人地址
webhook = "https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=xxxxxxxxxxxxxxxxxxxxxxxxxxx"

#zabbix傳過來的三個變量
user = sys.argv[1]
title = sys.argv[2]
text = sys.argv[3]

#每發送一次報警,就記一次日志
file = r"/var/log/zabbix/send2wechat.log"

#報警的信息
data = {
    "msgtype": "markdown",
    "markdown": {
        "content": title + "\n" + text
    }
}

#請求這個鈎子機器人
headers = {'Content-Type': 'application/json'}
x = requests.post(url=webhook, data=json.dumps(data), headers=headers)
if os.path.exists(file):
    f = open(file, "a+")
else:
    f = open(file, "w+")
    f.write(" " + " - -" * 30)
    f.write("\n")
    
#記錄日志
if x.json()["errcode"] == 0:
    f.write(" "+ str(datetime.datetime.now()) + " " + str(user) + " " + "發送成功" + " " + str(title) + "\n")
    f.close()
else:
    f.write(" "+ str(datetime.datetime.now()) + " " + str(user) + " " + "發送失敗" + " " + str(title) + "\n")
    f.close()  
  • 去zabbix頁面創建報警類型

    • 腳本名稱就是剛才創建的python腳本

    • 故障報警信息(#和>都需要打上,markdown標記):
# 服務故障: <font color="warning">{EVENT.NAME}</font>
{
> 告警主機: **{HOST.NAME}**
> 主機地址: **{HOST.IP}**
> 監控項目: {ITEM.NAME}
> 當前取值: {ITEM.LASTVALUE}
> 告警等級: {TRIGGER.SEVERITY}
> 告警時間: {EVENT.DATE}-{EVENT.TIME}
> 事件ID: {EVENT.ID}
}
    • 類似這樣

    •  故障恢復信息(#和>都需要打上,markdown標記):
# 故障恢復: <font color="info">{EVENT.NAME}</font>
{
> 主機名稱: **{HOST.NAME}**
> 主機地址: **{HOST.IP}**
> 告警名稱: {EVENT.NAME}
> 持續時長: {EVENT.DURATION}
> 恢復時間: {EVENT.RECOVERY.DATE}-{EVENT.RECOVERY.TIME}  
> 當前狀態: {TRIGGER.STATUS}
> 當前取值: {ITEM.LASTVALUE}
> 事件ID: {EVENT.ID}
}
    • 類似這樣

  • 創建發送報警的用戶

 

 

 ***用戶的報警媒介這必須加上剛剛創建的媒介,不然消息發不出去

 

 

  •  創建觸發器動作

 

    • 條件是所有報警動作都觸發條件

 

 

 

 

  •  觸發器和監控項自己去創建,之后搞掛一個服務,企業微信上就會收到消息了

  

 

  •  zabbix服務器上的監控腳本日志

 

 

 --------------------------

根據限定條件,把領導想看的報警發到他們自己群里

依照上面的博客,在創建一個報警媒介

 

 

 在用戶里面需要把剛剛創建的媒介也加上去

 

 

添加觸發器動作,第二個動作限定好條件,這樣再發消息,領導就能看到他想看到的了

 

 

 

  

  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM