百度告警平台地址: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 在百度告警中配置服务和升级策略


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

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

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

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



Step 2:在Nagios中配置command.cfg

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

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

gaojing_nagios.sh 脚本内容:

#!/bin/bashTIME=`date`SEND_TO=$1TITLE="nagiosalert"CONTENT=$2SERVICE_ID=`evalecho$SEND_TO|awk-F,'{print$1}'`SERVICE_KEY=`evalecho$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"-XPOST-d"$DATA"http://gaojing.baidu.com/event/create

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

cd/usr/local/nagios/libexecwgethttp://help.gaojing.baidu.com/help/wp-content/uploads/2015/10/gaojing_nagios.shchownnagios:nagiosgaojing_nagios.shchmod755gaojing_nagios.sh

最后的脚本权限如下图:

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

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

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

cd/usr/local/nagios/etc/objectsvimtemplates.cfg


notify-service-by-baidugaojing command :

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

notify-host-by-baidugaojing command :

definecommand{command_namenotify-host-by-baidugaojingcommand_line/bin/echo"告警类型:$NOTIFICATIONTYPE$主机名:$HOSTNAME$State:$HOSTSTATE$主机IP:$HOSTADDRESS$主机状态:$HOSTOUTPUT$发生时间:$LONGDATETIME$|xargs-i/usr/local/nagios/libexec/baidu_gaojing.sh3222,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/objectsvimtemplates.cfg

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


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

执行如下指令重启Nagios:

servicenagiosrestart




Step 4:测试配置是否成功


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

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

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

cd~find.|xargs-P50-icat{}>/dev/null


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

4) nagios监控到CRITICAL的告警


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