请选择 进入手机版 | 继续访问电脑版
设为首页收藏本站
联系我们
查看: 2634|回复: 0

Zabbix使用微信接口实现微信报警功能

[复制链接]

141

主题

144

帖子

601

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
601
发表于 2016-3-28 23:12:40 | 显示全部楼层 |阅读模式
此教程仅适用于服务号、订阅号;企业号在此不适合,不过老蔡稍后会给出。
首先你要到微信公众平台上开通你的微信公众号并让你的用户使用微信关注你的微信公众号,如何申请微信公众号自行度娘。
其次您可以选择下载本博客提供的压缩包,当然你可以到官方的git上clone一份脚本(https
://github.com/lealife/WeiXin-Private-API),不过要做更改地方挺多的,索性老蔡就将修改的源码直接放到本博客了。
第一步:下载源码
  • [root@jk ~]# cd /usr/local/share/zabbix/alertscripts/  #进入zabbix的脚本根目录下,本路劲是系统默认路径
  • [root@jk alertscripts]# wget http://lcbk.net/wp-content/uploads/2015/09/weixin.zip
  • [root@jk alertscripts]# unzip weixin.zip
  • [root@jk alertscripts]# ll  #查看解压出来的文件
  • -rw-r--r-- 1 root root    93 Sep 13 14:44 weixin
  • drwxr-xr-x 5 root root   124 Sep 14 09:06 WeiXin-Private-API
  • -rw-r--r-- 1 root root 63927 Sep 14 09:00 weixin.zip
  • [root@jk alertscripts]# chown -R zabbix:zabbix *  #将所属权转交给zabbix用户
  • [root@jk alertscripts]# chmod +x weixin   #授予“weixin”脚本可执行权限
第二步:设置微信公众号
  • [root@jk alertscripts]# cd WeiXin-Private-API/
  • [root@jk WeiXin-Private-API]# vim config.php
  • <?php
  • // 全局配置
  • $G_ROOT = dirname(__FILE__);
  • $G_CONFIG["weiXin"] = array(
  •         'account' => '微信公众号账户',
  •         'password' => '微信公众号密码',
  •         'cookiePath' => $G_ROOT. '/cache/cookie', // cookie缓存文件路径
  •         'webTokenPath' => $G_ROOT. '/cache/webToken', // webToken缓存文件路径
  • );
第三步:测试脚本测试脚本之前需要知道某一关注你微信公众号的用户的tofakeid,下面老蔡教你如何查询用户的tofakeid;
1、登陆微信公众号,切换到用户管理界面

2、点开用户的超链接,得到用户的tofakeid
https://mp.weixin.qq.com/cgi-bin ... index&tofakeid=213291000&token=1328049598&lang=zh_CN
我们得到用户tofakeid后就可以用来测试我们的脚本是否能够顺利执行,以便我们开始下一步;
  • [root@zabbix alertscripts]# /usr/local/zabbix/share/zabbix/alertscripts/weixin 213291000 "" "http://lcbk.net"
  • PHP Notice:  Undefined index: HTTP_USER_AGENT in /usr/local/zabbix/share/zabbix/alertscripts/WeiXin-Private-API/include/LeaWeiXinClient.php on line 33
  • PHP Notice:  Undefined index: HTTP_USER_AGENT in /usr/local/zabbix/share/zabbix/alertscripts/WeiXin-Private-API/include/LeaWeiXinClient.php on line 33
  • stdClass Object
  • (
  •     [base_resp] => stdClass Object
  •         (
  •             [ret] => 0
  •             [err_msg] => ok
  •         )
  •   
  • )
如果上面出现错误信息使得微信收不到测试信息,请分析下你的账号信息是否填写错误;如果不是,请检查你的公众号是否由于长时间没和用户互动被微信平台封锁了,这时请要求需要接受此报警信息的用户发送任意信息到你的公众账户上即可。如何还是不行,请将cache目录下的文件全部删除即可。
注意:如果你更改了公众号密码,cache目录下的文件同样需要删除掉;
第四步:配置Zabbix添加示警媒介

添加用户示警媒介,主要是填写用户的tofakeid

然后老蔡故意关掉swap;这时微信就会收到报警信息啦!

添加报警动作

当然,老蔡还是挺友好滴,这里提供报警动作里面的模板内容。
  • 报警问题:{TRIGGER.NAME}
  • 报警主机:{HOSTNAME}
  • 报警时间:{EVENT.TIME}
  • 报警状态:{TRIGGER.STATUS}
  • 报警级别:{TRIGGER.SEVERITY}

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

返回顶部 返回列表