zabbix设置微信告警,亲测可用!!!

简介: zabbix微信告警前面写了一个zabbix微信告警的,用的我的企业号,后来发现用的人太多消息都超过限制了,应大家要求发布个可以用主机企业号的发送程序,填自己的企业号就可发送微信告警消息!使用go语言开发(感谢老司机提供的微信sdk)首先你得有个...

zabbix微信告警

前面写了一个zabbix微信告警的,用的我的企业号,后来发现用的人太多消息都超过限制了,应大家要求发布个可以用主机企业号的发送程序,填自己的企业号就可发送微信告警消息!使用go语言开发(感谢老司机提供的微信sdk)

首先你得有个企业号!!!!

关于企业号的申请,什么是corpid,secret,agentid,微信号,用户账号等等问题我就不科普了,大家可以上腾讯的企业号开发者中心查看,或者查看itnihao的一篇blog,http://itnihao.blog.51cto.com/1741976/1733245图文并貌写的很清楚。

下载程序

下载地址:
zabbix_weixin.x86.tar.gz(Linux32位版本)
zabbix_weixin.x86_64.tar.gz(Linux64位版本)

部署步骤

下载程序到你的zabbix server的AlertScriptsPath目录下。不知道什么是AlertScriptsPath目录,不知道怎么配置的,直接看官方文档!!!zabbix server配置文件
如果之前没有设置过AlertScriptsPath,设置之后要重启zabbix server
假设我的zabbix server的AlertScriptsPath目录为/usr/local/zabbix/alertscripts

wget http://dl.cactifans.org/tools/zabbix_weixin.x86_64.tar.gz

tar zxvf zabbix_weixin.x86_64.tar.gz

mv zabbix_weixin/weixin .

chmod a+x weixin

mv zabbix_weixin/weixincfg.json /etc/

rm -rf zxvf zabbix_weixin.x86_64.tar.gz

rm -rf zabbix_weixin/

接下来一步很重要,编辑/etc/weixincfg.json文件,配置你的企业号corpid,secret,agentid,

{
"corp": {
"corpid": "wxxxxxx",
"secret": "Vn6dxxxx",
"agentid": 1
}
}

不知道哪里看corpid,scret,agentid的直接看itnihao的文章,不要再问我!
AgentId

测试

/usr/local/zabbix/alertscripts/weixin xxx subject body

