最新Zabbix通過QQ消息的方式接收告警的部署

  使用zabbix 3.0版本,關於zabbix的安裝部署這裏不再講述,官網有詳細文檔,網上也有很多教程。此處只講述配置QQ消息發送告警消息的配置方法。

環境:

CentOS 7.3 x86_64 虛擬機一臺

QQ帳號一個

安裝:

  全新最小化安裝一臺CentOS 7.3系統的虛擬機,如果你的Zabbix都部署在公網環境,那麼此服務器也建議公網環境。安裝完成後,禁用selinux。

sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config

setenforce 0

wKioL1i9LziwXajMAAAh_IpEcmQ118.png

禁用防火牆服務

systemctl stop firewalld

systemctl disable firewalld

wKioL1i9Lb-ChAPrAAAusSajEzI441.png

修改默認的yum源地址爲國內阿里雲,加快訪問速度。

sed -i "s:mirrorlist=http\://mirrorlist.centos.org:#mirrorlist=http\://mirrorlist.centos.org:g" /etc/yum.repos.d/CentOS-Base.repo

sed -i "s:#baseurl=http\://mirror.centos.org:baseurl=http\://mirrors.aliyun.com:g" /etc/yum.repos.d/CentOS-Base.repo

wKioL1i9LaWyDMpmAAA5xYdI3c8221.png

使用yum安裝所必須的軟件包

yum install lrzsz chrony gcc gcc-c++ git openssl-devel perl-ExtUtils-CBuilder perl-ExtUtils-MakeMaker -y

wKioL1i9LpHghGu0AAAg0L3b10k624.png

啓用系統時間自動同步

systemctl enable chronyd

systemctl start chronyd

wKioL1i9L4eDJrrBAACzv4xJXbU427.png

安裝cpanm工具

curl -L https://cpanmin.us/ -o /usr/bin/cpanm && chmod +x /usr/bin/cpanm

wKioL1i9L8bi4Z_iAAA-8ef6Hwo085.png

安裝相關依賴的perl插件

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

wKiom1i9MQLACKmPAACNk5yqcHk128.png

安裝Mojo-Webqq

cd /usr/src/

git clone https://github.com/sjdy521/Mojo-Webqq.git

cd Mojo-Webqq/

perl Makefile.PL

make && make install

wKioL1i9MXyAIyctAACNosTKVNA834.png

創建Mojo-Webqq啓動腳本

vi /usr/local/bin/MojoWebqq.pl 文件


#!/usr/bin/env perl

use Mojo::Webqq;

my ($host,$port,$post_api);


$host = "0.0.0.0"; #發送消息接口監聽地址,沒有特殊需要請不要修改

$port = 5000;      #發送消息接口監聽端口,修改爲自己希望監聽的端口

#$post_api = 'http://xxxx';  #接收到的消息上報接口,如果不需要接收消息上報,可以刪除或註釋此行


my $client = Mojo::Webqq->new();

$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

wKioL1i9MfbwyoXqAAB3j9IZ4BQ685.png

後臺啓動Mojo-Webqq進程

/usr/local/bin/MojoWebqq.pl  >>/var/log/Mojo-Webqq.log 2>&1 &

wKiom1i9MmnA0qg5AAAf8S0yrPA422.png

查看啓動日誌信息

tail -f /var/log/Mojo-Webqq.log

wKiom1i9MqHxDZXHAACP0JGPZd4474.png

將QQ登錄二維碼下載到本地使用手機QQ掃碼登錄,如果你是用的SecureCRT遠程訪問的CentOS主機,可直接使用以下命令傳輸文件到Windows主機本地。

sz /tmp/mojo_webqq_qrcode_default.png

wKioL1i9NEuivozFAAA1RmFeW8o060.png

然後在SecureCRT的download目錄可找到mojo_webqq_qrcode_default.png二維碼圖片,打開使用手機QQ掃碼,,允許登錄smartQQ。

wKiom1i9NcmB5d5bAACus3JBTZc560.png

在日誌可查看到成功登錄信息

tail -f /var/log/Mojo-Webqq.log 

wKiom1i-Am6QIGmJAAByz2q-um0005.png

在手機QQ上添加你需要接收告警消息的QQ號碼爲好友後,在Zabbix服務器上創建QQ消息發送腳本。

默認告警腳本位置 /zabbix安裝目錄/share/zabbix/alertscripts/ ,例如我這裏爲

/data/zabbix/share/zabbix/alertscripts/ 

vi /data/zabbix/share/zabbix/alertscripts/QQClient.sh 使用vi編輯器添加

#!/bin/bash


#好友的QQ號碼

qq=$1


#Mojoqq服務器地址與端口號

server="192.168.1.10"

port="5000"


#消息內容處理下編碼,用於合併告警內容的標題和內容,即$2和$3

message=`echo -e "$2\n$3"|od -t x1 -A n -v -w100000 | tr " " %`


#調用的api接口

api_url="http://$server:$port/openqq/send_friend_message"

parameter="uid=$qq&content=$message"


#post方式提交請求發送QQ好友消息

curl -d $parameter $api_url


#注意 這裏的server爲你的QQ消息服務器IP地址或域名,就是上面部署的那臺CentOS 7.3虛擬機。


wKioL1i9O4nxVhRTAAB32DIcgaE599.png

保存後,添加所需權限。

chmod +x /data/zabbix/share/zabbix/alertscripts/QQClient.sh

chown -R zabbix.zabbix /data/zabbix/share/

wKiom1i9OFrAczrBAAAeKp74NrY653.png

在Zabbix前端添加QQ消息發送配置。這裏爲zabbix 3.2.3版本,管理-報警媒介類型-創建媒介類型。

wKiom1i9Nu-i9kXXAAA5l8KZTS4325.png

名稱:QQ消息

類型:腳本

腳本名稱:QQClient.sh

腳本參數:{ALERT.SENDTO}

      {ALERT.SUBJECT}

      {ALERT.MESSAGE}

wKiom1i9OXDRs4Z8AAAzkoRV1FQ118.png

管理-用戶-Admin

wKiom1i9ObWSZw-aAABIedylhEo402.png

報警媒介-添加

wKiom1i9OejTjU9uAAAoTQJbKJY313.png

類型:QQ消息

收件人爲接受告警消息的好友QQ號碼

wKioL1i9O9LyYardAAAiSNd6q_w853.png

配置-動作-觸發器類型創建新動作

wKioL1i9PD_QO6O9AAAzVGkyG4U305.png

根據具體的應用創建動作名稱,觸發條件等等。

wKiom1i9PLGBaX_nAABCZK-G4eE353.png

操作選項卡,點擊 新的。

wKioL1i9PQXgXb-JAABFOhPLrE4845.png

配置用戶Admin,QQ消息。

wKioL1i9PTryx6BVAAA16ij6cCI696.png

恢復操作選項卡與此類似

wKiom1i9PffR9nxnAABZWh6FEPo679.png

完成配置後即可實現QQ消息自動接收Zabbix告警消息。


Mojo-Webqq項目,Perl語言編寫的基於smartqq協議的客戶端框架,歡迎加入開發團隊。 

https://github.com/sjdy521/Mojo-Webqq



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章