這篇文章主要介紹了微信警報zabbix方法的相關資料,需要的朋友可以參考下
現實生產環境中,我們通常使用郵件和短信接受zabbix報警信息,但是郵件經常被工作人員擱置在角落甚至被設定為垃圾郵件被過濾掉。公司的簡訊介面又太貴,複雜環境中使用短息警報會使維運成本增加很多。微信提供了很好的第三方接口,我們可以利用微信警報以求降低維運成本。
微信的第三方介面要求我們先申請企業號-傳送門:https://qy.weixin.qq.com/
如何操作企業號?
1.通訊錄新增企業成員
我們必須先將會員資訊加進組織部門,且必填項+手機號碼或微訊號,這樣別人掃描二維碼的時候才能成功關注企業號。
注意:這裡有兩個我們要用到訊息,一個組織部門的ID,一個部門成員的帳號(帳號是自己手動指定的,不同於微訊號,最好是字母加數字)
2.應用中心創建應用
我們要在這裡創建應用,因為要透過應用程式傳送訊息給部門成員
注意:這裡要記住一個數值,並應用ID
3.給部門設定管理員
設定--->功能設定---->權限管理---->新管理群組
必須事先已經關注了企業號,並且已經設定好郵箱地址
確定管理員可以讀取通訊錄,並且可以使用應用程式發送訊息。
:我們需要管理員的CorpID和Secret
我們要準備這些東西:
一個微信企業號
企業號已經被部門成員關注
企業號裡有一個可以發送訊息的應用程式
一個授權管理員,可以使用該應用程式給成員發送訊息
我們要取這些資訊:
成員帳號
組織部門ID
應用ID
CropID
如何呼叫微信介面?
呼叫微信介面需要一個呼叫介面的憑證:access_token*&* 透過:CropID 、Secret 才能取得至access_token,但是取得的token** 有效期為兩分鐘
微信企业号接口调试工具传送门:http://qydev.weixin.qq.com/debug
Shell脚本原理
使用:
curl -s -G url 获取 AccessToken
使用:
curl --data url 传送凭证调用企业号接口
zabbix会传递三个参数给脚本,$1是消息接收账号,$2报警标题,$3报警内容
#!/bin/bash ###SCRIPT_NAME:weixin.sh### ###send message from weixin for zabbix monitor### ###wuhf### ###V1-2015-08-25### CropID=‘xxxxxx‘ Secret=‘xxxxxx‘ 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=3 企业号中的应用id local UserID=$1 部门成员id,zabbix中定义的微信接收者 local PartyID=1 部门id,定义了范围,组内成员都可接收到消息 local Msg=$(echo "$@" | cut -d" " -f3-) 过滤出zabbix中传递的第三个参数 printf ‘{\n‘ printf ‘\t"touser": "‘"$User"\"",\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
为什么要这样写脚本?
因为微信企业号开放的端口有固定的格式限制
企业号支持的格式:http://qydev.weixin.qq.com/wiki/index.php?title消息类型及数据格式
将脚本放入zabbix默认执行路径下
mv weixin.sh /usr/local/zabbix/share/zabbix/alertscripts
chown zabbix.zabbix /usr/local/zabbix/share/zabbix/alertscripts/weixin.sh
chmod +x /usr/local/zabbix/share/zabbix/alertscripts/weixin.sh
服务器端
1.创建媒介
2.创建用户
3.创建触发器动作发送内容
4.设置触发器动作发送方式
收到的微信消息:
以上就是微信报警 zabbix 的资料整理,后续继续补充相关资料,谢谢大家对本站的支持!
更多微信报警 zabbix实现详解相关文章请关注PHP中文网!