注意: 不知什么原因,这个实验做不成功,对照着很多资料,感觉配置应该没问题了,检查好久都没有查出原因。我的配置如下所示,希望高手指点迷津。
nagios性能分析图表
Nagios对服务或主机监控的是一个瞬时状态,有时候系统管理员如果需要了解主机在一段时间内的性能以及服务的响应状态,并且形成图表时,就需要通过查看日志数据来分析,但是这种方式不但繁琐,而且抽象,不过幸运的是,PNP可以帮助我们来完成这个工作。PNP的概念与安装环境
PNP是一个小巧的开源软件包,它基于PHP和PERL,PNP可以利用rrdtool工具将Nagios采集的数据绘制成相关的图表,然后显示主机或者服务在一段时间内的运行状况。 PNP官方网站为: 如果要安装PNP,首先需要安装如下环境: 1:整合后的apache何PHP环境,需支持GD\zlib\jpeg 2:安装rrdtool工具 3:安装perl1.安装PNP
[root@server nagios]# tar zxvf rrdtool-1.4.7.tar.gz [root@server rrdtool-1.4.7]# ./configure --prefix=/usr/local/rrdtool 编译的时候出现了2个错误: (1)configure: error: Please fix the library issues listed above and try again. 解决办法: [root@server nagios]# tar zxvf cgilib-0.5.tar.gz [root@server nagios]# cd cgilib-0.5 [root@server cgilib-0.5]# make [root@server cgilib-0.5]# cp libcgi.a /usr/local/lib [root@server cgilib-0.5]# cp cgi.h /usr/include[root@server rrdtool-1.4.7]# yum -y install libart_lgpl-devel
[root@server rrdtool-1.4.7]# yum -y install pango-devel* cairo-devel*(2)在make的时候报错:
Can't locate ExtUtils/MakeMaker.pm in @INC (@INC contains: /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 .) at Makefile.PL line 1.解决办法:
yum install perl-ExtUtils-CBuilder perl-ExtUtils-MakeMaker安装完重新编译即可。
[root@server rrdtool-1.4.7]# ./configure --prefix=/usr/local/rrdtool [root@server rrdtool-1.4.7]# make [root@server rrdtool-1.4.7]# make install2. 安装pnp
[root@server nagios]# tar zxvf pnp-0.4.13.tar.gz [root@server pnp-0.4.13]# cd pnp-0.4.13 [root@server 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/[root@server pnp-0.4.13]# make all
[root@server pnp-0.4.13]# make install [root@server pnp-0.4.13]# make install-config [root@server pnp-0.4.13]# make install-init3.配置PNP
(1)创建默认配置文件 [root@server pnp-0.4.13]# cd /usr/local/nagios/etc/pnp/ [root@server pnp]# cp process_perfdata.cfg-sample process_perfdata.cfg [root@server pnp]# cp npcd.cfg-sample npcd.cfg [root@server pnp]# cp rra.cfg-sample rra.cfg [root@server pnp]# chown -R nagios:nagios *(2)修改process_perfdata.cfg 文件
[root@server pnp]# vim /usr/local/nagios/etc/pnp/process_perfdata.cfg LOG_FILE = /usr/local/nagios/var/perfdata.log# Loglevel 0=silent 1=normal 2=debug
LOG_LEVEL = 2 这里将日志级别改为2,即为debug模式。 0 单一模式 1 普通模式4.修改nagios 配置文件
(1)添加小太阳标示 修改templates.cfg,增加一个定义PNP的hosts和services [root@server ~]# vim /usr/local/nagios/etc/objects/templates.cfgdefine 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 }(2)修改nagios.cfg
找到如下几项,去掉注释,修改后信息如下: [root@server ~]# vim /usr/local/nagios/etc/nagios.cfg process_performance_data=1 host_perfdata_command=process-host-perfdata service_perfdata_command=process-service-perfdata(3)修改commands.cfg
打开commands.cfg 添加以下几行代码 [root@server ~]# vim /usr/local/nagios/etc/objects/commands.cfg# 'process-host-perfdata' command definition
define command{ command_name process-host-perfdata command_line /usr/local/nagios/libexec/process_perfdata.pl }# 'process-service-perfdata' command definition
define command{
command_name process-service-perfdata command_line /usr/local/nagios/libexec/process_perfdata.pl } 注意:command.cfg 里面本来就有定义process-host-perfdata,所以要先将那两个注释掉 # 'process-host-perfdata' command definition #define command{ # command_name process-host-perfdata # command_line /usr/bin/printf "%b" "$LASTHOSTCHECK$\t$HOSTNAME$\t$HOSTSTATE$\t$HOSTATTEMPT$\t$HOSTSTATETYPE$\t$HOSTEXECUTIONTIME$\t$HOSTOUTPUT$\t$HOSTPERFDATA$\n" >> /usr/local/nagios/var/host-perfdata.out # } # 'process-service-perfdata' command definition #define command{ # command_name process-service-perfdata # command_line /usr/bin/printf "%b" "$LASTSERVICECHECK$\t$HOSTNAME$\t$SERVICEDESC$\t$SERVICESTATE$\t$SERVICEATTEMPT$\t$SERVICESTATETYPE$\t$SERVICEEXECUTIONTIME$\t$SERVICELATENCY$\t$SERVICEOUTPUT$\t$SERVICEPERFDATA$\n" >> /usr/local/nagios/var/service-perfdata.out # } (4)修改hosts.cfg文件和services.cfg文件 [root@server ~]# vim /usr/local/nagios/etc/hosts.cfg define host{ use linux-server,hosts-pnp host_name node-1 alias lamp address 192.168.30.110 }[root@server ~]# vim /usr/local/nagios/etc/services.cfg
define service{ use generic-service,services-pnp host_name node-1 service_description ping check_command check_ping!100.0,20%!500.0,60% max_check_attempts 5 normal_check_interval 1 }(5)测试PNP功能
所有配置完成之后,重新检查nagios配置文件是否正确,然后重启nagios [root@server ~]# service nagios restart Running configuration check...done. Stopping nagios: .done. Starting nagios: /usr/local/nagios/share/pnp done.
重启完,点击小太阳就出现这样的页面,而且/usr/local/nagios/share/perfdata/目录下没有数据生成。
注:考虑到权限问题,该目录权限已修改为777,并且属组修改为nagios.nagios,但还是没生成。
相关软件包下载: