zabbix監控機器資源,經過企業微信報警

在公司當中,通常報警無非就是郵件,短信,微信,以及釘釘,
今天咱們使用企業微信來實現一下,這個比較常見,並且實用python

首先須要一個python腳本,放在zabbix-server的目錄下面
連接:https://pan.baidu.com/s/1W-oORtJHHR6MSiSiDOpvdw
提取碼:aaaajson

zabbix監控機器資源,經過企業微信報警
zabbix監控機器資源,經過企業微信報警

在企業微信後臺開始建立一個第三方應用
zabbix監控機器資源,經過企業微信報警
zabbix監控機器資源,經過企業微信報警
而後編寫腳本api

腳本內容服務器

」「」
#!/usr/bin/python2.7
#_coding:utf-8 _
import requests,sys,json
import urllib3
urllib3.disable_warnings()
reload(sys)
sys.setdefaultencoding('utf-8')
def GetToken(Corpid,Secret):
Url = "https://qyapi.weixin.qq.com/cgi-bin/gettoken"
Data = {
"corpid":Corpid,
"corpsecret":Secret
}
r = requests.get(url=Url,params=Data,verify=False)
Token = r.json()['access_token']
return Token
def SendMessage(Token,User,Agentid,Subject,Content):
Url = "https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=%s" % Token
Data = {
"touser": User, # 企業號中的用戶賬號,在zabbix用戶Media中配置,若是配置不正常,將按部門發送。
#"totag": Tagid, # 企業號中的部門id,羣發時使用。
"msgtype": "text", # 消息類型。
"agentid": Agentid, # 企業號中的應用id。
"text": {
"content": Subject + '\n' + Content
},
"safe": "0"
}
r = requests.post(url=Url,data=json.dumps(Data),verify=False)
return r.text
if name == 'main':
User = sys.argv[1] # zabbix傳過來的第一個參數
Subject = sys.argv[2] # zabbix傳過來的第二個參數
Content = sys.argv[3] # zabbix傳過來的第三個參數
Corpid = "ww71ccca3d6964cf" # CorpID是企業號的標識
Secret = "u9djyHMjQM7d5sjw8kYyWEg0ppnbDIkP1gzWeI" # Secret是管理組憑證密鑰
#Tagid = "2" # 通信錄標籤ID
User = "LiXiaoFeng" #指定用戶名
Agentid = "1000005" # 應用ID
Token = GetToken(Corpid, Secret)
Status = SendMessage(Token,User,Agentid,Subject,Content)
print Status微信

「」「python2.7

配置完成以後測試一下ide

zabbix監控機器資源,經過企業微信報警
zabbix監控機器資源,經過企業微信報警

接下來開始配置一下zabbixpost

流程是:一、報警媒介配置測試

zabbix監控機器資源,經過企業微信報警
zabbix監控機器資源,經過企業微信報警
注意下面要填寫的腳本參數:
{ALERT.SENDTO}
{ALERT.SUBJECT}
{ALERT.MESSAGE}url

二、用戶
zabbix監控機器資源,經過企業微信報警
zabbix監控機器資源,經過企業微信報警
zabbix監控機器資源,經過企業微信報警
zabbix監控機器資源,經過企業微信報警

zabbix監控機器資源,經過企業微信報警

三、動做

zabbix監控機器資源,經過企業微信報警
zabbix監控機器資源,經過企業微信報警
zabbix監控機器資源,經過企業微信報警
故障:{TRIGGER.STATUS},服務器:{HOSTNAME1}發生:{TRIGGER.NAME}故障!

告警主機:{HOST.NAME}
告警地址:{HOST.IP}
監控項目:{ITEM.NAME}
監控取值:{ITEM.LASTVALUE}
告警等級:{TRIGGER.SEVERITY}
當前狀態:{TRIGGER.STATUS}
告警信息:{TRIGGER.NAME}
告警時間:{EVENT.DATE} {EVENT.TIME}
持續時間:{EVENT.AGE}
事件ID:{EVENT.ID}

zabbix監控機器資源,經過企業微信報警

恢復:{TRIGGER.STATUS}, 服務器:{HOSTNAME1}:{TRIGGER.NAME}已恢復!

告警主機:{HOST.NAME}
告警地址:{HOST.IP}
監控項目:{ITEM.NAME}
監控取值:{ITEM.LASTVALUE}
告警等級:{TRIGGER.SEVERITY}
當前狀態:{TRIGGER.STATUS}
告警信息:{TRIGGER.NAME}
告警時間:{EVENT.DATE} {EVENT.TIME}
恢復時間:{EVENT.RECOVERY.DATE} {EVENT.RECOVERY.TIME}
持續時間:{EVENT.AGE}
事件ID:{EVENT.ID}

zabbix監控機器資源,經過企業微信報警
默認接收人 = 服務器:{HOST.NAME}: {TRIGGER.NAME}已恢復!

告警主機:{HOST.NAME}
告警地址:{HOST.IP}
監控項目:{ITEM.NAME}
監控取值:{ITEM.LASTVALUE}
告警等級:{TRIGGER.SEVERITY}
當前狀態:{TRIGGER.STATUS}
告警信息:{TRIGGER.NAME}
告警時間:{EVENT.DATE} {EVENT.TIME}
恢復時間:{EVENT.RECOVERY.DATE} {EVENT.RECOVERY.TIME}
持續時間:{EVENT.AGE}
事件ID:{EVENT.ID}

zabbix監控機器資源,經過企業微信報警
zabbix監控機器資源,經過企業微信報警
這裏已經相互關聯了,能夠測試一下了,看看效果
【備註】若是這裏收不到信息,客戶換個用戶在測試一下,好比使用admin用戶,若是能夠說明配置的帳號有問題,須要調整,我在這裏有遇到問題

zabbix監控機器資源,經過企業微信報警

zabbix監控機器資源,經過企業微信報警

說明已經成功
zabbix監控機器資源,經過企業微信報警

zabbix監控機器資源,經過企業微信報警

相關文章
相關標籤/搜索