nagios安装PNP

注:本文是借鉴网上资料修改而来,写的不是很仔细,错误之处请自行改正。

[PNP是一个基于php和perl,用rrdtool将nagios采集的数据绘制图表的工具,所以安装pnp之前必须先安装php perl  and rrdtool这里用yum直接来安装rrdtool,单独下载安装有很多依存关系,挺麻烦.]

1.安装rrdtool

 

wget http://sourceforge.net/projects/pnp4nagios/files/PNP-0.6/pnp4nagios-0.6.18.tar.gz/download
# tar zxvf pnp4nagios-0.6.18
# cd pnp4nagios-0.6.18
./configure --with-nagios-user=nagios --with-nagios-group-nagios --with-rrdtool=/usr/local/rrdtool/bin/rrdtool --with-perfdata-dir=/usr/local/nagios/share/perfdata
# make all
# make install
# make install-config
# make install-init

 

配置Nagios来启用PNP

# cd /usr/local/nagios/etc/
# vim nagios.cfg
enable_environment_macros=1默认是开启了的
host_perfdata_command=process-host-perfdata   #去掉注释
service_perfdata_command=process-service-perfdata

pnp4nagios有很多种工作模式,这里我们选用同步模式,想选其它模式可以看说明都有详细配置教程(不同模式配置不同)

[这里先把pnp4nagios执行数据收集的文件拷贝到nagios的libexec下,方便统一命令的执行路径.]

  1. cp /usr/local/pnp4nagios/libexec/process_perfdata.pl /usr/local/nagios/libexec/ 

然后在commands.cfg里面加入如下(这里是同步模式设定方法)

# cd /usr/local/nagios/etc/objects/
# vim commands.cfg
#process-host-perfdata' command definition
define command{
command_name    process-host-perfdata
command_line    $USER1$/process_perfdata.pl -d HOSTPERFDATA
}
#process-service-perfdata' command definition
define command{
command_name    process-service-perfdata
command_line    $USER1$/process_perfdata.pl
}

然后添加小太阳模版,镶嵌在nagios页面上

 [这里有两种查看图的方法,第一种方法是你当太阳的图标的时候会在新窗口中打开图形查看,第二种方法是你只需要把鼠标移动到太阳图标上面就会自动弹出图形出来,以下两种方法你可以根据自己喜好选其中一种即可]
第一种方法在templates.cfg里面加入如下

define host {
name       hosts-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
}

第二种方法按照说明加入如下

 

拷贝status-header.ssi到/usr/local/nagios/share/ssi/目录下面来(这一步很重要,要不然移动到太阳标记上出不来图)

cp /home/soft/pnp4nagios-0.6.18/contrib/ssi/status-header.ssi /usr/local/nagios/share/ssi/
define host {
name       hosts-pnp
action_url /pnp4nagios/index.php/graph?host=$HOSTNAME$&srv=_HOST_' class='tips' rel='/pnp4nagios/index.php/popup?host=$HOSTNAME$&srv=_HOST_
register   0
}
define service {      name       services-pnp
action_url /pnp4nagios/index.php/graph?host=$HOSTNAME$&srv=$SERVICEDESC$' class='tips'rel='/pnp4nagios/index.php/popup?host=$HOSTNAME$&srv=$SERVICEDESC$
register   0
}

 第二种方法最终效果图

nagios安装PNP_安装PNP

为目标主机图标旁边添加一个小太阳标记

define host{
use    linux-server,hosts-pnp
host_name web
alias web
address 192.168.1.11
}

为相关服务添加一个小太阳标记

# vim services.cfg
define service{
use                     services-pnp
host_name               web
service_description     check-host-alive
check_command           check-host-alive
}

先做一下pnp4nagios环境测试,

# vim /etc/httpd/conf/httpd.conf

修改apache配置文件在末尾加入

 

Alias /pnp4nagios "/usr/local/pnp4nagios/share"
<Directory "/usr/local/pnp4nagios/share">
AllowOverride None
Order allow,deny
Allow from all
AuthName "Nagios Access"
AuthType Basic
AuthUserFile /usr/local/nagios/etc/htpasswd.users
Require valid-user
<IfModule mod_rewrite.c>
RewriteEngine On
Options FollowSymLinks
RewriteBase /pnp4nagios/
RewriteRule ^(application|modules|system) - [F,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .* index.php/$0 [PT,L]
</IfModule>
</Directory>

 

访问

http://192.168.1.11/pnp4nagios/ 查看pnp4配置是否正确,

 

然后

按要求重命名install.php

#mv install.php install.php.bak

做好相关配置以后请用命令重启一下nagios的服务

#checknagios    检测nagios配置文件
#service nagios restart
Ok,

 

如果这篇文章帮助到了你,请不要吝啬你的回复!spacer.gif