Note: There is a file embedded within this post, please visit this post to download the file.
安装pnp
PNP是一个基于php和perl,用rrdtool将nagios采集的数据绘制图表的工具,所以安装pnp之前必须先安装php perl ?and rrdtool
下载地址:http://sourceforge.net/projects/pnp4nagios/files/PNP-0.6/
# yum -y install rrdtool
#yum install perl-Time-HiRes -y
Tips:不安装此模块后面编译pnp时报如下错误
# wget http://sourceforge.net/projects/pnp4nagios/files/PNP-0.6/pnp4nagios-0.6.21.tar.gz/download
# tar zxvf pnp4nagios-0.6.21.tar.gz
# cd pnp4nagios-0.6.21
# ./configure
Tips:有个perl modules没有发现,好像提示用来加速什么的,暂时不管它了
# make all
#make install#
# make install-webconf
# make install-config
#make install-init
配置pnp
配置pnp4nagios
1):修改pnp4nagios的etc目录下内容
1.cd ? /usr/local/pnp4nagios/etc
2.mv misccommands.cfg-sample ?misccommands.cfg
3.mv nagios.cfg-sample nagios.cfg
4.mv rra.cfg-sample rra.cfg
2):修改etc/pages目录下内容
1.cd /usr/local/pnp4nagios/etc/pages/
2.mv web_traffic.cfg-sample web_traffic.cfg
3):修改etc/check_commands目录下内容
cd /usr/local/pnp4nagios/etc/check_commands
1.mv check_all_local_disks.cfg-sample ?check_all_local_disks.cfg
2.mv check_nrpe.cfg-sample ?check_nrpe.cfg
3.mv check_nwstat.cfg-sample ?check_nwstat.cfg
4):service npcd restart
chkconfig? –level 345 npcd? on
把相关后缀带sample文件变更成无sample后缀
配置nagios来启动pnp
# vi /usr/local/nagios/etc/nagios.cfg
修改nagios.cfg
1.process_performance_data=1
2.#将此变量值设为1
3.enable_environment_macros = 1
4.host_perfdata_command=process-host-perfdata
5.service_perfdata_command=process-service-perfdata
6.#取消这两项的注释
配置pnp工作模式,这里我们选用同步模式
先把pnp4nagios执行数据收集的文件拷贝到nagios的libexec下,方便统一命令的执行路径
# cp /usr/local/pnp4nagios/libexec/process_perfdata.pl /usr/local/nagios/libexec/
修改配置文件commands.cfg,来设定同步模式
在process-host-perfdata处注释掉原来的添加 command_line ? ?/usr/local/pnp4nagios/libexec/process_perfdata.pl ?-d HOSTPERFDATA
在process-service-perfdata处注释掉原来的添加command_line ? ?/usr/local/pnp4nagios/libexec/process_perfdata.pl
或者在nagiosql下设置
拷贝status-header.ssi到/usr/local/nagios/share/ssi/目录下面来,实现鼠标悬浮,效果图如下
修改配置文件templates.cfg在文件末尾添加以下:
define host {name ? ? ? host-pnpaction_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 ? ? ? srv-pnpaction_url /pnp4nagios/index.php/graph?host=$HOSTNAME$&srv=$SERVICEDESC$’ class=’tips’ rel=’/pnp4nagios/index.php/popup?host=$HOSTNAME$&srv=$SERVICEDESC$register ? 0}
为目标主机图标旁边添加一个小标记,修改对应主机的配置文件
在主机名localhost后面显示就在define host除修改,在ping后面显示在define servier对应的ping命令行处修改
在主机名处显示:
[root@localhost objects]# pwd
/usr/local/nagios/etc/objects
[root@localhost objects]# vim localhost.cfg
在主机服务文件的对应服务处显示(默认主机和服务都在一个配置文件里):
或者nagiosql设置主机模板与服务模板方法,及在主机中与服务中应用
1) 设置主机模板
2)设置服务模板
3)如何应用
在监督—–》hosts中插入主机模板
在监督—–》服务中插入srv-pnp模板
Tips:上图http状态为warning,解决方法touch /
var
/www/html/index.html
重启nagios和httpd
pnp4nagios环境测试
鼠标放在图标上还无法显示,点击会进入一个pnp4nagios的测试环境页面
Tips:如果发现php-gd模块无效,执行yum install php* -y安装,然后重启系统,如果执行yum install php-gd是无法解决的
重命名install.php
# mv /usr/local/pnp4nagios/share/install.php /usr/local/pnp4nagios/share/install.phpbak
重启nagios和httpd,鼠标放在主机小图标上就可以弹出ping图
Tips:在这里点击图标弹出的页面报错类似host xx does not exist,查看了下nagios的权限发现前面编译时候给的nagios:nagios,这里确显示的是root:root然后我就修改成nagios,然后我重启了下服务,还是一样,过了一会点击却可以正常显示了,这里什么原因还不知道,之后再来看看,网上有资料说把commands.cfg中修改 /usr/bin/perl /usr/local/pnp4nagios/libexec/process_perfdata.pl -d HOSTPERFDATA,带验证