Zabbix 实现微信报警

Zabbix实现微信报警

操作系统:Centos 6.5  zabbix版本:2.4.6

一、注册微信公众号

首先申请微信公众平台https://mp.weixin.qq.com

在扫二维码关注微信公众号

wKiom1ZX-zTywZXTAAB63gHykBk756.png650) this.width=650;" src="https://images.winkp.com/imgs/winkp/_winkp/2023/08/5017528147649769383.png" title="QQ图片20151127144054.png" class="aligncenter">    点击总用户数,在点击你的微信头像以下部位就是你的微信ID

wKiom1ZX-7qC8mLZAABCYK7PCEM857.png650) this.width=650;" src="https://images.winkp.com/imgs/winkp/_winkp/2023/08/6710749125465738845.png" title="QQ图片20151127144403.png" class="aligncenter">二、下载微信公众平台私有接口

下载API

git clone https://github.com/lealife/WeiXin-Private-API

cp到zabbix默认的报警脚本目录 

cp -r Weixin-Private-API/ /usr/lib/zabbix/alertscripts/

修改config 文件

<?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 W文件

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

修改权限为zabbix

chown zabbix:zabbix /usr/lib/zaabix/alertscripts/WeiXin-Private-API/*

创建zabbix调用脚本

vim /usr/lib/zabbix/alertscripts/weixin

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

修改用户组

chown -R zabbix:zabbix /usr/lib/zabbix/alertscripts/weixin

添加执行权

chmod +x /usr/lib/zabbix/alertscripts/weixin

使用命令调用方式检测微信配置文件

wKioL1ZYA9LhKkXyAABKS7Y1aQ4884.png650) this.width=650;" src="https://images.winkp.com/imgs/winkp/_winkp/2023/08/3942505577767353722.png" title="QQ图片20151127151659.png" class="aligncenter">

三、配置zabbix

wKioL1ZYBFSQSSxeAAC028I0pOA534.png650) this.width=650;" src="https://images.winkp.com/imgs/winkp/_winkp/2023/08/2628459137828186892.png" title="QQ图片20151127151901.png" class="aligncenter">

点击标记 users

wKioL1ZYBRuTxRdfAADqBDUCXr0780.png650) this.width=650;" src="https://images.winkp.com/imgs/winkp/_winkp/2023/08/6383215226443639436.png" title="QQ图片20151127152223.png" class="aligncenter">点击admin

wKioL1ZYBYOCLFZ8AACZobQpPHc560.png650) this.width=650;" src="https://images.winkp.com/imgs/winkp/_winkp/2023/08/2151616144597257085.png" title="QQ图片20151127152408.png" class="aligncenter">

wKiom1ZYBdeCQ8NOAACSbzmCiMI068.png650) this.width=650;" src="https://images.winkp.com/imgs/winkp/_winkp/2023/08/4846189567563221072.png" title="QQ图片20151127152710.png" class="aligncenter">

wKiom1ZYBYWiPQK8AADH8jp54q8311.png650) this.width=650;" src="https://images.winkp.com/imgs/winkp/_winkp/2023/08/6574123683641962248.png" title="QQ图片20151127152548.png" class="aligncenter">

编辑默认的Report problems(错误报告)

wKioL1ZYBrbBtN0QAACjAfBhsMg536.png650) this.width=650;" src="https://images.winkp.com/imgs/winkp/_winkp/2023/08/7733837180152548437.png" title="QQ图片20151127152919.png" class="aligncenter">

wKioL1ZYBu3yo7nTAADubWrfdrs837.png650) this.width=650;" src="https://images.winkp.com/imgs/winkp/_winkp/2023/08/2719034192483603883.png" title="QQ图片20151127153012.png" class="aligncenter">

添加

Name: Report problems to zabbix administrators

Default subject:{TRIGGER.STATUS}: {TRIGGER.NAME}

Default message:

Trigger host: {HOSTNAME}

Trigger ip: {HOST.IP}

Trigger time: {EVENT.DATE}:{EVENT.TIME}

Trigger:{TRIGGER.NAME}

Trigger status: {TRIGGER.SEVERITY}

Trigger URL: {TRIGGER.URL}

测试

wKioL1ZYB-jSXVTWAAA1AhaN8Os339.png650) this.width=650;" src="https://images.winkp.com/imgs/winkp/_winkp/2023/08/6131312061237706208.png" title="QQ图片20151127153416.png" class="aligncenter">

手机微信收到消息

wKiom1ZYB9Wy2f_RAAKsDc3NBhE847.png650) this.width=650;" src="https://images.winkp.com/imgs/winkp/_winkp/2023/08/2795968615954798875.png" title="Screenshot_2015-11-27-15-35-08.png" class="aligncenter">

第二天微信不发消息解决办法,清空缓存文件里面的内容

vim /usr/lib/zabbix/alertscripts/WeiXin-Private-API/cache/webToken

或者写脚本定时清空

相关文章