zabbix3.0微信报警

zabbix3.0微信报警
zabbix3.0微信报警

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

[root@iZ25kscmkn3Z ~]# git clone https://https://www.360docs.net/doc/4b3531738.html,/lealife/WeiXin-Private-API

修改配置文件

[root@iZ25kscmkn3Z ~]# cp -r WeiXin-Private-API/ /usr/local/zabbix/share/zabbix/alertscripts/ [root@iZ25kscmkn3Z ~]# cd !$

cd /usr/local/zabbix/share/zabbix/alertscripts/

[root@iZ25kscmkn3Z alertscripts]# chown -R zabbix:zabbix WeiXin-Private-API/

修改config文件

修改test.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,二是报警信息的主题,三是报警信息的具体内容,这里跳过了报警信息主题,直接发送报警信息内容

/usr/local/bin/php

/usr/local/zabbix/share/zabbix/alertscripts/WeiXin-Private-API/test.php "$1" "$2" "$3"

测试脚本

1、登陆微信公众号,切换到用户管理界面

2、点开用户的超链接,得到用户的tofakeid

https://https://www.360docs.net/doc/4b3531738.html,/cgi-bin/singlesendpage?t=message/send&action=index&tofakeid=o-pOhs-8XdDaqMxBbViRGUmwB_Xk&token=301887046&lang=zh_CN

[root@iZ25kscmkn3Z alertscripts]# /usr/local/zabbix/share/zabbix/alertscripts/weixin o-pOhs-8XdDaqMxBbViRGUmwB_Xk "" "hello"

PHP Notice: Undefined index: HTTP_USER_AGENT in /usr/local/zabbix/share/zabbix/alertscripts/WeiXin-Private-API/include/LeaWeiXinClient.php on line 33

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

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 //微信借口正常,微信端可以收到信息

)

)

故障解决方法:

[err_msg] => system error // config.php文件的微信公众号和密码不正确

[err_msg] => invalid args //tofakeid号码错误

[err_msg] => invalid session //清空缓存 rm -rf cache/*

验证:zabbix服务器向公众号指定用户发送信息:

[root@iZ25kscmkn3Z WeiXin-Private-API]# /usr/local/zabbix/share/zabbix/alertscripts/weixin o-pOhs-8XdDaqMxBbViRGUmwB_Xk"" "hello"

1.创建媒介

输入脚本名称,类型选择脚本

添加以下3个参数,分别对应sendEmail.sh脚本需要的3个参数:收件人地址、主题、详细内容

{ALERT.SENDTO}

{ALERT.SUBJECT}

{ALERT.MESSAGE}

解释:很多人安装zabbix 3.0之后,写的脚本一直发信不成功,手动执行时可以的。那是因为zabbix3.0之后,可以自定义参数了。所以不写参数,它是不会传参数的。在2.x版本不存在这个问题,默认会传3个参数

2.创建用户

选择微信,输入用户的tofakeid值

点击用户群组,点击zabbix administrator后面的调用模式,点击一下,就启用了

点权限->添加

3、创建触发器动作发送内容

报警问题: {https://www.360docs.net/doc/4b3531738.html,}

报警主机:{HOSTNAME}

报警时间:{EVENT.TIME}

报警状态: {TRIGGER.STATUS}

报警级别: {TRIGGER.SEVERITY}

完成,验证:关闭zabbix_agentd服务,微信可以收到报警信息

相关主题
相关文档
最新文档