zabbix微信告警实践
2016-01-27 16:25
417 查看
首先你得有个企业号!!!具体操作步骤可以参考http://itnihao.blog.51cto.com/1741976/1733245,里面写的很详细就不重复了。
微信公众号注册并配置完成后,还需要让zabbix通过脚本实现微信告警,以下为本人使用的微信告警脚本
把该脚本放到放在zabbix服务端相关目录下,笔者这里是/usr/local/share/zabbix/alertscripts
然后是配置zabbix
1、创建告警内容
以下是笔者定制的告警内容,可供参考
2、添加微信到告警媒介
3、关联用户,这里接收人随便填,因为接收人已经在微信里配置好了,脚本也不接收该参数但这是必填项,所以这里填什么都可以
之后可以改一下触发器的阀值,测试微信的告警功能
微信公众号注册并配置完成后,还需要让zabbix通过脚本实现微信告警,以下为本人使用的微信告警脚本
[root@alertscripts]# cat weixin.sh #!/bin/bash #可在微信公众号的设置菜单 => 权限管理 => 选择发送告警信息的管理组即可看到CropID和Secret信息 CropID="XXXXX" Secret="XXXXX" GURL="https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=$CropID&corpsecret=$Secret" #微信公众号接口 Gtoken=$(/usr/bin/curl -s -G $GURL | /bin/awk -F\" '{print $4}') #根据填写的CropID和Secret获取发送信息的管理组的token PURL="https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=$Gtoken" #接收告警信息的微信接口 UserID1="@all" #接收人ID,在微信公众号添加成员时自己填写的账号,建议以公司工号+姓名首字母组成 Msg=$3 #zabbix传过来的告警信息正文 function body(){ local int AppID=1 #应用ID,即你创建的用来发送信息的应用,在应用中心 => 我的应用里可以找到 local UserID=$UserID1 #接收人ID,填写@all表示发给所有关注该公众号的用户 local PartyID=1 #部门ID local Totag="@all" #标签ID printf '{\n' printf '\t"touser": "'"$UserID"\"",\n" printf '\t"toparty": "'"$PartyID"\"",\n" printf '\t"totag": "'"Totag"\"",\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)" $PURL #发送告警信息
把该脚本放到放在zabbix服务端相关目录下,笔者这里是/usr/local/share/zabbix/alertscripts
[root@alertscripts]# chmod +x weixin.sh #赋予执行权限 [root@alertscripts]# sh weixin.sh d d 测试 #如果微信接收到“测试”消息就算是成功了 {"errcode":0,"errmsg":"ok","invalidtag":"all tag invalid"}
然后是配置zabbix
1、创建告警内容
以下是笔者定制的告警内容,可供参考
警告:服务器 {HOSTNAME1} 出现异常 {TRIGGER.NAME} 告警时间:{EVENT.DATE} {EVENT.TIME} 告警等级:{TRIGGER.SEVERITY} 告警信息:{TRIGGER.NAME} 告警项目:{TRIGGER.KEY1} 问题详情:监控到{ITEM.NAME}为 :{ITEM.VALUE} 当前状态:异常 事件ID:{EVENT.ID} 请及时登录运维平台http://192.168.1.8:8888/dashboard.php进行处理! 特别声明:本邮件为系统告警程序自动发送,请勿回复!如有问题,请及时联系运维人员
2、添加微信到告警媒介
3、关联用户,这里接收人随便填,因为接收人已经在微信里配置好了,脚本也不接收该参数但这是必填项,所以这里填什么都可以
之后可以改一下触发器的阀值,测试微信的告警功能
相关文章推荐
- 微信开发调试各项都正常,提示该公众号无法提供服务
- 微信公众平台--6.JS-SDK 微信内网页开发工具包
- 模仿微信朋友圈 仿微信js-sdk wx.previewImage javascript实现,支持图片预览,滑动切换,双指缩放,图片缓存 h5 html5 js
- iOS下微信语音播放之切换听筒和扬声器的方法解决方案
- c#微信扫码支付,完整版。包括回调
- 微信公众平台--5.其他
- 微信公众号支付和移动支付
- 微信公众平台--4.接收事件推送消息
- 支付宝和微信
- 微信付款
- 微信公众平台--3.普通消息交互(发送与接收)
- 微信公众平台--2.获取接口调用凭据
- 微信公众平台--1.开发者接入
- 微信分享
- 手把手教你免费看IOS微信红包照片
- iOS集成微信支付问题, 友盟SDK有干扰或者说是冲突的解决
- 图像的模糊处理原理
- iOS开发:微信支付
- 最新版微信qq抢红包辅助解析
- 微信抢红包辅助工具 AccessibilityService