解释一下(这里我只是演示,具体的你要替换成你自己的信息,切不可按图索骥

xxx为你的微信账号!注意不是微信号!也不是微信昵称!当然你也可以把用户账号设置成微信号或者微信昵称,自己设置!

subject 告警主题

boyd 告警闲情

介于多数人分不清楚,这里解释一下:
在微信企业号里,成员要关注企业号,需要审核,审核之后每个人会赋予一个账号。
个人账号


如果发送显示“OK”,表示发送成功,应该就会收到消息!

zabbix设置

先添加微信到告警媒介


3.0需要额外配置下,不配置不能发送!!!
[图片上传中...(image-6dbac4-1510542951693-4)]
关联到用户

告警内容定制

注意:收件人哪里填需要收消息的人的个人账号,多个人中间用“|”号隔开,如图所示
告警内容是我自己定制的,大家可以参考我的,直接复制过去用

告警主题:

[{TRIGGER.SEVERITY}]服务器:{HOSTNAME1}发生:{TRIGGER.NAME}故障!

告警内容:

告警主机: {HOSTNAME1}

主机分组: {TRIGGER.HOSTGROUP.NAME}

告警时间: {EVENT.DATE} {EVENT.TIME}

告警等级: {TRIGGER.SEVERITY}

告警信息: {TRIGGER.NAME}

告警项目: {TRIGGER.KEY1}

问题详情: {ITEM.NAME}:{ITEM.VALUE}

当前状态: {TRIGGER.STATUS}

事件ID: {EVENT.ID}


告警恢复内容

恢复主题:

[{TRIGGER.SEVERITY}]服务器:{HOSTNAME1}{TRIGGER.NAME}已恢复!

恢复内容:

告警主机: {HOSTNAME1}

主机分组: {TRIGGER.HOSTGROUP.NAME}

告警时间: {EVENT.DATE} {EVENT.TIME}

告警等级: {TRIGGER.SEVERITY}

告警信息: {TRIGGER.NAME}

告警项目: {TRIGGER.KEY1}

问题详情: {ITEM.NAME}:{ITEM.VALUE}

当前状态: {TRIGGER.STATUS}

事件ID: {EVENT.ID}


设置好之后,设置动作时,掉用weiixn就是了
[图片上传中...(image-512ab5-1510542951692-1)]
至此设置完成!

最终效果

FAQ:
A.测试不能通过,返回errcode!

1.检查/etc/weixincfg.json文件里的corpid,secert,agentid配置是否正确
2.检查接受者企业账号是否正确
3.检查接受着是否在这个应用的通讯录里

B.zabbix不能收到告警消息
1.检查发送程序有无可执行权限
2.检查发送程序是否在zabbix server的AlertScriptsPath目录下
3.检查是否关联到用户
4.检查是否掉用了发送动作

C. 发送限制
1.发送频率基本可以满足需求,没有别的限制。
2.每日发送次数有一定限制,具体与企业号关注人数有关,详情查看企业号开发文档

转自当代张思德的博客!!!!

目录
相关文章
|
4月前
|
监控
一文吃透企业级elk技术栈:9. zabbix结合logstash告警
一文吃透企业级elk技术栈:9. zabbix结合logstash告警
|
4月前
|
小程序
Taro@3.x+Vue@3.x+TS开发微信小程序,设置转发分享
本文介绍了Taro中`useShareAppMessage`的使用方法,需在页面配置`enableShareAppMessage: true`并重新编译。
159 0
Taro@3.x+Vue@3.x+TS开发微信小程序,设置转发分享
|
4月前
|
Linux 网络安全 API
企业微信自定义应用 企业可信IP配置 企业可信ip怎么设置
企业微信自定义应用 企业可信IP配置 企业可信ip怎么设置
|
4月前
|
小程序
uni-app——微信小程序设置全局分享
uni-app——微信小程序设置全局分享
210 0
|
4月前
|
缓存 JavaScript 前端开发
微信 JS-SDK Demo “分享信息设置” API 及数字签名生成方法(NodeJS版本)
微信 JS-SDK Demo “分享信息设置” API 及数字签名生成方法(NodeJS版本)更新时间(2020-10-29)
|
5月前
|
XML 关系型数据库 MySQL
支付系统----微信支付19---集成MyBatis-plus,数据库驱动对应的依赖版本设置问题,5没版本没有cj这个依赖,mysql驱动默认的是版本8,这里是一个父类,数据库都有,写个父类,继承就行
支付系统----微信支付19---集成MyBatis-plus,数据库驱动对应的依赖版本设置问题,5没版本没有cj这个依赖,mysql驱动默认的是版本8,这里是一个父类,数据库都有,写个父类,继承就行
|
5月前
|
小程序 JavaScript 前端开发
【微信小程序-原生开发】实用教程06-轮播图、分类页签 tab 、成员列表(含Tdesign升级,切换调试基础库,设置全局样式,配置组件按需注入,添加图片素材,wx:for,生命周期 onLoad)
【微信小程序-原生开发】实用教程06-轮播图、分类页签 tab 、成员列表(含Tdesign升级,切换调试基础库,设置全局样式,配置组件按需注入,添加图片素材,wx:for,生命周期 onLoad)
178 0
|
2月前
|
JSON 小程序 JavaScript
uni-app开发微信小程序的报错[渲染层错误]排查及解决
uni-app开发微信小程序的报错[渲染层错误]排查及解决
744 7
|
2月前
|
小程序 JavaScript 前端开发
uni-app开发微信小程序:四大解决方案,轻松应对主包与vendor.js过大打包难题
uni-app开发微信小程序:四大解决方案,轻松应对主包与vendor.js过大打包难题
771 1
|
2月前
|
小程序 前端开发 测试技术
微信小程序的开发完整流程是什么?
微信小程序的开发完整流程是什么?
162 7