zabbix使用微信接口报警

安装部署之前需要先安装php,关于PHP的安装部署,我在这里就不详细说明了。

微信公众号设置:

1.先注册微信公主号
2.选择需要给发送的人点击头像就可以得到如下链接。我们获取“tofakeid”的ID
https://mp.weixin.qq.com/cgi-bin/singlesendpage?t=message/send&action=index&tofakeid=750362702&token=430276069&lang=zh_CN
3.如图是对Geek这个用户选择发送:

weixin

微信API安装部署:

1.下载代码
查看目录
root@dgz-zabbixserver01:/usr/lib/zabbix/alertscripts# pwd
/usr/lib/zabbix/alertscripts
root@dgz-zabbixserver01:/usr/lib/zabbix/alertscripts#
2.下载
root@dgz-zabbixserver01:/usr/lib/zabbix/alertscripts# git clone https://github.com/lealife/WeiXin-Private-API
3.修改权限 zabbix:zabbix
root@dgz-zabbixserver01:/usr/lib/zabbix/alertscripts# ll WeiXin-Private-API/ -d
drwxr-xr-x 5 zabbix zabbix 4096 Aug 31 11:45 WeiXin-Private-API//
root@dgz-zabbixserver01:/usr/lib/zabbix/alertscripts#
4.修改配置文件config
root@dgz-zabbixserver01:/usr/lib/zabbix/alertscripts# cat WeiXin-Private-API/config.php
<?php

// 全局配置

$G_ROOT = dirname(__FILE__);

$G_CONFIG["weiXin"] = array(
'account' => 'username',  ### #微信公众账号个人版登陆账号
'password' => 'password',    ### #微信公众账号个人版密码
'cookiePath' => $G_ROOT. '/cache/cookie', // cookie缓存文件路径
'webTokenPath' => $G_ROOT. '/cache/webToken', // webToken缓存文件路径
);
root@dgz-zabbixserver01:/usr/lib/zabbix/alertscripts#

5.修改配置文件 备份原来的test.conf
注意这里$msg="$argv[3]"表示zabbix传入的第三个参数,因为在zabbix报警时会传入三个参数:一是微信好友ID,二是报警信息的主题,三是报警信息的具体内容,这里跳过了报警信息主题,直接发送报警信息内容
具体如下:
root@dgz-zabbixserver01:/usr/lib/zabbix/alertscripts# cat 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"));

root@dgz-zabbixserver01:/usr/lib/zabbix/alertscripts#

6.配置微信报警脚本,注意权限 用户属主和属组
root@dgz-zabbixserver01:/usr/lib/zabbix/alertscripts# cat weixin
/usr/bin/php /usr/lib/zabbix/alertscripts/WeiXin-Private-API/test.php "$1" "$2" "$3"
root@dgz-zabbixserver01:/usr/lib/zabbix/alertscripts# ll weixin
-rwxr-xr-x 1 zabbix zabbix 85 Aug 31 11:46 weixin*
root@dgz-zabbixserver01:/usr/lib/zabbix/alertscripts#

7.测试脚本是否OK
root@dgz-zabbixserver01:/usr/lib/zabbix/alertscripts# /usr/lib/zabbix/alertscripts/weixin 750362702 "" "Hello weixin"
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
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@dgz-zabbixserver01:/usr/lib/zabbix/alertscripts#
查看    

weixin

zabbix服务端配置:

1.添加报警媒介

weixin

2.设置给steven这个用户设置刚才我们的报警媒介参数,需要注意的是这里的ID是我们微信公众后台设置的tofakeid

weixin

3.配置微信的action

weixin

4.测试完成

weixin

OpsNotes wechat
欢迎您扫一扫上面的微信公众号,订阅我的博客!
坚持原创技术分享,您的支持将鼓励我继续创作!