基于Nagios网络监控平台的实现(9)

5.5 监控网络核心路由器配置

5.5 nagios报警功能

5.5.1邮箱报警方式

Nagios 的报警功能一直是它最强大的地方,Nagios 默认使用mail 命令发送报警邮件,RedHat默认安装并启动了sendmail,使用邮件报警,可以使用139 邮箱的短信通知功能,如此可以省得很大一部分资金的开销,测试你的Nagios 是否可以正常发送邮件:

[root@Nagios-Server ~]# echo "hehe" | mail -s "test" 1003028158@qq.com

如果测试没问题,你的Nagios 配置也没有问题,就可以正常使用了。

注意:发送的邮件一般会被当做垃圾邮件,存放在垃圾邮件箱。

5.5.2飞信报警方式

1.安装飞信机器人程序。

# tar -zxvf fetion_linux_2010...tar.gz(现在飞信用的是新版本)

# cp sms /usr/local/nagios/libexec

然后拷贝Library32下的所有库文件到 /lib 以及/usr/lib。 现在可以测试飞信是否能发信息。

# /usr/local/nagios/libexec/sms -f 号码 -p 飞信的密码 -t 接受信息的手机号码 -m ″信息内容″

注意:只能给好友发信息,发送成功后系统会有相应的提示。 可以使用 /usr/local/nagios/libexec/sms --help 获得飞信的使用帮助。

2.增加Nagios监控服务器的飞信报警命令。

(1)修 改/usr/local/nagios/etc/objects/command.cfg 文件在邮件报警相关定义 “# ′notify-service-by-email′”后,加入飞信报警的定义。

#notify-host-by-sms

define command{

command_name notify-host-by-sms

command_line /usr/local/nagios/libexec/sms -f号码 -p 飞信密码 -t $CONTACTPAGER$ -m ″$HOSTNAME$ $SERVICEDESC$ is $SERVICESTATE$ on $TIME$ result is $SERVICEOUTPUT$″ $CONTACTPAGER$

}

#notify-service-by-sms

define command{

command_name notify-service-by-sms

command_line /usr/local/nagios/libexec/sms -f号码 -p 飞信密码 -t $CONTACTPAGER$ -m ″$HOSTNAME$ $SERVICEDESC$ is $SERVICESTATE$ on $TIME$ result is $SERVICEOUTPUT$″ $CONTACTPAGER$

}

(2) 修 改/usr/local/nagios/etc/objects/contacts.cfg 文 件 , 定义报警短信的接受人。添加接受人zang,他的邮箱地址为zangyunchao@163.com,报警短信接收手机号为18238811256

define contact{

contact_name zang

use generic-contact

alias System-Admin

email zangyunchao@163.com

pager 18238811256

}

然后把zang添加到组中。

define contactgroup{

contactgroup_name admins

alias Nagios Administrators

members zang

}

(3)修 改/usr/local/nagios/etc/objects/templates.cfg模 版 文 件 。

增加飞信报警。

service_notification_commands notify-service-by-sms, noti-fy-service-by-email

host_notification_commands notify-host-by-sms, notify-service-by-email

保存以上修改后,重启Nagios服务。 至此基于飞信报警的Nagios服务器配置成功。 现在可以把Nagios监控的一个服务关闭,测试飞信报警。

在复杂的大型网络的管理中,利用飞信和Nagios网络监控系统进行管理,网络管理人员可大大减轻工作量,提高工作效率,最重要的是能够及时发现网络的异常,快速处理故障,保证正常教学工作的有效进行。

5.5.3关闭报警

报警是使用率最高的功能了,如果某些服务器需要送修,如果预期进行某些主机和服务的维护工作,我们可以提前关闭该主机或者服务的报警功能,不然你的邮箱会不停的接受报警邮件,默认5 分钟发送一封报警邮件,直到恢复为止(Nagios 誓不罢休的精神值得我们应用到学习中)。在Services 标签下,点击相应的服务名称,在右侧点击Disable notifications for this service,直接提交即可关闭,完成后,返回Services 标签,你会发现,在该服务前面有个小喇叭的符号,上面有个红色的X。

四、Nagios性能分析图表的实现
1)安装PNP支持包rrdtool工具
[root@localhost aaa]# tar zxf rrdtool-1.4.5.tar.gz
[root@localhost aaa]# cd rrdtool-1.4.5
[root@localhost rrdtool-1.4.5]# ./configure --prefix=/usr/local/rrdtool ; make ; make install
2)安装PNP
[root@localhost rrdtool-1.4.5]# cd /aaa/
[root@localhost aaa]# tar zxf pnp-0.4.13.tar.gz
[root@localhost aaa]# cd pnp-0.4.13
[root@localhost pnp-0.4.13]# ./configure --with-nagios-user=nagios --with-nagios-group=nagios --with-rrdtool=/usr/local/rrdtool/bin/rrdtool --with-perfdata-dir=/usr/local/nagios/share/perfdata ; make all ; make install ; make install-config ; make install-init
3)配置PNP
A,创建默认配置文件
[root@localhost pnp-0.4.13]# cd /usr/local/nagios/etc/pnp/
[root@localhost pnp]# cp process_perfdata.cfg-sample process_perfdata.cfg
[root@localhost pnp]# cp npcd.cfg-sample npcd.cfg
[root@localhost pnp]# cp rra.cfg-sample rra.cfg
[root@localhost pnp]# chown -R nagios:nagios /usr/local/nagios/etc/pnp/
B,修改process_perfdata.cfg
[root@localhost pnp]# vi /usr/local/nagios/etc/pnp/process_perfdata.cfg
44 LOG_LEVEL = 2
4)修改Nagios主配置文件
A,增加小太阳图标
[root@localhost pnp]# cd /usr/local/nagios/etc/
[root@localhost etc]# vi templates.cfg
define host{
name hosts-pnp
register 0
action_url /nagios/pnp/index.php?host=$HOSTNAME$
process_perf_data 1
}
define service{
name services-pnp
register 0
action_url /nagios/pnp/index.php?host=$HOSTNAME$&srv=$SERVICEDESC$
process_perf_data 1
}
B、修改nagios.cfg
找到如下几行去掉注释
[root@localhost etc]# vi nagios.cfg
833 process_performance_data=1
845 host_perfdata_command=process-host-perfdata
846 service_perfdata_command=process-service-perfdata
C、修改commands.cfg
 # 'process-host-perfdata' command definition
 define command{
 command_name process-host-perfdata
 command_line /usr/bin/perl  /usr/local/nagios/libexec/process_perfdata.pl 
 }

# 'process-service-perfdata' command definition
 define command{
 command_name process-service-perfdata
 command_line /usr/bin/perl  /usr/local/nagios/libexec/process_perfdata.pl
 }
D、修改hosts.cfg文件和services.cfg文件
[root@localhost ~]# vi /usr/local/nagios/etc/objects/hosts.cfg
define host{
use linux-server,hosts-pnp
host_name web
alias benet-web
address 192.168.1.1
}
define host{
use linux-server,hosts-pnp
host_name mysql
alias benet-mysql
address 192.168.1.2
}
define hostgroup{
hostgroup_name sa-servers
alias sa servers
members web,mysql
}
[root@localhost ~]# vi /usr/local/nagios/etc/objects/services.cfg
################- benet web -##########################
define service{
use local-service,services-pnp
host_name web
service_description PING
check_command check_ping!100.0,20%!500.0,60%
}
define service{
use local-service,services-pnp
host_name web
service_description SSH
check_command check_ssh
}

点击小太阳,出现对主机或服务的监控页面

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/a660b1478b99e5d5ee55d1289ec8af91.html