注意: 不知什么原因,这个实验做不成功,对照着很多资料,感觉配置应该没问题了,检查好久都没有查出原因。我的配置如下所示,希望高手指点迷津。
创新互联于2013年开始,是专业互联网技术服务公司,拥有项目成都网站设计、网站制作网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元巴青做网站,已为上家服务,为巴青各地企业和个人服务,联系电话:028-86922220
nagios性能分析图表
Nagios对服务或主机监控的是一个瞬时状态,有时候系统管理员如果需要了解主机在一段时间内的性能以及服务的响应状态,并且形成图表时,就需要通过查看日志数据来分析,但是这种方式不但繁琐,而且抽象,不过幸运的是,PNP可以帮助我们来完成这个工作。
PNP的概念与安装环境
PNP是一个小巧的开源软件包,它基于PHP和PERL,PNP可以利用rrdtool工具将Nagios采集的数据绘制成相关的图表,然后显示主机或者服务在一段时间内的运行状况。
PNP官方网站为:http://www.pnp4nagios.org
如果要安装PNP,首先需要安装如下环境:
1:整合后的apache何PHP环境,需支持GD\zlib\jpeg
2:安装rrdtool工具
3:安装perl
1.安装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 install
2. 安装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-init
3.配置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.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
}
(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,但还是没生成。
相关软件包下载:http://down.51cto.com/data/699395