微信告警首先注冊一個企業(yè)微信,才能實現(xiàn)微信告警。注冊地址:https://work.weixin.qq.com/ 。
創(chuàng)新互聯(lián)的客戶來自各行各業(yè),為了共同目標(biāo),我們在工作上密切配合,從創(chuàng)業(yè)型小企業(yè)到企事業(yè)單位,感謝他們對我們的要求,感謝他們從不同領(lǐng)域給我們帶來的挑戰(zhàn),讓我們激情的團(tuán)隊有機(jī)會用頭腦與智慧不斷的給客戶帶來驚喜。專業(yè)領(lǐng)域包括成都網(wǎng)站設(shè)計、成都做網(wǎng)站、電商網(wǎng)站開發(fā)、微信營銷、系統(tǒng)平臺開發(fā)。yum install -y python-requests
2). 配置python腳本
zabbix sever服務(wù)器上默認(rèn)監(jiān)控腳本目錄上創(chuàng)建wechat.py。
cd /usr/lib/zabbix/alertscripts
vim wechat.py
#!/usr/bin/env python
#-*- coding: utf-8 -*-
#author: Yu
import requests
import sys
import os
import json
import logging
# config for log
logging.basicConfig(level = logging.DEBUG, format = '%(asctime)s, %(filename)s, %(levelname)s, %(message)s',
datefmt = '%a, %d %b %Y %H:%M:%S',
filename = os.path.join('/usr/lib/zabbix/alertscripts','weixin.log'),
filemode = 'a')
# Company ID
corpid='xxxxxxx'
# secret
appsecret='xxxxxxxx'
# AgentId
agentid=xxxxxxx
#Accesstoken
token_url='https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=' + corpid + '&corpsecret=' + appsecret
req=requests.get(token_url)
accesstoken=req.json()['access_token']
# Message send
msgsend_url='https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=' + accesstoken
touser=sys.argv[1]
subject=sys.argv[2]
#toparty='3|4|5|6'
message=sys.argv[3]
params={
"touser": touser,
# "toparty": toparty,
"msgtype": "text",
"agentid": agentid,
"text": {
"content": message
},
"safe":0
}
req=requests.post(msgsend_url, data=json.dumps(params))
logging.info('sendto:' + touser + ';;subject:' + subject + ';;message:' + message)
記得給文件賦權(quán)
chown zabbix.zabbix weixin
chmod 755 weixin
3). 測試
運(yùn)行weixin.py腳本
/usr/lib/zabbix/alertscripts/weixin.py name "title test" "hello"
name:收件人賬號(登錄企業(yè)微信網(wǎng)站 - 通訊錄 - 打開某個收件人 - 賬號)
title test:標(biāo)題
hello:具體需要發(fā)送的內(nèi)容
如果沒有錯誤的話,收件人將可在手機(jī)APP企業(yè)微信上收到此消息,如下圖:
{ALERT.SENDTO}
{ALERT.SUBJECT}
{ALERT.MESSAGE}
腳本名稱必須跟zabbix server上配置/usr/lib/zabbix/alertscripts的腳本名稱一樣。
2). 創(chuàng)建用戶,添加報警媒介
管理 ----> 用戶
注:收件人填寫企業(yè)微信中通訊錄成員帳號,這里打算使用微信關(guān)聯(lián)公眾號收取報警通知信息。
3). 創(chuàng)建觸發(fā)器動作
配置 ----> 動作 ----> 動作
創(chuàng)建郵件發(fā)送動作,配置觸發(fā)條件:觸發(fā)器示警度 大于等于 警告
配置 ----> 動作 ----> 操作
默認(rèn)標(biāo)題:
故障{TRIGGER.STATUS},服務(wù)器名:{HOSTNAME1}發(fā)生: {TRIGGER.NAME}故障!
消息內(nèi)容:
告警主機(jī):{HOSTNAME}
告警主機(jī)IP地址:{HOST.IP}
告警時間:{EVENT.DATE} {EVENT.TIME}
告警等級:{TRIGGER.SEVERITY}
告警信息: {TRIGGER.NAME}
告警項目:{TRIGGER.KEY1}
問題詳情:{ITEM.NAME}:{ITEM.VALUE}
當(dāng)前狀態(tài):{TRIGGER.STATUS}:{ITEM.VALUE1}
事件ID:{EVENT.ID}
配置 ----> 動作 ----> 恢復(fù)
默認(rèn)標(biāo)題:
恢復(fù){TRIGGER.STATUS}, 服務(wù)器名:{HOSTNAME1}: {TRIGGER.NAME}已恢復(fù)!
消息內(nèi)容:
告警主機(jī):{HOSTNAME}
告警主機(jī)IP地址:{HOST.IP}
告警時間:{EVENT.DATE} {EVENT.TIME}
告警等級:{TRIGGER.SEVERITY}
告警信息: {TRIGGER.NAME}
告警項目:{TRIGGER.KEY1}
問題詳情:{ITEM.NAME}:{ITEM.VALUE}
當(dāng)前狀態(tài):{TRIGGER.STATUS}:{ITEM.VALUE1}
事件ID:{EVENT.ID}
4). 模擬測試微信收取告警通知
將新某臺被監(jiān)控主機(jī)zabbix agent服務(wù)關(guān)閉,稍等5分鐘查收能收到微信告警。
5). 使用普通微信接受消息設(shè)置
直接用微信掃碼關(guān)注微工作臺,即可在微信中接收企業(yè)通知和使用企業(yè)應(yīng)用。
方法:登錄企業(yè)微信管理頁面 - 我的企業(yè) - 微工作臺 - 邀請關(guān)注的二維碼
關(guān)注后即可收取。