为nagios装上pnp4nagios功能

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为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、

[[email protected] libexec]# /etc/init.d/nagios checkconfig

Running configuration check...

 OK.

[[email protected] libexec]# service httpd restart

停止 httpd:                                               [确定]

正在启动 httpd:

[[email protected] libexec]# /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


[[email protected] libexec]# /etc/init.d/nagios checkconfig

Running configuration check...

 OK.

[[email protected] libexec]# service httpd restart

停止 httpd:                                               [确定]

正在启动 httpd:

[[email protected] libexec]# /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%

        }

于是整个配置工作完成,访问浏览器出图如下


技术分享

技术分享

技术分享



至此结合图形展示成功

新建菜鸟学习交流群:584498750

以上是关于为nagios装上pnp4nagios功能的主要内容,如果未能解决你的问题,请参考以下文章

开源监控解决方案Nagios+Cacti+PNP4Nagios+NConf+NDOUtils+Nagvis介绍

Nagios图像绘制插件PNP4Nagios部署和测试

pnp4nagios的安装

Nagios监控之12:pnp4nagios自定义模板画图

nagios结合pnp4nagios图表

Nagios+Cacti+PNP4Nagios+NConf+NDOUtils+Nagvisnagios安装