徐冬丽 发表于 2019-1-13 06:05:14

为nagios装上pnp4nagios功能

  nagios的安装不再赘述,直接在nagios服务端进行安装pnp4nagios软件
  安装展示图形页面pnpnagios(rrdtool工具用来存储数据并画图,pnpnagios用来展示图形数据)
  参考:http://docs.pnp4nagios.org/pnp-0.6/install
  http://docs.pnp4nagios.org/pnp-0.6
  tar xf pnp4nagios-0.6.25.tar.gz
  cd pnp4nagios-0.6.25
  yum install rrdtool rrdtool-perl -y
  ./configure
  编译报错:
  checking for Perl Module Time::HiRes... no
  configure: error: Perl Module Time::HiRes not available
  解决办法:
  yum -y install perl-Time-HiRes
  

  再次编译

  ./configure
  make all
  make install
  make install-webconf
  make install-config
  make install-init
  make fullinstall
  安装后出现如下输出:
  *** Configuration summary for pnp4nagios-0.6.25 03-01-2015 ***
  

  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.3.8
  RRDs Perl Modules:                FOUND (Version 1.3008)
  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/httpd/conf.d/pnp4nagios.conf
  

  

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

  由于nagios采用的是4.1.1,pnp4nagios采用的是0.6.25

  在官方文档有好几种配置pnp4nagios的模式,但是采用sync的模式会一直收集不到数据,而报错,于是改用了Bulk Mode with NPCD,成功出图,这里分析配置过程:
  参考:http://www.aboutmonitoring.com/installing-nagios-core-4-pnp4nagios-check_mk-nagvis-centos-7-redhat-7/
  1、编辑nagios.cfg文件,修改
  process_performance_data=0将这个值改为1
  ##### Values: 1 = process performance data, 0 = do not process performance data
  enable_environment_macros=1
  

  2、然后去掉下面两个注释,使之启用:
  #host_perfdata_command=process-host-perfdata
  #service_perfdata_command=process-service-perfdata
  

  然后在nagios.cfg配置文件中加入以下:
  # service performance data
  #
  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 performance data starting with Nagios 3.0
  #
  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
  各个文件的使用可以查看官方说明
  

  3、修改commands.cfg
  define command{
  command_name    process-service-perfdata-file
  command_line    /bin/mv /usr/local/pnp4nagios/var/service-perfdata /usr/local/pnp4nagios/var/spool/service-perfdata.$TIMET$
  }
  

  define command{
  command_name    process-host-perfdata-file
  command_line    /bin/mv /usr/local/pnp4nagios/var/host-perfdata /usr/local/pnp4nagios/var/spool/host-perfdata.$TIMET$
  }
  

  然后开启npcd服务:
  /usr/local/pnp4nagios/bin/npcd -d -f /usr/local/pnp4nagios/etc/npcd.cfg
  

  4、
  # /etc/init.d/nagios checkconfig
  Running configuration check...
  OK.
  # service httpd restart
  停止 httpd:                                             [确定]
  正在启动 httpd:
  # /etc/init.d/nagios reload
  Running configuration check...
  Reloading nagios configuration...
  done
  

  5、浏览器访问
  

  http://192.168.1.155/pnp4nagios/
  

  出现报错:PHP GD extensionPHP GD extension not available
  解决:
  yum -y install php-gd
  

  # /etc/init.d/nagios checkconfig
  Running configuration check...
  OK.
  # service httpd restart
  停止 httpd:                                             [确定]
  正在启动 httpd:
  # /etc/init.d/nagios reload
  Running configuration check...
  Reloading nagios configuration...
  done
  

  再看观察浏览器报错:
  

  Your environment passed all requirements. Remove or rename the /usr/local/pnp4nagios/share/install.php file now.
  解决办法:
  mv /usr/local/pnp4nagios/share/install.php /usr/local/pnp4nagios/share/install.php.ignore
  

  以上只是解决了收集数据的功能,还必须在每一个host、service上展示相应的图形
  设置如下:
  编辑templates.cfg模板文件,创建host和service支持pnp4nagios功能:
  define host {
  name       host-pnp
  action_url /pnp4nagios/index.php/graph?host=$HOSTNAME$&srv=_HOST_
  register   0
  }
  

  define service {
  name       srv-pnp
  action_url /pnp4nagios/index.php/graph?host=$HOSTNAME$&srv=$SERVICEDESC$
  register   0
  }
  

  定义完成之后,最后只需在定义的hosts、services配置文件中加入下操作:
  define host{
  use                     linux-server,host-pnp    ; Name of host templates to use
  ; This host definition will inherit all variables that are defined
  ; in (or inherited by) the linux-server host template definition.
  host_name               localhost
  alias                   localhost
  address               127.0.0.1
  }
  define service{
  use                     local-service,srv-pnp   ; Name of service template to use
  host_name               localhost
  service_description   PING
  check_command         check_ping!100.0,20%!500.0,60%
  }
  于是整个配置工作完成,访问浏览器出图如下
  

http://s2.运维网.com/wyfs02/M00/86/81/wKioL1fBST6RfsAFAACPPu9y9ZY850.jpg
http://s2.运维网.com/wyfs02/M02/86/81/wKiom1fBST6BTKgSAAAxTN6EwWo807.jpg
http://s1.运维网.com/wyfs02/M01/86/81/wKioL1fBST_B0aLEAAFOOrKm4XM539.jpg
  


  至此结合图形展示成功
  新建菜鸟学习交流群:584498750



页: [1]
查看完整版本: 为nagios装上pnp4nagios功能