roger2001c 发表于 2019-1-19 10:08:03

Zabbix 添加QQ消息的方式进行告警

  yum安装所必须的软件包
  yum install lrzsz chrony gcc gcc-c++ git openssl-devel perl-ExtUtils-CBuilder perl-ExtUtils-MakeMaker -y
  安装cpanm工具
  curl -L https://cpanmin.us/ -o /usr/bin/cpanm && chmod +x /usr/bin/cpanm
  安装相关依赖的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
  安装时间稍长,耐心等...
http://s1.运维网.com/images/20171207/1512634064308264.png
  安装Mojo-Webqq
  cd /usr/src/
  git clone https://github.com/sjdy521/Mojo-Webqq.git
  cd Mojo-Webqq/
  perl Makefile.PL
  make && make install
http://s1.运维网.com/images/20171207/1512634737320195.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();
http://s1.运维网.com/images/20171207/1512635055771294.png
  添加执行权限
  chmod +x /usr/local/bin/MojoWebqq.pl
  后台启动Mojo-Webqq进程
  /usr/local/bin/MojoWebqq.pl>>/var/log/Mojo-Webqq.log 2>&1 &
  查看启动日志信息
  tail -f /var/log/Mojo-Webqq.log
http://s1.运维网.com/images/20171207/1512635608155817.png
  将QQ登录二维码下载到本地使用手机QQ扫码登录,如果你是用的SecureCRT远程访问的CentOS主机,可直接使用以下命令传输文件到Windows主机本地。
  sz /tmp/mojo_webqq_qrcode_default.png
http://s1.运维网.com/images/20171207/1512635436830316.png
  然后在SecureCRT的download目录可找到mojo_webqq_qrcode_default.png二维码图片,打开使用手机QQ扫码,,允许登录smartQQ。
http://s1.运维网.com/images/20171207/1512645647481143.png
  在手机QQ上添加你需要接收告警消息的QQ号码为好友后,在Zabbix服务器上创建QQ消息发送脚本。
  默认告警脚本位置:/zabbix安装目录/share/zabbix/alertscripts/ ,
  不知道的可以使用 find / -name alertscripts 查找地址
  例如我这里为
  /usr/lib/zabbix/alertscripts

http://s1.运维网.com/images/20171207/1512640381986771.png
  vi /usr/lib/zabbix/alertscripts/QQClient.sh 使用vi编辑器添加

  #!/bin/bash
  #好友的QQ号码
  qq=好友的QQ号码
  #Mojoqq服务器地址与端口号
  server="127.0.0.1"
  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为你的Zabbix服务器IP,如果在本机填127.0.0.1也可
http://s1.运维网.com/images/20171207/1512640571280958.png
  保存后,添加所需权限。
  chmod +x /usr/lib/zabbix/alertscripts/QQClient.sh
  chown -R zabbix.zabbix /usr/lib/zabbix/
  测试能否收到消息
  bash -x QQClient.sh 好友QQ号码 测试消息1 测试消息2
http://s1.运维网.com/images/20171207/1512644970458997.png
  出现发送成功说明没问题
  在Zabbix前端添加QQ消息发送配置。管理-报警媒介类型-创建媒介类型。
http://s1.运维网.com/images/20171207/1512641244770398.png
  名称:QQ告警

  类型:脚本

  脚本名称:QQClient.sh
  脚本参数:
  {ALERT.SENDTO}
  {ALERT.SUBJECT}
  {ALERT.MESSAGE}
管理-用户-Adminhttp://s1.运维网.com/images/20171207/1512641329708154.png
  报警媒介-添加
  类型:QQ消息
  收件人为接受告警消息的好友QQ号码
http://s1.运维网.com/images/20171207/1512641395761300.png
配置-动作-触发器类型创建新动作http://s1.运维网.com/images/20171207/1512641446388643.png
根据具体的应用创建动作名称,触发条件等等。http://s1.运维网.com/images/20171207/1512641684817090.png
  操作选项卡,点击 新的
http://s1.运维网.com/images/20171207/1512641760339407.png
http://s1.运维网.com/images/20171207/1512641924420536.png
http://s1.运维网.com/images/20171207/1512642000966171.png
  点击添加
  恢复操作选项卡与此类似
http://s1.运维网.com/images/20171207/1512642069501316.png
http://s1.运维网.com/images/20171207/1512642098162604.png
完成配置后即可实现QQ消息自动接收Zabbix告警消息。  -----测试----
  管理-用户-Admin(你要通知的用户)-报警媒介-添加-收件人填入需要通知的QQ好友的号码

http://s1.运维网.com/images/20171207/1512644229691457.png
  然后在配置-主机中添加一个要测试的IP地址(这里使用PING测试,为了方便测试可以把监控项的间隔改小一点)
http://s1.运维网.com/images/20171207/1512644519653372.png
http://s1.运维网.com/images/20171207/1512644419427827.png
  测试项添加完成,然后断开被测试IP的网络
  可以看到,已经收到告警

http://s1.运维网.com/images/20171207/1512644786823121.png
  ---END--
  PS:如果想更换发消息的QQ号码,登录http://w.qq.com
  扫描登录后,然后注销退出,运行
  /usr/local/bin/MojoWebqq.pl>>/var/log/Mojo-Webqq.log 2>&1 &
  使用新的二维码扫描登录即可
  参考
  http://blog.运维网.com/xfell/1880994
  http://www.bubuko.com/infodetail-1971742.html
  https://www.cnblogs.com/zhaijunming5/p/6899795.html



页: [1]
查看完整版本: Zabbix 添加QQ消息的方式进行告警