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
}
点击小太阳,出现对主机或服务的监控页面