博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
实战Nagios网络监控(3)——Nagios 微信报警
阅读量:6335 次
发布时间:2019-06-22

本文共 2342 字,大约阅读时间需要 7 分钟。

1. 下载微信公众平台私有接口

# yum install -y git

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


2. 修改微信公众平台私有接口代码,以配合 nagios 报警

# cp -r WeiXin-Private-API /usr/local/nagios/libexec/weixin

# chown -R nagios.nagios /usr/local/nagios/libexec/weixin

# cd /usr/local/nagios/libexec/weixin

修改 config.php 文件:

$G_CONFIG["weiXin"] = array(

'account' => '微信公众平台登录帐号',

#填写你注册的微信订阅号的帐号和密码

'password' => '微信公众平台登录密码',

修改 test.php 文件,只保留如下几行即可:

<?php

require "config.php";

require "include/WeiXin.php";

$weiXin = new WeiXin($G_CONFIG['weiXin']);

$testFakeId = "$argv[1]"; #微信好友 ID 号,这里通过 nagios 传入

$msg = `cat /usr/local/nagios/var/nagios.msg`; #要发送的报警信息,由 nagios 传入

print_r($weiXin->send($testFakeId, "$msg")); #给微信好友发送信息


3. 整合 nagios 和微信公共平台私有接口

1) 增加微信报警选项: templates.cfg

修改 /usr/local/nagios/etc/objects/templates.cfg

在 define contact{...} 部分,将以下两行:

service_notification_commands notify-service-by-email

host_notification_commands notify-host-by-email

改为:service_notification_commands notify-service-by-email,service-notify-by-weixin

host_notification_commands notify-host-by-email,host-notify-by-weixin

2) 增加调用命令: commands.cfg

修改 /usr/local/nagios/etc/objects/commands.cfg

在该文件的最后增加以下部分:

##### host-notify-by-weixin command definition

define command{

command_name host-notify-by-weixin

command_line /usr/bin/printf "%b" "***** Nagios *****\n\nNotification Type:

$NOTIFICATIONTYPE$\nHost: $HOSTNAME$\nState: $HOSTSTATE$\nAddress:

$HOSTADDRESS$\nInfo: $HOSTOUTPUT$\n\nDate/Time: $LONGDATETIME$\n" >

/usr/local/nagios/var/nagios.msg && /usr/bin/php /usr/local/nagios/libexec/weixin/test.php

$CONTACTADDRESS1$ &>/dev/null

}

##### service-notify-by-weixin command definition

define command{

command_name service-notify-by-weixin

command_line /usr/bin/printf "%b" "***** Nagios *****\n\nNotification Type:

$NOTIFICATIONTYPE$\n\nService: $SERVICEDESC$\nHost: $HOSTALIAS$\nAddress:

$HOSTADDRESS$\nState: $SERVICESTATE$\n\nDate/Time: $LONGDATETIME$\n\nAdditional

Info:\n\n$SERVICEOUTPUT$\n" > /usr/local/nagios/var/nagios.msg && /usr/bin/php

/usr/local/nagios/libexec/weixin/test.php $CONTACTADDRESS1$ &> /dev/null

3) 修改联系人选项: contact.cfg

修改 /usr/local/nagios/etc/objects/contact.cfg

在 define contact{...} 部分增加如下一行

address1    1000000000    #微信好友 ID

4) 重载 nagios 配置

# service nagios reload

本文转自willis_sun 51CTO博客,原文链接:http://blog.51cto.com/willis/1866098,如需转载请自行联系原作者
你可能感兴趣的文章
【OpenCV学习】子区域处理
查看>>
trim函数,剔除字符
查看>>
分享:Python-SIP 4.14.2 发布
查看>>
Firefox OS 模拟器 1.0 发布
查看>>
最短路径问题
查看>>
vim常用命令操作(重要)
查看>>
《LINUX私房菜》笔记
查看>>
学用MVC4做网站四:公共模型
查看>>
Win7 如何更改用户名
查看>>
网站转接支付宝解决方案
查看>>
JavaScript实用的一些技巧
查看>>
我们在囧途之软件投标篇
查看>>
(转)深入理解flash重绘
查看>>
SVN Update Error: Please execute the 'Cleanup' command
查看>>
学习方法
查看>>
Android实现渐显按钮的左右滑动效果
查看>>
Script:RAC Failover检验脚本loop.sh
查看>>
字符串函数之strncmp
查看>>
PuTTY Fatal Error Network error: Connection refused
查看>>
09网易校园招聘笔试题
查看>>