hyytaojunming 发表于 2019-1-13 08:12:13

Linux学习笔记:为Nagios 4.1.1安装出图插件pnp 0.6.25

  Nagios 4.1.1的部署安装可参考http://coosh.blog.运维网.com/6334375/1741257
  

  前言:
  Nagios客户端默认是没有自带出图的插件的,需要另外安装,这里介绍最常见的插件pnp。在老男孩老师的视频中,他所推荐的是0.4版本,并且建议不必选用更新的版本。虽说我同意他的观点,但本着研究学习的精神,我还是安装了最新的0.6.25,安装过程中碰到了很多问题,并一一解决了,这里做一下记录。
  

  前期准备:
  安装Nagios和部署这里不再赘述,找到http://docs.pnp4nagios.org/ ,页面是手册,下载的链接在上方。另外,pnp必须使用rrd-tool、perl,因此最直接就是yum install rrdtool*perl* ,并且需要注意打开apache的mod_rewrite功能(默认是已经打开了的)
  

  下载安装
tar -xvzf pnp4nagios-HEAD.tar.gz
cd pnp4nagios
./configure
*** Configuration summary for pnp4nagios-0.6.2 23-12-2009 ***
General Options:
-------------------------         -------------------
Nagios user/group:                nagios nagios
Install directory:                /usr/local/pnp4nagios
HTML Dir:                         /usr/local/pnp4nagios/share
Config Dir:                     /usr/local/pnp4nagios/etc
Location of rrdtool binary:       /usr/bin/rrdtool Version 1.2.12
RRDs Perl Modules:                FOUND (Version 1.2012)
RRD Files stored in:            /usr/local/pnp4nagios/var/perfdata
process_perfdata.pl Logfile:      /usr/local/pnp4nagios/var/perfdata.log
Perfdata files (NPCD) stored in:/usr/local/pnp4nagios/var/spool
Web Interface Options:-------------------------         -------------------
HTML URL:                         http://localhost/pnp4nagios/
Apache Config File:               /etc/apache2/conf.d/pnp4nagios.conf
Review the options above for accuracy.If they look okay,
type 'make all' to compile.
make all
make fullinstall  

  以上代码是官方提供的安装方法,假如Nagios是用源码默认配置安装,并且其他都通过yum安装,那么照着官方的方法即可完成,安装好后的路径是/usr/local/pnp4nagios/,运行时它所使用的用户名和组均是nagios
  

  当我装完后尝试访问pnp的页面时发现无法出图,在/usr/local/pnp4nagios/var/perfdata目录下没有生产数据文件,百思不得其解,百度一番后,发现原来0.6版的pnp与nagios 4.1.1有点“不兼容”,不能使用默认的同步模式,要改为Bulk模式(块模式)。
  

  #################################################################################
  #    打开pnp4nagios的log功能,其实这一步是可选的,并非一定要打开,但如果碰到了问题,打开了log功能会很方便排错,所以建议打开。    #
  #################################################################################
  vi /usr/local/pnp4nagios/etc/process_perfdata.cfg
  #把log_level改为2
  # Loglevel 0=silent 1=normal 2=debug
  #
  LOG_LEVEL = 2
  

  慎重起见重启一下httpd和nagios服务
  

  然后可以在tail /usr/local/pnp4nagios/var/perfdata.log里看到日志信息
  我所碰到的问题是Cant find Nagios Environment. Exiting ....
  然后百度一番,发现要改为使用Bulk模式
  

  参考官方手册http://docs.pnp4nagios.org/pnp-0.6/config#bulk_mode
  作如下修改/usr/local/nagios/etc/nagios.cfg文件
  process_performance_data=1
  enable_environment_macros=1
  service_perfdata_command=process-service-perfdata
  host_perfdata_command=process-host-perfdata
  service_perfdata_file=/usr/local/pnp4nagios/var/service-perfdata
  service_perfdata_file_template=DATATYPE::SERVICEPERFDATA\tTIMET::$TIMET$\tHOSTNAME::$HOSTNAME$\tSERVICEDESC::$SERVICEDESC$\tSERVICEPERFDATA::$SERVICEPERFDATA$\tSERVICECHECKCOMMAND::$SERVICECHECKCOMMAND$\tHOSTSTATE::$HOSTSTATE$\tHOSTSTATETYPE::$HOSTSTATETYPE$\tSERVICESTATE::$SERVICESTATE$\tSERVICESTATETYPE::$SERVICESTATETYPE$
  service_perfdata_file_mode=a
  service_perfdata_file_processing_interval=15
  service_perfdata_file_processing_command=process-service-perfdata-file
  host_perfdata_file=/usr/local/pnp4nagios/var/host-perfdata
  host_perfdata_file_template=DATATYPE::HOSTPERFDATA\tTIMET::$TIMET$\tHOSTNAME::$HOSTNAME$\tHOSTPERFDATA::$HOSTPERFDATA$\tHOSTCHECKCOMMAND::$HOSTCHECKCOMMAND$\tHOSTSTATE::$HOSTSTATE$\tHOSTSTATETYPE::$HOSTSTATETYPE$
  host_perfdata_file_mode=a
  host_perfdata_file_processing_interval=15
  host_perfdata_file_processing_command=process-host-perfdata-file
  

  

  

  作如下修改/usr/local/nagios/etc/objects/commands.cfg 文件
  define command{
  command_name    process-host-perfdata
  command_line    /usr/bin/perl /usr/local/pnp4nagios/libexec/process_perfdata.pl
  }
  define command{
  command_name    process-service-perfdata
  command_line    /usr/bin/perl /usr/local/pnp4nagios/libexec/process_perfdata.pl -d HOSTPERFDATA
  }
  define command{
  command_name    process-service-perfdata-file
  command_line    /usr/local/pnp4nagios/libexec/process_perfdata.pl --bulk=/usr/local/pnp4nagios/var/service-perfdata
  }
  define command{
  command_name    process-host-perfdata-file
  command_line    /usr/local/pnp4nagios/libexec/process_perfdata.pl --bulk=/usr/local/pnp4nagios/var/host-perfdata
  }
  

  重启httpd和nagios服务即可。由于采集需要一定的时间,不能立即在网页界面看到数据,但一般几秒后,就可以观察 /usr/local/pnp4nagios/var/perfdata目录下是否有对应的主机名的目录生成,如果有,一般就是正常的了。如果仍不正常,就查看log文件去排错。
  

  效果图

http://s5.运维网.com/wyfs02/M02/7A/CB/wKioL1a4kOLQOwcWAAKTp3DTo8c146.jpg
http://s3.运维网.com/wyfs02/M01/7A/CB/wKioL1a4kOXQNvXyAAJh4mdrYkM170.jpg
  

  

  

  

  




页: [1]
查看完整版本: Linux学习笔记:为Nagios 4.1.1安装出图插件pnp 0.6.25