zabbix微信企業號報警
微信的第三方接口要求我們先申請一個企業號——傳送門:https://qy.weixin.qq.com/
註冊很簡單,只要有***和手機號就可以。要留意CorpID,Secret這個要在下邊使用到。
通過 :CropID 、Secret 才能獲取到access_token,但是獲取到的token,用bash shell 來實現調用如下weixin.sh
#!/bin/bash
###SCRIPT_NAME:weixin.sh###
###send message from weixin for zabbix monitor###
CropID='wxf4425e9ad223f6c5'
Secret='S9ryINZop_1ECJAuwPmXs6x63Lt8YBiMomXBdhNsLWXu25GJQSagcBfOeeYRgtyJ'
GURL="https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=$CropID&corpsecret=$Secret"
Gtoken=$(/usr/bin/curl -s -G "$GURL" | awk -F\"'{print $4}')
PURL="https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=$Gtoken"
function body() {
local int AppID=1
local UserID=$1
local PartyID=1
local Msg=$(echo"$@" | cut -d" " -f3-)
printf '{\n'
printf'\t"touser": "'"$UserID"\"",\n"
printf'\t"toparty": "'"$PartyID"\"",\n"
printf'\t"msgtype": "text",\n'
printf'\t"agentid": "'" $AppID "\"",\n"
printf '\t"text":{\n'
printf'\t\t"content": "'"$Msg"\""\n"
printf '\t},\n'
printf'\t"safe":"0"\n'
printf '}\n'
}
/usr/bin/curl --data-ascii "$(body $1 $2 $3)" $PURL
將weixin.sh加入/usr/local/zabbix/share/zabbix/alertscripts/,依據安裝目錄而定。
#chmod +x weixin.sh
#chown zabbix.zabbix weixin.sh
在zabbix上進行配置 “Administrator”—“Mediatypes”—“Create media type”
測試結果如下