zabbix实现Wechat告急

Zabbix3.2.9QQ群消息实现告警,zabbix3.2.9qq告警

Zabbix自动化监控QQ交流群:9888359 欢迎喜欢交流的朋友加入!

一、环境

cat /etc/redhat-release 
操作系统:CentOS Linux release 7.3.1611 (Core) 
Zabbix软件版本:zabbix_server (Zabbix) 3.2.9

二、安装所需包
yum install lrzsz chrony gcc gcc-c++ git openssl-devel perl-ExtUtils-CBuilder perl-ExtUtils-MakeMaker -y

systemctl enable chronyd
systemctl start chronyd

三、安装Mojo-Webqq
curl -L https://cpanmin.us/ -o /usr/bin/cpanm && chmod +x /usr/bin/cpanm
cpanm --mirror http://mirrors.sohu.com/CPAN/ Digest::MD5 Encode::Locale IO::Socket::SSL Mojolicious Time::Piece Time::Seconds Compress::Raw::Zlib Digest::SHA --force
cpanm  Mojo::SMTP::Client MIME::Lite

cd /usr/src/ && git clone https://github.com/sjdy521/Mojo-Webqq.git
cd Mojo-Webqq/ && perl Makefile.PL
make && make install

vim /usr/local/bin/MojoWebqq.pl
#!/usr/bin/env perl
use Mojo::Webqq;
my ($host,$port,$post_api);
$host = "0.0.0.0";
$qq = "10880347";
$port = 5000;
my $client = Mojo::Webqq->new(qq=>$qq);
$client->load("PostQRcode",data=>{
        smtp    =>  'smtp.qq.com',
        port    =>  '25',
        from    =>  '[email protected]',
        to      =>  '[email protected]',
        user    =>  '[email protected]',
        pass    =>  '***************',
  });

$client->login();
#$client->load("ShowMsg");
$client->load("Openqq",data=>{listen=>[{host=>$host,port=>$port}], post_api=>$post_api});
$client->run();

添加执行权限 
chmod +x /usr/local/bin/MojoWebqq.pl

后台启动Mojo-Webqq进程
/usr/local/bin/MojoWebqq.pl  >>/var/log/zabbix/zabbix-Mojo-Webqq.log 2>&1 &

tail -f /var/log/zabbix/zabbix-Mojo-Webqq.log
 (Missing semicolon on previous line?)
syntax error at /usr/local/bin/MojoWebqq.pl line 14, near "pass    =>  '"
Execution of /usr/local/bin/MojoWebqq.pl aborted due to compilation errors.
[17/10/29 20:36:43] [info] 当前正在使用 Mojo-Webqq v2.1.4
[17/10/29 20:36:43] [info] 执行插件[ Mojo::Webqq::Plugin::PostQRcode ]
[17/10/29 20:36:43] [info] 初始化 smartqq 客户端参数...
[17/10/29 20:36:43] [info] 正在获取登录二维码...
[17/10/29 20:36:44] [info] 二维码已下载到本地[ /tmp/mojo_webqq_qrcode_default.png ]
[17/10/29 20:36:44] [info] 登录二维码已经发送到邮箱: [email protected]
[17/10/29 20:36:44] [info] 等待手机QQ扫描二维码...

vim zabbix_qq.sh

qq=$1
server=”172.16.8.111″
port=”5000″
message=`echo -e “$2\n$3″|od -t x1 -A n -v -w1000000000 | tr ” ” %`
api_url=””
parameter=”uid=$qq&content=$message”
#CURL=`curl -d $parameter $api_url`
curl -d $parameter $api_url

测试结果

如果出现该问题:

[17/11/21 17:20:32] [error] 发送邮件,请先安装模块
Mojo::SMTP::Client
[17/11/21 17:20:32] [error]
插件[Mojo::Webqq::Plugin::PostQRcode]邮件发送失败: 

解决办法

cpanm  Mojo::SMTP::Client MIME::Lite  --force  

Zabbix自动化监控QQ交流群:9888359 欢迎喜欢交流的朋友加入!


1


0

什么是zabbix?

Zabbix 是由 Alexei Vladishev 开发的一种网络监视、管理系统,基于
Server-Client 架构。可用于监视各种网络服务、服务器和网络机器等状态。
使用各种 Database-end 如 MySQL, PostgreSQL, SQLite, Oracle或 IBM
DB2储存资料。Server 端基于 C语言、Web 管理端 frontend则是基于
PHP所制作的。Zabbix 可以使用多种方式监视。可以只使用 Simple Check
不需要安装 Client 端,亦可基于 SMTP 或 HTTP …
各种协定做死活监视。在客户端如 UNIX, Windows 中安装 之后,可监视 CPU
Load、网络使用状况、硬盘容量等各种状态。而就算没有安装 Agent
在监视对象中,Zabbix 也可以经由 SNMP、TCP、ICMP、利用
IPMI、SSH、telnet对目标进行监视。另外,Zabbix 包含 XMPP等各种 Item
警示功能。

实验环境
centos 7.3 (zabbix server) ip:192.168.18.131
centos 7.3 (zabbix agent) ip:192.168.18.105
zabbix 3.4(这里安装的是获取官网的yum仓库,从yum安装)
确保已安装zabbix_server 端和zabbix_agent 端(一个或多个agent端)

