Zabbix之微信报警
zabbix(音同 zbix)是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。 zabbix能监视各种网络参数,保证服务器系统的安全运营;并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。下文讲述了如何通过微信实现zabbix的告警:
第一步、注册微信公众号
首先申请微信公众平台https://mp.weixin.qq.com/一个人最多申请5个公众号,所以还是可以的,申请完之后就可以根据腾讯的提示使用微信公众号了,然后用你自己的微信扫描关注微信号。
点击总用户数,点击刚刚关注的你自己的微信号的头像,在弹出的网页url中有你微信号的id 也就是下面url标红的部分。
第二步、下载并配置微信公众平台私有接口
下载API,本文附近即为下载的API文件,可以根据修改
# git clone https://github.com/lealife/WeiXin-Private-API
修改config文件:
# vi config.php
1
2
3
4
5
6
7
8
9
10
11
==============================================
<?php
// 全局配置
$G_ROOT = dirname(__FILE__);
$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
==============================================
<?php
require "config.php";
require "include/WeiXin.php";
$weiXin = new WeiXin($G_CONFIG['weiXin']);
$testFakeId = "$argv";
$msg="$argv";
print_r($weiXin->send($testFakeId, "$msg"));
===============================================
注意这里$msg=”$argv”表示zabbix传入的第三个参数,因为在zabbix报警时会传入三个参数:一是微信好友ID,二是报警信息的主题,三是报警信息的具体内容,这里跳过了报警信息主题,直接发送报警信息内容。
创建微信报警脚本weixin.sh 放到zabbix的脚本路径里,我的zabbix脚本路径为: /usr/local/zabbix/bin/
# touch /usr/local/zabbix/bin/weixin.sh
1
2
3
4
5
6
7
8
===================================================
#!/bin/bash
###SCRIPT_NAME:weixin.sh###
###send message from weixin for zabbix monitor###
###water###
###V1-2016-01-12###
php /root/WeiXin-Private-API/test.php "$1" "$2" "$3"
===================================================
#chmod +x weixin.sh 给脚本增加执行权限
#chown zabbix:zabbix weixin.sh 给zabbix用户赋予权限
测试接口是否可以使用:
#./weixin.sh oMIlmv_O9hvN3zWNatF91k7YYQIk "" "Welcome Weixin"
若出现以下信息,则表示发送成功:
大神你好,我按照你的做了,但是在最后一步,用命令测试的时候报错,帮忙看下 大神你好,我现在也在做zabbix微信报警,但是按照你的做法,一直没有成功, => -1
=> system error
weixin.sh脚本运行返回的是上面的,没有成功,我卡了3天了,大神帮帮忙
页:
[1]