Nagios全方位告警接入-电话/微信/短信都支持-创新互联

百度告警平台地址: http://gaojing.baidu.com

专注于为中小企业提供成都网站设计、成都网站建设服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业化德免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了成百上千企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。

联系我们:

邮箱:gaojing@baidu.com

电话:13924600771

QQ群:183806029

Nagios接入

对于使用Nagios的用户,要接入百度告警非常简单,只需要按以下四步骤进行配置,就可以使用短信、电话、微信来接收Nagios告警信息接入步骤:

Step 1:在百度告警中配置服务和升级策略

Step 2:在Nagios中配置command.cfg,配置百度告警接方式

Step 3:在Nagios中配置templates.cfg,配置联系人使用百度告警接收告警

Step 4:测试配置是否成功,使用电话、短信、邮件、微信接收告警!


Step 1 在百度告警中配置服务和升级策略

  1. 登录百度告警,完善个人联系方式,然后点击进入默认空间

  2. 点击升级策略,创建微信、电话、短信、邮件接收告警信息的升级策略

  3. 在服务管理中,创建Nagios接收服务

  4. 请记录下服务ID以及Token,演示视频中的服务ID为3222,token为61525e2074ae83c71b75e3a3e51eb948,在后续Nagios配置中需要用到

Nagios全方位告警接入-电话/微信/短信都支持


Step 2:在Nagios中配置command.cfg

1) 将百度告警发送脚本gaojing_nagios.sh下载到Nagios命令目录下(默认为/usr/local/nagios/libexec),确认其权限与其他命令一样 (如nagios:nagios)

  点击 这里下载gaojing_nagios.sh告警脚本

  gaojing_nagios.sh 脚本内容:

#! /bin/bash  
   
TIME=`date`  
   
SEND_TO=$1  
   
TITLE="nagios alert"  
   
CONTENT=$2  
  
SERVICE_ID=`eval echo $SEND_TO|awk -F, '{print $1}'`  
  
SERVICE_KEY=`eval echo $SEND_TO|awk -F, '{print $2}'`  
  
EVENT_TYPE='trigger'  
  
DESCRIPTION="$TITLE-$CONTENT"  
  
DATA="{service_id : \"$SERVICE_ID\", description : \"$DESCRIPTION\",event_type : \"$EVENT_TYPE\"}"  
  
curl --silent -H "servicekey:$SERVICE_KEY" -X POST -d "$DATA" http://gaojing.baidu.com/event/create

如果Nagios的安装目录为默认目录,并且Nagios的启动用户为 nagios , 可以参考如下命令:

cd /usr/local/nagios/libexec  
  
wget http://help.gaojing.baidu.com/help/wp-content/uploads/2015/10/gaojing_nagios.sh  
  
chown nagios:nagios gaojing_nagios.sh  
  
chmod 755 gaojing_nagios.sh

最后的脚本权限如下图:

Nagios全方位告警接入-电话/微信/短信都支持

2) 修改nagios的配置文件command.cfg(默认位置为:/usr/local/nagios/etc/objects),command.cfg用以配置nagios各项监控和操作命令

 添加新的command:notify-service-by-baidugaojingnotify-host-by-baidugaojing,其中 3222 和 61525e2074ae83c71b75e3a3e51eb948 为之前百度告警服务的id和 token

如果Nagios安装在默认目录,可以用如下命令进行编辑:

cd /usr/local/nagios/etc/objects  
  
vim templates.cfg


notify-service-by-baidugaojing command :

define command{
    command_name notify-service-by-baidugaojing
    command_line /bin/echo "告警类型: $NOTIFICATIONTYPE$ 告警服务: $SERVICEDESC$ 主机别名: $HOSTALIAS$ 主机IP: $HOSTADDRESS$ 服务状态: $SERVICESTATE$ 发生时间: $LONGDATETIME$ 附加信息: $SERVICEOUTPUT$" | xargs -i /usr/local/nagios/libexec/baidu_gaojing.sh 3222,61525e2074ae83c71b75e3a3e51eb948 {}
}

notify-host-by-baidugaojing command :

define command{
    command_name notify-host-by-baidugaojing
    command_line /bin/echo "告警类型: $NOTIFICATIONTYPE$ 主机名: $HOSTNAME$ State: $HOSTSTATE$ 主机IP: $HOSTADDRESS$ 主机状态: $HOSTOUTPUT$ 发生时间: $LONGDATETIME$ | xargs -i /usr/local/nagios/libexec/baidu_gaojing.sh 3222,61525e2074ae83c71b75e3a3e51eb948 {}
}


Step 3:在Nagios中配置templates.cfg

1) 修改Host和Service告警的发送方式。如果是初始安装配置,直接在模板配置templates.cfg中修改service_notification_commands和host_notification_commands的值为设置好的notify-service-by-baidugaojing和notify-host-by-baidugaojing

如果Nagios安装在默认目录,可以用如下命令进行编辑:

cd /usr/local/nagios/etc/objects

vim templates.cfg

最终编辑后的效果如下图:

Nagios全方位告警接入-电话/微信/短信都支持

 2) 重新启动nagios,配置修改就完成了

执行如下指令重启Nagios:

service nagios restart

Nagios全方位告警接入-电话/微信/短信都支持


Step 4:测试配置是否成功

1) 打开Nagios的服务监控页面,我们以Current Load作为测试对象,现在其状态为OK

Nagios全方位告警接入-电话/微信/短信都支持

2) 给被监控对象的机器更多的测试负载

执行如下测试语句,以达到机器负载过高的效果:

cd ~
find . | xargs -P 50 -i cat {} > /dev/null

执行语句后,使用top指令查看机器的负载,效果如下图所示:

Nagios全方位告警接入-电话/微信/短信都支持

4) nagios监控到CRITICAL的告警

Nagios全方位告警接入-电话/微信/短信都支持

5) 在手机上收到百度告警发送的告警短信

Nagios全方位告警接入-电话/微信/短信都支持

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


当前标题:Nagios全方位告警接入-电话/微信/短信都支持-创新互联
本文路径:http://azwzsj.com/article/dihpdj.html