用户名: 密码: 忘记密码? 注册

nagios的性能分析图表

作者:  时间: 2010-11-22
一.准备工作
 
PNP是一个小巧的开源软件包,它是基于PHP和PERL,利用rrdtool将Nagios采集的数据绘制成图表。如果你要安装PNP,那么准备工作有如下3项:
1、整合Apache和PHP(也要安装一些库文件,比如gd,php-gd,zlib)
2、安装rrdtools (本文使用版本:RRDTool 1.2.27)
3、安装Perl (本文使用版本: Perl5 )
 
二.PNP工作原理
 
首先要说明一下Nagios提供的数据接口,也就是PNP的数据来源。在定义host或service 中都有一个定义项,名为process_perf_data,其值可以定义为0或1,其作用是是否启用Nagios的数据输出功能。如果你将此项赋值为 1,那么Nagios就会将收集的数据写入到某个文件中,以备提取。
 
三.安装rrdtools
 
tar zxvf rrdtool-1.2.27.tar.gz
cd rrdtool-1.2.27
./configure --prefix=/usr/local/rrdtool
make
make install
cd ..
 
四.安装PNP,采用pnp.0.4.2版本
 
tar zxvf pnp-0.4.2.tar.gz
cd pnp-0.4.2
./configure --with-rrdtool=/usr/local/rrdtool/bin/rrdtool  --with-perfdata-dir=/usr/local/nagios/share/perfdata/   #与rrdtool接合,并指定生成的数据文件存放目录
make all
make install
cd ..

安装完成后,在nagios/libexec/下生成一个perl的脚本文件process_perfdata.pl,具有可执行权限

五.配置nagios
 
1.在nagios.cfg文件中的800多行
process_performance_data=1  #打开收集的数据写入文件功能
service_perfdata_command=process-service-perfdata  #提取数据时的命令

2.然后要配置这个提取数据命令,在objects/commands.cfg下
注释掉原来对process-service-perfdata的配置,新添加
define command{
        command_name process-service-perfdata
        command_line /usr/local/nagios/libexec/process_perfdata.pl
        }
3.给需要增加可视图表的被监控项目配置
nagios/servers.cfg文件中每一个项目增加一句:
process_perf_data       1
如下面:
define service {
host_name               nagios-server
service_description     check_local_disk
process_perf_data       1              #打开生成可视图表
check_period            24x7
max_check_attempts      4
normal_check_interval   3
retry_check_interval    2
contact_groups          sagroup
notification_interval   10
notification_period     24x7
notification_options    w,u,c,r
#check_command          check_local_disk!20%!10%!/
check_command           check_nrpe!check_disk
}
 
六.重启nagios服务,观察结果
 
/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
service nagios restart
http://ServerIP/nagios/pnp
可以看到生成的图表
 
七.遇到的问题
 
1.PHP GD Support not found.
因为没有安装php-gd库,rpm -ivh php-gd....
安装完成后,重新启动apache,再访问pnp,OK!