pnp4nagios的安装

在这这里可以根据实际情况选用相应的模式,pnp4nagios建议在官网(http://docs.pnp4nagios.org/)下载最新的版本,这样里面的绘图模板也是最多的,安装很简单,如下:
[root@localhost pnp4nagios-0.6.26]# yum -y install rrdtool perl-rrdtool perl-Time-HiRes perl-URI perl-String-CRC32 perl-IO-Socket-INET6 perl-Socket6
[root@localhost src]# tar -zxvf pnp4nagios-0.6.26.tar.gz && cd pnp4nagios-0.6.26
[root@localhost pnp4nagios-0.6.26]# ./configure --prefix=/usr/local/pnp4nagios --with-nagios-user=nagios --with-nagios-group=nagcmd
#在这里Nagios的用户组可以根据Nagios所安装时使用的用户组即可,也可以不指定在之后再修改文件属组
[root@localhost pnp4nagios-0.6.26]# make all && make fullinstall

在安装好后可以到指定的perfix路径下的etc目录中找到需要修改的文件说明
[root@localhost pnp4nagios-0.6.26]# cd /usr/local/pnp4nagios/etc/
[root@localhost etc]# cat nagios.cfg-sample#自己选用一种模式,在这里选用的是Bulk模式,把Bulk中的内容复制一份到Nagios的nagios.cfg中
[root@localhost etc]# vim /usr/local/nagios/etc/nagios.cfg
…略…
#php4nagios
process_performance_data=1
service_perfdata_file=/usr/local/pnp4nagios/var/service-perfdata
service_perfdata_file_template=DATATYPE::SERVICEPERFDATA\tTIMET::$TIMET$\tHOSTNAME::$HOSTNAME$\tSERVICEDESC::$SERVICEDESC$\tSERVICEPERFDATA::$SERVICEPE
RFDATA$\tSERVICECHECKCOMMAND::$SERVICECHECKCOMMAND$\tHOSTSTATE::$HOSTSTATE$\tHOSTSTATETYPE::$HOSTSTATETYPE$\tSERVICESTATE::$SERVICESTATE$\tSERVICESTATE
TYPE::$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::$HOSTCHECKCOM
MAND$\tHOSTSTATE::$HOSTSTATE$\tHOSTSTATETYPE::$HOSTSTATETYPE$
host_perfdata_file_mode=a
host_perfdata_file_processing_interval=15
host_perfdata_file_processing_command=process-host-perfdata-file
[root@localhost etc]# cat misccommands.cfg-sample#根据这个说明配置Nagios的commands.cfg文件
[root@localhost etc]# vim /usr/local/nagios/etc/objects/commands.cfg
…略…
#php4nagios
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
}
[root@localhost etc]# vim /usr/local/nagios/etc/objects/templates.cfg修改下模板templates.cfg
…略…
#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
        }
[root@localhost etc]# /etc/init.d/npcd start#用启动脚本启动

在平时需要显示图表信息的host部分添加上host-pnp,service部分添加上srv-pnp,再重启Nagios和httpd这样就会在监控页面显示出图表信息了,如下:
define host{
        use            network-printers,host-pnp
        host_name      hplj_M177
        alias          HP LaserJet M177
        address        192.168.0.251
        hostgroups      network-printers
        contact_groups  admins
        }
define service{
        use                    network-printers,srv-pnp
        host_name              hplj_M177
        service_description    Printer Status
        check_command          check_snmp!-C public -o sysDescr.0
        check_interval  10
        retry_interval  1
        max_check_attempts      2
        notifications_enabled  1
        }
define service{
        use                    network-printers,srv-pnp
        host_name              hplj_M177
        service_description    PING
        check_command          check_ping!3000.0,80%!5000.0,100%
        check_interval  10
        retry_interval  1
        max_check_attempts      2
        notifications_enabled  1
        }

点开图表图标后会有一个安装后的检查页面,如果都没有报错的话就根据提示移除或重命名该页面:

要注意的使用pnp4nagios绘图会用到php的session,在这里如果报错多是php的session变量不对或session路径没有权限,需要根据实际的提示修改,这里都通过了就重命名了

[root@localhost etc]# cd /usr/local/pnp4nagios/share/
[root@localhost share]# mv install.{php,bak}

在配置好后再次点开图表图标后就会出现相应在模板中定义好的图表了,pnp4nagios中定义rrdtool的php模板路径在/usr/local/pnp4nagios/share目录下的templates.dist和templates.special中,其中templates.dist常用的模板,在templates.special放自定义的模板,要注意的是如果要展示的监控项没有相应的模板就会报类似于以下错误:

当然你也可以根据实际自行定义你的模板,同时建议在做好后添加一个监控npcd的进程,确保npcd进程都在

[root@localhost ~]# /usr/local/nagios/libexec/check_procs -a 'npcd' -c 1:
PROCS OK: 1 process with args 'npcd' | procs=1;;1:;0;

Nagios 的详细介绍请点这里
Nagios 的下载地址请点这里

猜你喜欢

转载自www.linuxidc.com/Linux/2017-10/147284.htm
PnP