Zabbix3通过公司邮件服务器发送告警

查看评论

Zabbix自动化监控 QQ 交流群 : 9888359 欢迎喜欢交流的朋友加入!
一、环境cat /etc/redhat-release 操作系…

一、申请微信企业号

地址:
https://qy.weixin.qq.com/

图片 1

图片 2

注:用于测试这里的企业名称可随便填写。这里绑定微信,则以后则可用微信登录。
注意登录以后我们要获取三个重要的参数:
分别是:
CropID、Secret、agentid!(以后编写脚本所用到,以便能从Linux传信息到微信中)
CropID:

图片 3

Secret、agentid
这里的Secret、agentid不会默认就生成,是由自己创建企业应用得来!

图片 4

图片 5

到这里我们获取到了三个关键的参数!

本文针对的操作系统为ubuntu14.04, zabbix server
3.0,以下为整个配置过程,有任何疑问请联系s00371275.

二、脚本实现。

1.创建脚本。

[root@master alertscripts]#vim weixin.sh
#!/bin/bash

CropID='wwXXXXXXXXX883'  //这里填写企业CorpID
Secret='WR_XXXXXXXXXXXX17I9mt14'  //这里填写应用Secret
GURL="https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=$CropID&corpsecret=$Secret"
Gtoken=$(/usr/bin/curl  $GURL -H "DNT: 1" -H "Accept-Encoding: gzip, deflate" -H "Accept-Language: zh-CN,zh;q=0.8" -H "User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.135 BIDUBrowser/8.1 Safari/537.36" -H "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8" -H "X-DevTools-Emulate-Network-Conditions-Client-Id: B546FC80-414C-403F-95F0-EB0F70E58EF7" -H "Connection: keep-alive" -H "Cache-Control: max-age=0" --compressed | awk -F \" '{print $10}')

PURL="https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=$Gtoken"
function body() {
        local int appId=1000002   //这里填写应用AgentID
        local userId=$1
        local partyId=2
        local msg=$(echo "$@" | cut -d" " -f3-)
        printf '{\n'
        printf '\t"touser":"'"$userId"\"",\n"
        printf '\t"toparty":"'"$partyId"\"",\n"
        printf '\t"msgtype": "text",'"\n"
        printf '\t"agentid":"'"$appId"\"",\n"
        printf '\t"text":{\n'
        printf '\t\t"content":"'"$msg"\"
        printf '\n\t},\n'
        printf '\t"safe":"0"\n'
        printf '}\n'
}
body $1 $2 $3    
/usr/bin/curl --data-ascii "$(body $1 $2 $3)" $PURL   //这里传三个参数

2.测试。
赋予脚本执行权限,属主属组,正确的路径!

[root@master alertscripts]#chmod +x weixin.sh
[root@master alertscripts]#chown zabbix.zabbix weixin.sh
[root@master alertscripts]#pwd
/usr/lib/zabbix/alertscripts

图片 6

这里出现errcode”:0,”errmsg”:”ok”,”invaliduser”:”123″,表示没有问题!看下微信企业端是否收到消息!如果收到,则表示脚本可正常使用!

图片 7

这里出现则表示企业微信可成功接收消息!

第一步,安装msmtp和Mutt

三、zabbix 设置!

apt-getinstallmsmtpMutt

1.登录zabbix,进入管理的报警媒介变量,创建报警媒介!

图片 8

图片 9

这里填入按个脚本参数。
{ALTER.SENDTO} # 发送给谁,该参数在邮件告警中有作用,但微信告警中没有
{ALTER.SUBJECT} #
告警标题,该参数在邮件告警中有作用,但微信告警中没有
{ALTER.MESSAGE} # 告警内容,在微信告警中有用

需要更换成内网源,详见http://rnd-mirrors.huawei.com/helps/ubuntumirror

2.创建动作

创建动作之前首先添加监控主机!
填写主机名称、可见的名称、群组、agent代理程序的接口!

图片 10

模板先可用内建的模板使用测试。[Template OS Linux]

图片 11

添加动作!

图片 12

图片 13

图片 14

图片 15

图片 16

在zabbix的控制面板查看zabbix状态!

图片 17

出现以上信息基本没什么为题了!

第二步,配置msmtp和Mutt

四、测试

1.让zabbix的后端服务器关机看是否能发送警报!

图片 18

web界面显示动作已完成,并发送了报警信息!我们查看手机客户端是否接收到消息!

图片 19

这里已成功接收!
2.开启zabbix的后端服务器看是否能发送提醒消息!

图片 20

已成功发送警报!

图片 21

Trigger status:由原来的PROBLEM 变为OK!

到这里zabbix的微信告警已成功实现!也可以使用邮件发送警报!

如有不足,请多多指教!

2.1添加msmtprc配置

vim /etc/msmtprc

account default

host smtpscn.huawei.com

port 25

from songyingjun@huawei.com

auth login

tls off

user s00371275

password ******

logfile /var/log/mmlog

配置说明:基本上很清晰可以看到每个参数的含义,着重说明下password是域账号的密码

Copyright @ 2015-2019 ca88 版权所有
网站地图xml地图