Zabbbix 微信报警


生产环境中,我们通常使用邮件和短信接受zabbix报警信息,但是邮件经常被工作人员搁置在角落中甚至被设置为垃圾邮件被过滤掉。公司的短信接口又太贵,复杂环境中使用短息报警会使运维成本增加很多。微信 提供了很好的第三方接口,我们可以利用 微信报警以求降低运维成本。此文章是我看到网上的翻译及添加了我在生产环境中使用的问题 微信的第三方接口要求我们先申请一个企业号——传送门https://qy.weixin.qq.com/关于企业号的申请可以参考以下链接我就在这里多说了http://jingyan.baidu.com/article/6525d4b1210921ac7d2e941b.html如何操作企业号?1.通讯录添加企业成员我们要提前把成员信息添加进组织部门,必填项+手机号或者微信号,这样别人扫描二维码的时候才能成功关注企业号。注意:这里有两个我们要用到信息,一个组织部门的ID,一个部门成员的账号(账号是自己手动指定的,不同于微信号,最好是字母加数字) 在这里我们只需要用到成员账号。 2.应用中心创建应用我们要在这里创建应用,因为要通过应用发送消息给部门成员注意:这里要记住一个值,应用ID 如果要发给那个部门需要对那个部门可见3.给部门设置管理员设置—>功能设置—->权限管理—->新建管理组管理员必须事先已经关注了企业号,并且已经设置好邮箱地址确定管理员可以读取通讯录,可以使用应用发消息。注意:我们需要管理员的CorpID和Secret我们要准备这些东西: 一个微信企业号 企业号已经被部门成员关注 企业号里有一个可以发消息的应用 一个授权管理员,可以使用该应用给成员发消息我们要取到这些信息: 成员账号 组织部门ID 应用ID CropID Secret如何调用微信接口?调用微信接口需要一个调用接口的凭证:access_token通过 :CropID 、Secret才能获取到access_token,但是获取到的token有效期为两分钟微信企业号接口调试工具传送门:http://qydev.weixin.qq.com/debugShell脚本原理使用: curl -s -G url 获取 AccessToken使用: curl –data url 传送凭证调用企业号接口 zabbix会传递三个参数给脚本,$1是消息接收账号,$2报警标题,$3报警内容#!/bin/bashCropID=‘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”functionbody(){localintAppID=2企业号中的应用idlocalUserID=$1部门成员idzabbix中定义的微信接收者#localPartyID=1部门id,定义了范围组内成员都可接收到消息,选择禁用不然会所有人都会收到消息的localMsg=$(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‘tt”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默认执行路径下mvwechat.sh/usr/local/zabbix/share/zabbix/alertscripts ##Zabbix 默认脚步路径chownzabbix.zabbix/usr/local/zabbix/share/zabbix/alertscripts/wechat.shchmod+x/usr/local/zabbix/share/zabbix/alertscripts/wechat.sh测试脚步是否可用./Wechat.sh wang415 111 wang # 第一个wang415 是你要发的人,第二个111 是可以随意写, wang 是你要发个测试消息服务器端创建媒介Script name 就是的脚步名字 2.创建用户添加WeChat 组创建Media 选择wechat 脚本发给wang415 创建触发器动作发送内容复制以下消息到Default message 内IP: {IPADDRESS}nHost Name: {HOST.NAME1}nStatus: {TRIGGER.STATUS}nSeverity: {TRIGGER.SEVERITY}nDate: {EVENT.DATE} {EVENT.TIME}nn{ITEM.NAME1} ({ITEM.KEY1}): {ITEM.VALUE1}nn 4.设置触发器动作发送方式给Wechat组收到的微信消息:

相关推荐: 比特币病毒防御总结

1 断开网络(从物理上断开,可以拔掉网线)2数据备份3 Windows用户建立防火墙的入站规则,阻止445端口连接Win7、Win8、Win10的处理流程1)、打开控制面板-系统与安全-Windows防火墙,点击左侧启动或关闭Windows防火墙。2)、选择启…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 01/29 21:09
下一篇 01/29 21:09