pnp4nagios的安装和配置

1、安装rrd-tools和libtime-hires-perl

 #apt-get install   rrdtool   libtime-hires-perl



2、安装PNP4

#wget http://jaist.dl.sourceforge.net/project/pnp4nagios/PNP-0.6/pnp4nagios-0.6.17.tar.gz

# tar zxvf pnp4nagios-0.6.17.tar.gz

# cd pnp4nagios-0.6.17

#./configure  --with-nagios-user=nagios --with-nagios-group=nagios  

#make  all

#make  install

#make  install-webconf

#make  install-config

#make  install-init


重启httpd服务

#/etc/init.d/apache2  restart


在浏览器中访问如下地址:

http://10.11.1.1/pnp4nagios/index.php

注意,我这里出了一个错,是因为我的nagios的密码配置文件为htpasswd,而pnp4nagios查找的是htpasswd.uers,所以我还得生成一个htpasswd.users的问题,各位根据

实际情况操作即可:

htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin

然后重启apache2即可访问。

增加npcd服务,并开机启动

#chkconfig  --add  npcd

#chkconfig  npcd  on

去除自检页面

#mv /usr/local/pnp4nagios/share/install.php  /usr/local/pnp4nagios/share/install.php.bak




3、配置pnp4nagios

pnp4nagios有4种工作模式: synchronous模式、bulk模式、带npcd的bulk模式和带npcdmod的bulk模式。

4种模式的区别:

synchronous模式: 及时模式,最简单,也是最容易配置的一种模式,nagios在检测过每一个主机或者服务时,会调用perl脚本process_perfdata.pl来处理获得perfdata数据,此种模式能处理1000个以下,且检测间隔为5分钟的服务。

bukl模式:  集中处理模式,nagios会将需要的数据写入一个临时文件中, 然后再通过nagios调用process_perfdata.pl来一次性处理。这种模式性能比第一种高一些,但是也同带来一些风险,nagios会block。

带npcd的bulk模式:  定时将perfdata文件mv为一个带时间戳的文件,然后由npcd进程在对mv的perfdata进行处理。此模式性能比较高,并且和nagios独立,不会影响nagios的性能。

带npcdmod的bulk模式:  和第三种类似,不过使用了nagios嵌入模块完成。


这里我使用的是第二种模式,所以只写了第二种模式的配置方式:

3.1  修改/usr/local/nagios/etc/nagios.cfg配置文件,将process_performance_data 的值改为1

然后在nagios.cfg配置文件下边加入如下配置:

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


# *** the template definition differs from the one in the original nagios.cfg
#
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.2 修改/usr/local/nagios/etc/objects/command.cfg,在文件最后插入:

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
}
将原来定义的这两项注释掉

3.3  修改/usr/local/nagios/etc/objects/templates.cfg

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

3.4 修改/usr/local/pnp4nagios/etc/process_perfdata.cfg文件

将TIMEOUT = 15改为TIMEOUT = 30

3.5 修改/usr/local/pnp4nagios/etc/config_local.php文件

将#$views[] = array('title' => 'One Hour',  'start' => (60*60) );前边的#注释掉


3.6 修改nagios的hosts文件和service文件,分别在use处加上host-pnp和srv-pnp



重启nagios即可


















  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值