eddik 发表于 2015-11-23 12:44:42

zabbix实现微信报警

作者典韦,追马代发一、注册微信公众号
  首先申请微信公众平台https://mp.weixin.qq.com/一个人最多申请5个公众号,所以还是可以的
  申请完之后就可以根据腾讯的提示使用微信公众号了,然后用你自己的微信扫描关注微信号。

  就可以看到用户数了,接下来的就要使用的用户的微信ID号了。点击用户查看用户的微信ID号。在浏览器查看用户的微信ID号。就是那个红色的ID了。
  https://mp.weixin.qq.com/cgi-bin/singlesendpage?t=message/send&action=index&tofakeid=770373640&token=748989398&lang=zh_CN
  
二、下载并配置微信公众平台私有接口
git clone https://github.com/lealife/WeiXin-Private-API
  修改配置文件

# git clone https://github.com/lealife/WeiXin-Private-API# cp -r WeiXin-Private-API/ /usr/local/zabbix/share/zabbix/alertscripts/# cd /usr/local/zabbix/share/zabbix/alertscripts/WeiXin-Private-API# chown zabbix.zabbix /usr/local/zabbix/share/zabbix/alertscripts/WeiXin-Private-API
  修改config文件

# vi config.php<?php// 全局配置$G_ROOT = dirname(__FILE__);$G_CONFIG[&quot;weiXin&quot;] = array(      'account' => '微信公众登录号码',      'password' => '微信公众登录密码',      'cookiePath' => $G_ROOT. '/cache/cookie', // cookie缓存文件路径      'webTokenPath' => $G_ROOT. '/cache/webToken', // webToken缓存文件路径);
  修改test.php文件,只需要保存这几行即可

<?phprequire &quot;config.php&quot;;require &quot;include/WeiXin.php&quot;;$weiXin = new WeiXin($G_CONFIG['weiXin']);$testFakeId = &quot;$argv&quot;;$msg=&quot;$argv&quot;; print_r($weiXin->send($testFakeId, &quot;$msg&quot;));
  注意这里$msg=&quot;$argv&quot;表示zabbix传入的第三个参数,因为在zabbix报警时会传入三个参数:一是微信好友ID,二是报警信息的主题,三是报警信息的具体内容,这里跳过了报警信息主题,直接发送报警信息内容
  创建微信报警脚本weixin

# vi weixin/usr/bin/php /usr/local/zabbix/share/zabbix/alertscripts/WeiXin-Private-API/test.php &quot;$1&quot; &quot;$2&quot; &quot;$3&quot;# chown -R zabbix.zabbix weixin# chmod &#43;x weixin
  测试报警

# /usr/local/zabbix/share/zabbix/alertscripts/weixin 770373640 &quot;&quot; &quot;hello&quot;PHP Notice:Undefined index: HTTP_USER_AGENT in /usr/local/zabbix/share/zabbix/alertscripts/WeiXin-Private-API/include/LeaWeiXinClient.php on line 33PHP Notice:Undefined index: HTTP_USER_AGENT in /usr/local/zabbix/share/zabbix/alertscripts/WeiXin-Private-API/include/LeaWeiXinClient.php on line 33stdClass Object(    => stdClass Object      (             => 0             => ok      ))
  查看结果

三、配置zabbix
  3.1、添加报警媒介
  
  3.2、用户添加报警媒介,这里使用默认的administrator用户
  
  3.3、添加报警动作
  
  信息如下,使用默认的信息也可以
  
  修改操作条件,使用默认的也是可以的
  保存设置
四、验证结果
  重启一台虚拟机进行测试。由于我也开启了邮件报警,所以看一下邮件先

  看一下微信

OK的。完成。
  Note: 本文的脚本借鉴于csdn上一哥们的文章,大家如果有需要可以参考下下文的链接,我这里只是抛砖引玉,为大家开个头。
  参考文章:http://blog.iyunv.com/uid-30236771-id-5037842.html
  http://www.178linux.com/4924
页: [1]
查看完整版本: zabbix实现微信报警