【典韦文章】zabbix实现微信报警

作者
典韦,追马代发

一、注册微信公众号

首先申请微信公众平台https://mp.weixin.qq.com/一个人最多申请5个公众号,所以还是可以的

申请完之后就可以根据腾讯的提示使用微信公众号了,然后用你自己的微信扫描关注微信号。

1.png

就可以看到用户数了,接下来的就要使用的用户的微信ID号了。点击用户查看用户的微信ID号。在浏览器查看用户的微信ID号。就是那个红色的ID了。

https://mp.weixin.qq.com/cgi-bin/singlesendpage?t=message/send&action=index&tofakeid=770373640&token=748989398&lang=zh_CN

2.png

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

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

修改配置文件

[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

修改config文件

[root@zabbix WeiXin-Private-API]# vi config.php
<?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文件,只需要保存这几行即可

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

创建微信报警脚本weixin

[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

测试报警

[root@zabbix alertscripts]# /usr/local/zabbix/share/zabbix/alertscripts/weixin 770373640 "" "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
        )
 
)

查看结果

3.png

三、配置zabbix

3.1、添加报警媒介

4.png

3.2、用户添加报警媒介,这里使用默认的administrator用户

5.png

3.3、添加报警动作

6.png

信息如下,使用默认的信息也可以

7.png

修改操作条件,使用默认的也是可以的

保存设置

四、验证结果

重启一台虚拟机进行测试。由于我也开启了邮件报警,所以看一下邮件先

8.png

看一下微信

9.jpg

OK的。完成。

【典韦文章】zabbix实现微信报警

Note: 本文的脚本借鉴于csdn上一哥们的文章,大家如果有需要可以参考下下文的链接,我这里只是抛砖引玉,为大家开个头。

参考文章:http://blog.chinaunix.net/uid-30236771-id-5037842.html

原创文章,作者:追马,如若转载,请注明出处:http://www.178linux.com/7407

(1)
追马追马
上一篇 2015-08-21
下一篇 2015-08-24

相关推荐

  • 一键编译安装httpd服务

    一键编译安装httpd服务 背景: httpd服务是一个常用的web服务,所以很多地方会用到,这里写一个一键编译安装httpd服务的脚本。 环境: 系统:centos6.9和centos7.3(应该所有的6和7的版本都可以使用) httpd源代码版本:httpd-2.2.34.tar.bz2和httpd-2.4.27.tar.bz2 。下载网址官网:http…

    2017-09-16
  • Linux DNS服务系列之主从复制、子域授权和转发、view配置详解

    前言 上文我们讲解了DNS服务的原理及正反向解析配置,相信大家对DNS服务已经有了初步了解。接下来,让我们进一步了解DNS服务的其它功能,本文将详解主从复制、子域授权和转发以及view的相关配置。 主从服务器配置 主从服务器关系 如果公司内DNS服务器负载过重或者为了实现冗余这一类功能就需要用到一个备份DNS服务器,备份服务器和主DNS服务器就形成了主从关系…

    Linux干货 2015-04-13
  • file 命令

    文件类型:             – 普通文件             d 目录文件   &nb…

    2017-07-23
  • 压缩和解压缩总结

                      压缩和解压缩的命令很多,今天总结如下: gzip  压缩比1–9  默认是6  压缩比越高  耗费CPU资源也多,文件比较小的话,不建议使用gzip压缩,因为使用gzip越压缩越大。…

    Linux干货 2017-04-17
  • Linux基础知识——文件查找

    Linux系统的核心思想之一就是一切皆文件,可想而知你要靠记忆去查找一个文件该是多么费劲;今天我们介绍几个文件查找命令:whereis,locate,find whereis locate the binary, source, and manual page files for…

    Linux干货 2016-10-11
  • Linux文件查找及压缩

    Linux文件查找(locate & find) locate     查询系统上预建的文件索引数据库(速度快,但更新不实时)     /var/lib/mlocate/mlocate.db     依赖于事先构建的索引 &nbsp…

    Linux干货 2016-08-19

评论列表(3条)

  • Tuolei
    Tuolei 2015-08-25 13:31

    之前没玩过微信的公众平台,第一步如何选择平台,是否选择企业号?

  • ok188.net
    ok188.net 2015-08-28 09:39

    意义不大,普通公众号每天只能群发一条信息

  • 聂风_
    聂风_ 2015-08-31 14:10

    需要被告警人主动发一条信息给订阅号,你才能在“一段时间内”向被告警人发信息。