一.准备工作
PNP是一个小巧的开源软件包,它是基于PHP和PERL,利用rrdtool将Nagios采集的数据绘制成图表。如果你要安装PNP,那么准备工作有如下3项:
1、整合Apache和PHP(也要安装一些库文件,比如gd,php-gd,zlib)
2、安装rrdtools (本文使用版本:RRDTool 1.2.27)
3、安装Perl (本文使用版本: Perl5 )
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 ..
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 ..
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 #提取数据时的命令
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
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
}
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!