手动编译安装LAMP架构,并且实现nagios图形化监控(十一)

十、Nagios性能分析图表的安装

这里我们引入一个新的开源软件包——PNP,它基于PHP和PERL,PNP利用rrdtool工具将采集的数据绘制成相关的图表,然后显示出主机或者服务在一段时间内的运行情况。PNP官网:http://www.pnp4nagios.org,目前官网最新版本是pnp4nagios-0.6.25.tar.gz。安装PNP需要提前配置好安装环境,PNP需要的环境支撑有:

1.整合后的apache和PHP环境,并且能够支撑GD/zlib/jpeg等图片的解析与展现,这些我们在编译PHP的时候已经考虑进来的,所以这点事满足的。

2.安装rrdtool工具(这是一个图标生成工具,pnp就是利用它来生成相关监控图表的)

3.安装perl

现在就先来安装rrdtool(这里我使用rrdtool-1.4.5.tar.gz,一直用的这个,本来想用新的试试,结果官网一直打不开,官方给出的最新下载地址(http://oss.oetiker.ch/rrdtool/pub/rrdtool.tar.gz)):

# tar xvf rrdtool-1.4.5.tar.gz

# cd rrdtool-1.4.5

# ./configure --prefix=/usr/local/rrdtool

报错:

configure: WARNING:
----------------------------------------------------------------------------
* I could not find a working copy of pangocairo. Check config.log for hints on why
  this is the case. Maybe you need to set LDFLAGS and CPPFLAGS appropriately
  so that compiler and the linker can find libpangocairo-1.0 and its header files. If
  you have not installed pangocairo, you can get it either from its original home on


     http://ftp.gnome.org/pub/GNOME/sources/pango/1.17


  You can find also find an archive copy on


     http://oss.oetiker.ch/rrdtool/pub/libs


  The last tested version of pangocairo is 1.17.


       LIBS=-lm 
   LDFLAGS=
  CPPFLAGS=


----------------------------------------------------------------------------
                
checking for xmlParseFile in -lxml2... yes
checking libxml/parser.h usability... yes
checking libxml/parser.h presence... yes
checking for libxml/parser.h... yes
configure: error: Please fix the library issues listed above and try again.

通过对编译出来的信息分析,包括一些警告信息,主要是因为缺少相应的库文件,解决办法:

# yum install pango* -y


再次编译执行:通过了,如下:


编译通过了,现在开始安装

# 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.
BEGIN failed--compilation aborted at Makefile.PL line 1.
make[3]: *** [perl-piped/Makefile] Error 2
make[3]: Leaving directory `/usr/local/lampsoft/nagios/rrdtool-1.4.5/bindings'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/usr/local/lampsoft/nagios/rrdtool-1.4.5/bindings'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/usr/local/lampsoft/nagios/rrdtool-1.4.5'
make: *** [all] Error 2

解决办法:yum -y install perl-ExtUtils-MakeMaker

然后重新make,提示如下:


# make install


安装完成之后就可以安装pnp了。


+++++++++++++++++++++++++++++++++++++++++++++++  分隔线  +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

安装pnp,这里我使用的版本是pnp-0.4.13,

# tar xvf pnp-0.4.13.tar.gz

# cd 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

有个警告信息,提示我们找不到RRDs Perl的模块,这个其实我们已经安装好了,只是系统没有找到,configure有个选项是--with-perl_lib_path=可以用来指定模块路径。

*** Configuration summary for pnp 0.4.13 02-19-2009 ***


  General Options:
  -------------------------         -------------------
  Nagios user/group:                nagios nagios
  Install directory:                /usr/local/nagios
  HTML Dir:                         /usr/local/nagios/share/pnp
  Config Dir:                       /usr/local/nagios/etc/pnp
  Path to rrdtool:                  /usr/local/rrdtool/bin/rrdtool (Version 1.4.5)
  RRDs Perl Modules:                *** NOT FOUND ***
  RRD Files stored in:              /usr/local/nagios/share/perfdata
  process_perfdata.pl Logfile:      /usr/local/nagios/var/perfdata.log
  Perfdata files (NPCD) stored in:  /usr/local/nagios/var/spool/perfdata/

  Review the options above for accuracy.  If they look okay,
  type 'make all' to compile.




  WARNING: The RRDs Perl Modules are not found on your System
           Using RRDs will speedup things in larger Installtions.


----------------------------------------------------------------------------------------------

我们指定perl的模块路径再重新编译一下:

# ./configure --with-nagios-user=nagios --with-nagios-group=nagios --with-rrdtool=/usr/local/rrdtool/bin/rrdtool --with-perfdata-dir=/usr/local/nagios/share/perfdata --with-perl_lib_path=/usr/local/rrdtool/lib/perl/5.10.1/x86_64-linux-thread-multi/



# make all

# make install

# make install-config

# make install-init


现在开始配置PNP

1.创建默认配置文件

# cd /usr/local/nagios/etc/pnp/

# cp process_perfdata.cfg-sample process_perfdata.cfg

# cp npcd.cfg-sample npcd.cfg

# cp rra.cfg-sample rra.cfg

# chown -R nagios:nagios *

2.修改process_perfdata.cfg文件

# vi /usr/local/nagios/etc/pnp/process_perfdata.cfg

将LOG_LEVEL = 0改成LOG_LEVEL = 2,即调成debug模式。


3.修改nagios配置文件

增加小太阳标示:

修改templates.cfg,增加一个定义PNP的hosts和services

# vi /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
}


4.修改nagios的主配置文件,nagios.cfg

去掉host_perfdata_command=process-host-perfdata前面的注释,即保证:

# vi /usr/local/nagios/etc/nagios.cfg

process_performance_data=1
host_perfdata_command=process-host-perfdata
service_perfdata_command=process-service-perfdata

保存退出。

5.修改commands.cfg文件,定义process-host-perfdata命令(注意 process-host-perfdata、process-service-perfdata在commands.cfg中原来是定义好的,需要先注释掉
# vi /usr/local/nagios/etc/objects/commands.cfg

define command{
        command_name             process-host-perfdata
        command_line             /usr/local/nagios/libexec/process_perfdata.pl
}


define command{
        command_name             process-service-perfdata
        command_line           /usr/local/nagios/libexec/process_perfdata.pl
}

好了以后保存退出。


6.修改hosts.cfg和services.cfg文件,给每个主机和服务增加小太阳标识。只需要使用use命令继承一下即可。如下:

# vi /usr/local/nagios/etc/objects/hosts.cfg



然后给每个需要统计图表信息的service加上services-pnp继承


修改好以后保存退出。

现在配置就算完成了,在重新启动nagios服务之前,我们先检测一下有没错误:

# /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg


一切正常,现在可重新启动了。



小太阳图标已经出现了,但是能不能正常调用呢,我们点击一下小太阳图标,发现是有故障的。如下:


今天先到这吧,晚上有事了,明天继续。


-------------------------------------------------------------------------------------------------------继续--------------------------------------------------------------------------------------------------------------------

今天看了一下日志,发现都没有关于这个错误的信息。图形不能出来,监控正常,也就是说要么是Nagios和pnp之间出了问题,要门就是PNP以及rrdtool等出了问题。先来检查一下:

# /usr/local/nagios/libexec/process_perfdata.pl

提示:BEGIN failed--compilation aborted at ./process_perfdata.pl

这是提示需要安装一个perl-Time-HiRes扩展包,来支持两者之间的交互,使用yum来安装

#yum install perl-Time-HiRes

然后再重新测试一下:

# /usr/local/nagios/libexec/process_perfdata.pl

提示:dont try this as root

这就没有什么问题了。但是发现图像依然出不来,还是跟之前一样。于是重新编译安装一下pnp,重启nagios搞定。


另外需要注意的一点,我们安装好以后,可能nagios界面全是乱码,这个很有可能是apache的cgj模块没有启动。如果启动之后还是有乱码,则根据报错信息,如果提示是timezone设置不对,则可以在php的配置文件中指定一下时间域。一般只要修改为:data.timezone = PRC就好了。


还有,如果其他正常,但是图像不显示,都是方块一样乱码,这是因为缺少rrdtool-perl组件,使用yum来安装即可。


现在终于可以正常显示监控图片了,如下:



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值