【马哥linux学员学习笔记】zabbix实现微信报警

本文作者系马哥linux学员典韦。

一、注册微信公众号

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

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

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

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

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

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

修改配置文件

[[email protected] ~]# git clone https://github.com/lealife/WeiXin-Private-API
[[email protected] ~]# cp -r WeiXin-Private-API/ /usr/local/zabbix/share/zabbix/alertscripts/
[[email protected] ~]# cd /usr/local/zabbix/share/zabbix/alertscripts/WeiXin-Private-API
[[email protected] WeiXin-Private-API]# chown zabbix.zabbix /usr/local/zabbix/share/zabbix/alertscripts/WeiXin-Private-API

修改config文件

[[email protected] 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

[[email protected] alertscripts]# vi weixin
/usr/bin/php /usr/local/zabbix/share/zabbix/alertscripts/WeiXin-Private-API/test.php "$1" "$2" "$3"
[[email protected] alertscripts]# chown -R zabbix.zabbix weixin
[[email protected] alertscripts]# chmod +x weixin

测试报警

[[email protected] 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
        )
 
)

查看结果

三、配置zabbix

3.1、添加报警媒介

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

3.3、添加报警动作

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

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

保存设置

四、验证结果

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

看一下微信

OK的。完成。

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

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

时间: 2024-10-03 13:38:49

【马哥linux学员学习笔记】zabbix实现微信报警的相关文章

【马哥linux学员学习笔记】MySQL多实例详解

本文作者系马哥linux学员云中鹤. 目录 一.基本概念 1.MySQL多实例 就是在一台机器上面开启多个不同的端口,运行多个MySQL服务进程.这些MySQL多实例公用一套安装程序,使用不同的(也可以是相同的)配置文件,启动程序,数据文件.在提供服务时候,多实例MySQL在逻辑上看来是各自独立的,多个实例的自身是根据配置文件对应的设定值,来取得相关硬件资源的多少. 2.应用场景 1).采用了数据伪分布式架构的原因,而项目启动初期又不一定有那多的用户量,为此先一组物理数据库服务器,但部署多个实例

一篇文章带你入门Linux——马哥Linux基础学习笔记

1.课程体系: 中级: 初级:系统基础 中级:系统管理.服务安全及服务管理.Shell脚本: 高级: MySQL数据库: cache & storage 集群: Cluster lb: 4layer 7layer ha: 分布式: zookeeper 分布式文件系统 虚拟化技术: xen kvm Openstack:IAAS云: 运维工具: ansible puppet(ruby), saltstack(python) 监控工具: zabbix 大数据处理: hadoop spark, stor

马哥linux学员是如何在一年内突破年薪22w的!

一.马哥linux学员高薪就业: 1.该学员经过不到一年的视频学习--16k*14的薪资待遇 2.下面这位学员薪资待遇实现翻倍 二.马哥linux技术yy分享平台: 每周六的yy分享是马哥linux的一张优秀名片和独具魅力的交流模式,已成为linux运维界的一场技术盛宴和运维技术交流及分享的最佳平台. 答疑环节--马哥linux团队众多老师对学员们一周来的问题进行排忧解难,扫除学习中遇到的问题. 技术分享环节--由各位老师和知名公司的运维大牛为学员们分享 往期精彩分享回顾(部分): 1.分享主流

马哥教育视频学习笔记-shell脚本完成磁盘分区格式化

马哥教育视频学习笔记-shell脚本完成磁盘分区格式化-http://edu.51cto.com/lesson/id-28201.html 以下是脚本内容,内容比较简单,不做详解 在Linux上准备一块空闲的磁盘即可,如何分区可以在脚本内改下 #!/bin/bash # echo "Initial a disk..." echo -e "\033[31mWarning: \033[0m " #开始的说明信息,其中Warning以红色字体显示 fdisk -l 2&g

马哥Linux培训学习——编译安装Apache HTTP Server 2.4.10

目的:通过编译安装httpd, 掌握基于Linux环境下源代码编译安装程序的一般方法和步骤. 环境: 操作系统:CentOS 6.5 内核版本:2.6.32-431.el6.i686 软件版本:Apache HTTP Server 2.4.10 软件下载: 1.Apache HTTP Server 2.4.10 (httpd): http://apache.dataguru.cn//httpd/httpd-2.4.10.tar.bz2 2.Apache Portable Runtime 1.5.

马哥运维学习笔记(一)

系统版本: ISO:CentOS-7-x86_64-Everything-1511 (安装时选择的语言是中文版,支持的还不错,看帮助信息很方便) [[email protected] ~]$ cat /etc/redhat-release              #系统最小化安装,以上简称C7.2 CentOS Linux release 7.2.1511 (Core) 查看SSH端口: [[email protected] ~]$ ss -tnl            #查看SSH端口,可以

马哥Linux学习笔记之四——DNS

1.BIND:Berkeley Internet Name Domain DNS:Domian Name Service 域名解析 2. Http 3.PAM 插入式认证模块 4.SMTP/POP3/IMAP4:Mail Server 5.域名 www.baidu.com这是一个主机名(FQDN,Full Qualified Domain Name,完全限定域名),com是一个域名,baidu.com也是一个域名,域名是好多主机的集合. 域名解析起后面有一个数据库,解析就是一个查询的过程.域名解

马哥Linux学习笔记之五——邮件服务

1.SMTP只负责将邮件发送到服务器,其他的,像身份认证检测邮件,都不能完成.(25/tcp) ESMTP:Extended SMTP POP3:Post Office Protocol IMAP4:Internet Mail Access Protocol 2.Open Relay:开放式中继 就是人家的邮件从这个邮件服务器过,你都帮忙转发,这样就会成为产生垃圾邮件的根源.所以都要关闭Open Relay 3.SASL,Simple Authintication Secure Layer,简单

马哥Linux学习笔记之三——加密

1.明文传输 ftp,http,smtp,telnet 2.机密性:plaintext-->转换规则-->ciphertext ciphertext-->转换规则-->plaintext 完整性:单项加密算法,提取数据特征码.输入一样,输出必然一样:雪崩效应,输入的微小改变,将会引起结果的巨大改变:无论原始数据是多少,结果大小都是相同的:不可逆,无法根据特征码还原原来的数据. 3.密钥 4.对称加密:有加密算法,有密钥 5.密钥交换算法 IKE(Internet Key Excha