设为首页 收藏本站
查看: 965|回复: 0

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

[复制链接]
累计签到:6 天
连续签到:1 天
发表于 2015-11-16 07:36:13 | 显示全部楼层 |阅读模式
  十、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

  

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

  编译通过了,现在开始安装
  # 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,提示如下:
   DSC0001.jpg

  # make install
DSC0002.jpg

  安装完成之后就可以安装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/

DSC0003.jpg


  # 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

   DSC0004.jpg

  

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

  修改好以后保存退出。
  现在配置就算完成了,在重新启动nagios服务之前,我们先检测一下有没错误:
  # /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg

   DSC0006.jpg

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

  

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

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

  -------------------------------------------------------------------------------------------------------继续--------------------------------------------------------------------------------------------------------------------
  今天看了一下日志,发现都没有关于这个错误的信息。图形不能出来,监控正常,也就是说要么是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来安装即可。
  

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

  

         版权声明:本文为博主原创文章,未经博主允许不得转载。转载请注明作品出处

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-139649-1-1.html 上篇帖子: LAMP编译安装(详细教程) 下篇帖子: Centos7 LAMP虚拟机完全安装参考手册
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表