此安装在监控机上进行
Nagios 监控的侧重点在“此时”服务是否正常,是一个瞬时状态。通过对这个状态的监控和告
警,管理员可以第一时间对主机或者服务的故障做处理。但是我们往往也非常关心主机的性
能以及服务的响应时间等情况,这些情况是一个持续的变化曲线,并非一个实时的值,如果
通过查看日志数据来分析的话,既繁琐有抽 象,所以,我们希望Nagios 可以帮我们做这
份工作,然后将报表提交给我们,这样就非常方便了。这就是今天需要用到的Nagios 的相
关开源项目—— PNP 是一个小巧的开源软件包,它是基于PHP 和PERL,利用rrdtool 将
Nagios 采集的数据绘制成图表。如果你要安装PNP,那么准备工作有如下3 项
1、 整合Apache 和PHP
2、安装rrdtools,见其他文档
3、安装Perl ,可以源码安装也可以yum 安装
(要介绍PNP 工作原理,首先要说明一下Nagios 提供的数据接口,也就是PNP 的数据来
源。在定义host 或service 中都有一个定义项,名为process_perf_data,其值可以定义为
0 或1,其作用是是否启用Nagios 的数据输出功能。如果你将此项赋值为 1,那么Nagios
就会将收集的数据写入到某个文件中,以备提取。所以,如果你想让Nagios 将数据输出的

4. 首先要将Nagios 的主配置文件 nagios.cfg 中相关的配置修改:
[root@nagios nrpe-2.12]# vi /usr/local/nagios/etc/nagios.cfg(修改如下)
process_performance_data=1
service_perfdata_command=process-service-perfdata #默认此句被注释掉了,在这里去
掉前面的#
5. 如果想要对某个监控对象做数据图表,则需在所对应的host 或者service 定义中(一般
写在hosts.cfg 或者services.cfg 文件中),包含如下的定义:
[root@nagios nrpe-2.12]# vi /usr/local/nagios/etc/objects/services.cfg(修改如下)
process_perf_data 1
这 样,Nagios 就会调用相应的命令来输出数据了。Nagios 的command.cfg 定义中默认有
一项“process-service- perfdata”,该命令声明了Nagios 输出哪些值到输出的文件中。不过
其定义相对简单,PNP 提供了一个perl 脚本,更详尽的定义了一个输出数 据的方法。
6. 如果要使用PNP 的话,我们需要在command.cfg 的定义中,“process-service-perfdata”
命令对应的执行命令行的内 容替换成该脚本:
[root@nagios nrpe-2.12]# vi /usr/local/nagios/etc/objects/commands.cfg (添加到文件末尾)
define command{
command_name process-service-perfdata
command_line /usr/local/nagios/libexec/process_perfdata.pl
}
这样设置了之后,Nagios 就会利用PNP 提供的脚本进行相关的工作了。
刚刚定义命令时用到的脚本“process_perfdata.pl”现在还不存在。
7.我们现在就来安装,也就PNP 的软件包安装方法很简单,过程也很顺利
[root@nagios pnp-0.4.14]# tar zvxf pnp-0.4.14.tar.gz
[root@nagios srv]# cd pnp-0.4.14
[root@nagios pnp-0.4.14]#./configure --with-rrdtool=/usr/local/rrdtool-1.0.50/bin/rrdtool
--with-perfdata-dir=/usr/local/nagios/share/perfdata/
[root@nagios pnp-0.4.14]#make all
[root@nagios pnp-0.4.14]#make install
安装结束之后,再去检查一下Nagios 的插件目录(libexec),就会发现多了一个名为
“process_perfdata.pl”的脚本。
8 . ok,现在执行一下Nagios 配置检查命令
[root@nagios pnp-0.4.14]#/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
9. 如果没有什么错误,那么我们重新启动Nagios。
[root@nagios pnp-0.4.14]#/etc/init.d/nagios restart
10. 验收一下成果,在浏览器的地址栏中输入:
http://IP/nagios/pnp/index.php
基本上nagios 的主要功能就有这些,nagios 的使用关键在于如何活用那些丰富的插
件.nagios 可以说是一个对于linux/unix 环境支持十分好的程序.之前我说重启nagios 的时候
都是用的杀进程的方式,其实也可以不这么做.如果在安装nagios 的时候安装了启动脚本就
可以使用/etc/init.d/nagios restart 还可以带的参数有stop, start,status
如果报错了,有可能是脚本里面的路径设置错误,解决办法
vi /etc/init.d/nagios
将prefix=/usr/local/nagiosaa 改为安装的目录/etc/init.d/nagios
注:在nagios 安装的时候说是将脚本安装到了/etc/rc.d/init.d,其实这和/etc/init.d 是一个目录