Nagios监控的侧重点在“此时”服务是否正常,是一个瞬时状态。通过对这个状态的监控和告警,管理员可以第一时间对主机或者服务的故障做处理。但是我们往往也非常关心主机的性能以及服务的响应时间等情况,这些情况是一个持续的变化曲线,并非一个实时的值,如果通过查看日志数据来分析的话,既繁琐又抽象,所以,我们希望Nagios可以帮我们做这份工作,然后将报表提交给我们,这样就非常方便了。这就是需要用到的Nagios的相关开源项目—— PNP
Pnp是一个基于php和perl,用rrdtool将nagios采集的数据绘制图表的工具,所以安装pnp之前必须先安装php、perl和rrdtool。 注意:安装nagios可以参考文章部署Nagios监控系统,本文是在rhel6.0上进行安装,参考是注意系统的版本。 1、安装php、perl相关软件包 [iyunv@localhost /]#yum -y install php-* perl-*
2、安装rrdtool: 安装rrdtool之前确保安装了这些库zlib libpng freetype libart_lgpl,如下图所示:
安装rrdtool时必须要安装cgilib这个库,以下是正确的安装方法: [iyunv@localhost /]#tar zxf /media/cgilib-0.5.tar.gz -C /usr/src/ [iyunv@localhost /]#cd /usr/src/cgilib-0.5 [iyunv@localhost cgilib-0.5]#cp libcgi.a /usr/local/lib [iyunv@localhost cgilib-0.5]#cp cgi.h /usr/include/ 安装rrdtool绘图工具:
释放rrdtool软件包并进行编译前的配置,编译后安装rrdtool [iyunv@localhost /]#tar zxf /media/rrdtool-1.2.27.tar.gz -C /usr/src/ [iyunv@localhost /]#cd /usr/src/rrdtool-1.2.27 [iyunv@localhost rrdtool-1.2.27]#./configure --prefix=/usr/local/ [iyunv@localhost rrdtool-1.2.27]#make && make install 3、安装pnp
释放pnp软件包并进行编译前的配置 [iyunv@localhost /]#tar zxf /media/pnp-0.4.14.tar.gz -C /usr/src [iyunv@localhost /]#cd /usr/src/pnp-0.4.14 [iyunv@localhost pnp-0.4.14]#./config --with-rrdtool=/usr/local/bin/rrdtool 注意:./configure 完成后会出现RRDs Perl Modules: *** NOT FOUND***,说RRDs PerlModules在大量安装时可以加速,暂忽略之,继续 如果使用加速功能,用下面的命令:
根据提示需要继续编译并安装pnp,分别执行以下命令: [iyunv@localhost pnp-0.4.14]#make all [iyunv@localhost pnp-0.4.14]#make install [iyunv@localhost pnp-0.4.14]#make install-config [iyunv@localhost pnp-0.4.14]#makeinstall-init 安装结束之后,再去检查一下Nagios的插件目录(libexec),就会发现多了一个名为“process_perfdata.pl”的脚本。 让apache的首页默认页支持php格式 ,编辑httpd.conf,在DirectoryIndex后面加上index.php: [iyunv@localhost /]#vim /etc/httpd/conf/httpd.conf ...//省略部分内容
重启httpd服务 [iyunv@localhost /]#service httpd restart 访问http://localhost/nagios/pnp/index.php?host=localhost能看到图形,如果nagios尚未采集数据,看到可能是下面的样式
4、修改nagios.cfg文件,将绘图功能加入nagios 首先要说明一下Nagios提供的数据接口,也就是PNP的数据来源。在定义host或service 中都有一个定义项,名为process_perf_data,其值可以定义为0或1,其作用是是否启用Nagios的数据输出功能。如果你将此项赋值为 1,那么Nagios就会将收集的数据写入到某个文件中,以备提取。 所以如果你想让Nagios将数据输出的话,首先要将Nagios的主配置文件 nagios.cfg中相关的配置修改,修改结果如下: [iyunv@localhost /]#vim /usr/local/nagios/etc/nagios.cfg ...//省略部分内容
5、编辑commands.cfg,将原来的command_line后的内容替换为下图的内容(下图中的配置项默认存在,只需修改即可): [iyunv@localhost /]#vim /usr/local/nagios/etc/objects/commands.cfg
...//省略部分内容
6、编辑templates.cfg添加pnp
[iyunv@localhost /]#vim /usr/local/nagios/etc/objects/templates.cfg
...//省略部分内容
7、修改hosts.cfg配置文件,添加在templates.cfg文件中定义的模板:host-pnp、srv-pnp
部分修改如下图所示: [iyunv@localhost /]#vim /usr/local/nagios/etc/objects/hosts.cfg
8、修改services.cfg配置文件,添加在templates.cfg文件中定义的模板:host-pnp、srv-pnp
部分修改如下图所示: [iyunv@localhost /]#vim /usr/local/nagios/etc/objects/services.cfg
9、配置pnp
重载nagios.cfg配置文件
[iyunv@localhost /]/etc/init.d/nagios reload
访问nagios页面。就可以在nagios的每项监控项目上看到小太阳了.
当nagios获取到数据以后,点击红色的太阳图标就能看到绘图曲线了
上图右侧可以看到绘图的时间范围——Timeranges,最短4小时。但有时我们需要查看更短时间范围的曲线时,默认的页面就办不到了,需要手工修改一下配置文件: 在配置里增加30分钟和1小时、2小时的时间间隔.
[iyunv@localhost /]#vim /usr/local/nagios/etc/pnp/config.php ...//省略部分内容
此外,配置文件的第86行为默认打开时以哪个时间范围显示图表。
按上面的配置,默认打开时,图表的时间范围是1小时内的。可酌情修改。
|