zabbix实现微信报警

作者典韦,追马代发

一、注册微信公众号

首先申请微信公众平台https://mp.weixin.qq.com/一个人最多申请5个公众号,所以还是可以的

申请完之后就可以根据腾讯的提示使用微信公众号了,然后用你自己的微信扫描关注微信号。

zabbix实现微信报警_第1张图片

就可以看到用户数了,接下来的就要使用的用户的微信ID号了。点击用户查看用户的微信ID号。在浏览器查看用户的微信ID号。就是那个红色的ID了。

https://mp.weixin.qq.com/cgi-bin/singlesendpage?t=message/send&action=index&tofakeid=770373640&token=748989398&lang=zh_CN

zabbix实现微信报警_第2张图片

二、下载并配置微信公众平台私有接口

git clone https
: //github .com /lealife/WeiXin-Private-API

修改配置文件

[root@zabbix ~] # git clone https://github.com/lealife/WeiXin-Private-API
[root@zabbix ~] # cp -r WeiXin-Private-API/ /usr/local/zabbix/share/zabbix/alertscripts/
[root@zabbix ~] # cd /usr/local/zabbix/share/zabbix/alertscripts/WeiXin-Private-API
[root@zabbix WeiXin-Private-API] # chown zabbix.zabbix /usr/local/zabbix/share/zabbix/alertscripts/WeiXin-Private-API

修改config文件

[root@zabbix WeiXin-Private-API] # vi 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缓存文件路径
);

修改test.php文件,只需要保存这几行即可

<?php
require  "config.php" ;
require  "include/WeiXin.php" ;
  
$weiXin = new WeiXin($G_CONFIG[ 'weiXin' ]);
  
$testFakeId =  "$argv[1]" ;
$msg= "$argv[3]" ;
  print_r($weiXin->send($testFakeId,  "$msg" ));

注意这里$msg="$argv[3]"表示zabbix传入的第三个参数,因为在zabbix报警时会传入三个参数:一是微信好友ID,二是报警信息的主题,三是报警信息的具体内容,这里跳过了报警信息主题,直接发送报警信息内容

创建微信报警脚本weixin

[root@zabbix alertscripts] # vi weixin
/usr/bin/php  /usr/local/zabbix/share/zabbix/alertscripts/WeiXin-Private-API/test .php  "$1"  "$2"  "$3"
[root@zabbix alertscripts] # chown -R zabbix.zabbix weixin
[root@zabbix alertscripts] # chmod +x weixin

测试报警

[root@zabbix alertscripts] # /usr/local/zabbix/share/zabbix/alertscripts/weixin 770373640 "" "hello"
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
         )
  
)

查看结果

3.png

三、配置zabbix

3.1、添加报警媒介

zabbix实现微信报警_第3张图片

3.2、用户添加报警媒介,这里使用默认的administrator用户

zabbix实现微信报警_第4张图片

3.3、添加报警动作

zabbix实现微信报警_第5张图片

信息如下,使用默认的信息也可以

zabbix实现微信报警_第6张图片

修改操作条件,使用默认的也是可以的

保存设置

四、验证结果

重启一台虚拟机进行测试。由于我也开启了邮件报警,所以看一下邮件先

zabbix实现微信报警_第7张图片

看一下微信

zabbix实现微信报警_第8张图片

OK的。完成。

Note: 本文的脚本借鉴于csdn上一哥们的文章,大家如果有需要可以参考下下文的链接,我这里只是抛砖引玉,为大家开个头。

参考文章:http://blog.chinaunix.net/uid-30236771-id-5037842.html

http://www.178linux.com/4924

你可能感兴趣的:(zabbix实现微信报警)