一、注册微信公众号
https://mp.weixin.qq.com
关注微信号点击用户管理查看用户的微信ID号。在浏览器查看用户的微信ID号
获取微信接口git clone https://github.com/lealife/WeiXin-Private-API
接口配置文件1
2
3
4[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
先在conifg.php中配置公众账号信息:1
2
3
4
5
6
7
$G_CONFIG["weiXin"] = array(
'account' => '公众平台账号',
'password' => '密码',
'cookiePath' => $G_ROOT. '/cache/cookie', // cookie缓存文件路径
'webTokenPath' => $G_ROOT. '/cache/webToken', // webToken缓存文件路径
);
修改test.php:1
2
3
4
5
6
7
8
9
10 <?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,二是报警信息的主题,三是报警信息的具体内容,这里跳过了报警信息主题,直接发送报警信息内容
创建微信报警脚本weixin1
2
3
4[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
测试1
2
3
4
5
6
7
8
9
10
11
12[root@zabbix alertscripts]# /usr/local/zabbix/share/zabbix/alertscripts/weixin oOHYNvxkEyqwlYZzymXmGMUQxtKk"" "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
)
)