一、注册微信公众号
首先申请微信公众平台https://mp.weixin.qq.com/一个人最多申请5个公众号,申请完之后就可以根据腾讯的提示使用微信公众号了,然后用你自己的微信扫描关注微信号。 [
二、下载并配置微信公众平台私有接口
1.获取代码
git clone https://github.com/lealife/WeiXin-Private-API
2.修改zabbix配置文件
[root@Control-machine ~]# cp -r WeiXin-Private-API /usr/lib/zabbix/alertscripts/
[root@Control-machine ~]# cd /usr/lib/zabbix/alertscripts/
[root@Control-machine alertscripts]# chown zabbix:zabbix WeiXin-Private-API
[root@Control-machine alertscripts]#
#修改test.php文件
[root@Control-machine alertscripts]# vim WeiXin-Private-API/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”));
3.修改config.php文件
[root@Control-machine alertscripts]# vim WeiXin-Private-API/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缓存文件路径
);
4.修改test.php文件
[root@Control-machine alertscripts]# vim WeiXin-Private-API/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,二是报警信息的主题,三是报警信息的具体内容,这里跳过了报警信息主题,直接发送报警信息内容 5.创建微信报警脚本
[root@Control-machine alertscripts]# vim weixin
/usr/bin/php /usr/lib/zabbix/alertscripts/WeiXin-Private-API/test.php “$1” “$2” “$3”
[root@Control-machine alertscripts]# chown zabbix:zabbix weixin
[root@Control-machine alertscripts]# chmod +x weixin
6.测试报警
[root@Control-machine alertscripts]# /usr/bin/php /usr/lib/zabbix/alertscripts/WeiXin-Private-API/test.php 250995555 “” “Test”
PHP Notice: Undefined index: HTTP_USER_AGENT in /usr/lib/zabbix/alertscripts/WeiXin-Private-API/include/LeaWeiXinClient.php on line 33
PHP Notice: curl_setopt(): CURLOPT_SSL_VERIFYHOST no longer accepts the value 1, value 2 will be used instead in /usr/lib/zabbix/alertscripts/WeiXin-Private-API/include/LeaWeiXinClient.php on line 32
PHP Notice: Undefined index: HTTP_USER_AGENT in /usr/lib/zabbix/alertscripts/WeiXin-Private-API/include/LeaWeiXinClient.php on line 33
stdClass Object
(
[base_resp] => stdClass Object
(
[ret] => 0
[err_msg] => ok #说明已经发送出去啦
)
)
[root@Control-machine alertscripts]#
#以上PHP的提示信息可以忽略
查看结果
三、配置zabbix
1.添加报警媒介 [ 修改操作条件,保持默认的也可以; 保存设置
四、测试
我这里将监控mysql主从的脚本手动改一下,让其zabbix检测到并报警 手机微信查看报警信息 [ 参考文章链接: http://blog.chinaunix.net/uid-30236771-id-5037842.html