生产环境中,我们通常使用邮件和短信接受zabbix报警信息,但是邮件经常被工作人员搁置在角落中甚至被设置为垃圾邮件被过滤掉。公司的短信接口又太贵,复杂环境中使用短息报警会使运维成本增加很多。微信 提供了很好的第三方接口,我们可以利用 微信报警以求降低运维成本。此文章是我看到网上的翻译及添加了我在生产环境中使用的问题
微信的第三方接口要求我们先申请一个企业号——传送门https://qy.weixin.qq.com/
关于企业号的申请可以参考以下链接我就在这里多说了http://jingyan.baidu.com/article/6525d4b1210921ac7d2e941b.html
如何操作企业号?
1.通讯录添加企业成员
我们要提前把成员信息添加进组织部门,必填项+手机号或者微信号,这样别人扫描二维码的时候才能成功关注企业号。
2.应用中心创建应用
3.给部门设置管理员
我们要准备这些东西:
一个微信企业号
企业号已经被部门成员关注
企业号里有一个可以发消息的应用
一个授权管理员,可以使用该应用给成员发消息
我们要取到这些信息:
成员账号
组织部门ID
应用ID
CropID
Secret
如何调用微信接口?
Shell脚本原理
#!/bin/bash
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=2 企业号中的应用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
为什么要这样写脚本?
将脚本放入zabbix默认执行路径下
mv wechat.sh /usr/local/zabbix/share/zabbix/alertscripts ##Zabbix 默认脚步路径
chown zabbix.zabbix /usr/local/zabbix/share/zabbix/alertscripts/wechat.sh
chmod +x /usr/local/zabbix/share/zabbix/alertscripts/wechat.sh
测试脚步是否可用
./Wechat.sh wang415 111 wang # 第一个wang415 是你要发的人,第二个111 是可以随意写, wang 是你要发个测试消息
创建媒介
Script name 就是的脚步名字
创建Media 选择wechat 脚本发给wang415
创建触发器动作发送内容复制以下消息到Default message 内
\
IP: {IPADDRESS}\n
Host Name: {HOST.NAME1}\n
Status: {TRIGGER.STATUS}\n
Severity: {TRIGGER.SEVERITY}\n
Date: {EVENT.DATE} {EVENT.TIME}\n
\n
{ITEM.NAME1} ({ITEM.KEY1}): {ITEM.VALUE1}\n
\n
收到的微信消息:
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。