Chinaunix首页 | 论坛 | 博客
  • 博客访问: 385990
  • 博文数量: 28
  • 博客积分: 3055
  • 博客等级: 中校
  • 技术积分: 310
  • 用 户 组: 普通用户
  • 注册时间: 2006-12-15 14:04
文章分类

全部博文(28)

文章存档

2009年(2)

2008年(2)

2007年(21)

2006年(3)

我的朋友

分类: LINUX

2007-08-15 15:10:18

Nagios监控的侧重点在“此时”服务是否正常,是一个瞬时状态。通过对这个状态的监控和告警,管理员可以第一时间对主机或者服务的故障做处理。但是我们往往也非常关心主机的性能以及服务的响应时间等情况,这些情况是一个持续的变化曲线,并非一个实时的值,如果通过查看日志数据来分析的话,既繁琐有抽象,所以,我们希望Nagios可以帮我们做这份工作,然后将报表提交给我们,这样就非常方便了。这就是我今天要介绍的Nagios的相关开源项目——PNP()。

PNP是一个小巧的开源软件包,它是基于PHP和PERL,利用rrdtool将Nagios采集的数据绘制成图表。如果你要安装PNP,那么准备工作有如下3项:
1、整合Apache和PHP(本文使用版本:Apache 2.2.3  PHP 5.1.6)
2、安装rrdtools (本文使用版本:RRDTools 1.2.23)
3、安装Perl (本文使用版本: Perl5 )
关于这3项工作的方法,网络上有很多精彩的文章介绍,我就不多说了,下面介绍一下PNP的工作原理,顺便将安装配置的内容也描述如下。

要介绍PNP工作原理,首先要说明一下Nagios提供的数据接口,也就是PNP的数据来源。在前面的文章中,我提到过,在定义host或service中都有一个定义项,名为process_perf_data,其值可以定义为0或1,其作用是是否启用Nagios的数据输出功能。如果你将此项赋值为1,那么Nagios就会将收集的数据写入到某个文件中,以备提取。所以,如果你想让Nagios将数据输出的话,首先要将Nagios的主配置文件nagios.cfg中相关的配置修改:

process_performance_data=1

service_perfdata_command=process-service-perfdata  #默认此句被注释掉了


如果想要对某个监控对象做数据图表,则需在所对应的host或者service定义中(一般写在hosts.cfg或者services.cfg文件中),包含如下的定义:

process_perf_data 1


这样,Nagios就会调用相应的命令来输出数据了。Nagios的command定义中默认有一项“process-service-perfdata”,该命令声明了Nagios输出哪些值到输出的文件中。不过其定义相对简单,PNP提供了一个perl脚本,更详尽的定义了一个输出数据的方法。如果要使用PNP的话,我们需要在command的定义中,将“process-service-perfdata”命令对应的执行命令行的内容替换成该脚本:

define command{

command_name process-service-perfdata

command_line /usr/local/nagios/libexec/process_perfdata.pl

}


这样设置了之后,Nagios就会利用PNP提供的脚本进行相关的工作了。

细心的看管大概已经发现了,刚刚定义命令时用到的脚本“process_perfdata.pl”现在还不存在。我们现在就来安装,也就PNP的软件包(本文用的版本是pnp-0.3.3.tar.gz)。安装方法很简单,过程也很顺利(我的系统安装时选择了开发工具,谢天谢地!)

./configure --with-rrdtool=/usr/local/rrdtool/bin/rrdtool --with-perfdata-dir=/usr/local/nagios/share/perfdata/

make all

make install


安装结束之后,再去检查一下Nagios的插件目录(libexec),就会发现多了一个名为“process_perfdata.pl”的脚本。

ok,现在执行一下Nagios配置检查命令

/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg


如果没有什么错误,那么我们重新启动Nagios。

/etc/init.d/nagios restart


验收一下成果,在浏览器的地址栏中输入:


如果可以看到图表,那就恭喜啦!贴上我的图表给大家看看。


阅读(17072) | 评论(15) | 转发(2) |
给主人留下些什么吧!~~

chinaunix网友2010-09-13 15:41:11

RRD Database/usr/local/nagios/share/perfdata//localhost/uptime.rrd not found 我大部分都可以看到图,只有几个不可以,提示上面的这个错误,能详细给个解释吗?我配置好了process_perfdata.cfg.而且process_perf_data 1在每一个都添加了,我使用的是复制粘贴添加。为什么之后几个出现了这样的错误。确实也没出现xml文件,依照你的意识是数据库文件配置出错,那在哪里?能具体指出是那个配置文件吗?谢谢!

chinaunix网友2009-03-13 10:32:33

Initalising Using /usr/local/nagios/share/perfdata// RRDTool /usr/local/rrdtool/bin/rrdtool found. RRDTool /usr/local/rrdtool/bin/rrdtool is executable PHP Function proc_open is enabled PHP Function fpassthru is enabled PHP Function xml_parser_create is enabled PHP zlib Support found. PHP GD Support found. RRD Base Directory /usr/local/nagios/share/perfdata// found. Hostname localhost is set. Directory /usr/local/nagios/share/perfdata//localhost not found.

chinaunix网友2008-12-30 17:49:52

PHP GD Support no found 是因为php-gd模块没装,如果你的系统支持yum,可直接用yum install -y php-gd安装,否则可能只有编译安装了。

chinaunix网友2008-12-27 19:16:07

[root@rhel5 pnp-0.4.12]# rpm -qa | grep php php-common-5.1.6-5.el5 php-ldap-5.1.6-5.el5 php-5.1.6-5.el5 php-cli-5.1.6-5.el5 [root@rhel5 pnp-0.4.12]# rpm -qa | grep gd gdbm-1.8.0-26.2.1 gdb-6.5-16.el5 gd-devel-2.0.33-9.3.fc6 gdbm-devel-1.8.0-26.2.1 sysklogd-1.4.1-39.2 gdm-2.16.0-30.el5 gd-2.0.33-9.3.fc6 gd 和 php 都装了还是 Initalising Using /usr/local/nagios/data// RRDTool /usr/local/rrdtool-1.3.5/ found. RRDTool /usr/local/rrdtool-1.3.5/ is executable PHP Function proc_open

chinaunix网友2008-11-24 11:43:24

怎么加太阳图标呀?