分享
 
 
 

烂泥:nagios学习(四):pnp4nagios图形化绘制nagios数据

王朝学院·作者佚名  2016-05-26
窄屏简体版  字體: |||超大  

烂泥:nagios学习(四):pnp4nagios图形化绘制nagios数据本文由秀依林枫提供友情赞助,首发于烂泥行天下

在nagios安装完毕后,我们也添加了一些监控对象,但是你会发现nagios只是简单的给我们列出那些监控对象是正常的,而没有把这些监控对象的数据进行整合。如下:

其实nagios已经给我们提供了一个制图工具pnp4nagios,只是我们还没有安装而已。

pnp4nagios是一个基于php和perl语言的强大工具,它可以通过PRocess_perfdata.pl脚本调用rrdtool对nagios的性能数据进行分析并绘制成相应的性能图。所以在安装pnp4nagios之前,我们必须先安装php、perl、rrdtool。

为了实验的方便,在此我们对php、perl使用yum方式进行安装。

对于rrdtool的安装,见下面文章。

注意:本篇文章,所有的操作都是在nagios服务器上进行的。

一、什么是rrdtool

rrdtool是Round Robin Database Tool的缩写。从功能上说,rrdtool可用于数据存储+数据展示。著名的网络流量绘图软件cacti和集群监控系统Ganglia使用的都是rrdtool。

在数据存储方面,rrdtool采用“Round Robin”模式存储数据,即环状数据库。注意:rrdtool数据库文件后缀名为“.rrd”。

有关rrdtool的详细介绍,可以参考百度百科。

http://baike.baidu.com/view/1867979.htm

在数据展示方面,rrdtool可以看作是一个强大的绘图引擎。下图是其官网上的一张效果图,我们大致了解rrdtool的绘图能力。

介绍完毕rrdtool的功能后,我们现在来安装rrdtool。

二、安装rrdtool

rrdtool的安装,我们从源码方式和yum方式安装进行介绍。

2.1 源码方式安装

源码方式安装,我们分几个步骤。

2.1.1 下载rrdtool软件包

到rrdtool官网下载,最新的源码包。如下:

http://oss.oetiker.ch/rrdtool/

下载rrdtool:

http://oss.oetiker.ch/rrdtool/pub/?M=D

wget http://oss.oetiker.ch/rrdtool/pub/rrdtool-1.5.0-rc2.tar.gz

2.1.2 安装基础库

在正式安装rrdtool之前,我们还必须要安装rrdtool编译时,所需要的基础库。如下:

yum -y install gcc cairo-devel libxml2-devel pango-devel pango libpng-devel freetype freetype-devel libart_lgpl-devel

2.1.3 安装rrdtool

基础库安装完毕后,我们现在开始正式安装rrdtool。

解压rrdtool软件包,如下:

tar -xf rrdtool-1.5.0-rc2.tar.gz

cd rrdtool-1.5.0-rc2

配置rrdtool,如下:

./configure

编译rrdtool,如下:

make

安装rrdtool,如下:

make install

2.1.4 查看rrdtool安装路径

rrdtool安装完毕后,我们现在来查看rrdtool的安装路径。如果没有特意指定rrdtool安装路径的话,rrdtool默认安装路径为/opt/rrdtool-1.5.0-rc2/。这个我们可以通过在安装配置rrdtool时可以知道,如下:

./configure --help

查看rrdtool安装的内容,如下:

ll /opt/rrdtool-1.5.0-rc2/

2.1.5 验证rrdtool

rrdtool安装完毕后,我们来验证是否正确安装。我们使用如下命令:

/opt/rrdtool-1.5.0-rc2/bin/rrdtool -v

通过上图,我们可以很明显的看到rrdtool的用法以及版本信息。这也就说明了rrdtool已经被正确的安装。

2.2 yum方式安装

rrdtool的yum方式安装就比较简单了,直接使用如下命令进行安装。

yum -y install rrdtool rrdtool-perl

rrdtool安装完毕后,我们来查看其安装的位置,如下:

which rrdtool

rpm -ql rrdtool

通过上图,我们可以很明显的看到rrdtool的yum方式安装,把rrdtool安装到/usr/bin目录下。

rpm -ql rrdtool-perl

注意:

/usr/lib64/perl5/vendor_perl/auto/RRDs是rrds perl模块的路径,这个我们在安装配置pnp4nagios时会使用到。

三、安装pnp4nagios

在前文,我们已经介绍了有关pnp4nagios的功能。

pnp4nagios是一个基于php和perl语言的强大工具,它可以通过process_perfdata.pl脚本调用rrdtool对nagios的性能数据进行分析并绘制成相应的性能图。

pnp4nagios的安装,我们也可以分为源码方式和yum方式安装,下面一一进行介绍。

3.1 下载pnp4nagios软件包

要源码方式安装pnp4nagios,我们需要下载pnp4nagios软件包,这个我们可以去其官网进行下载。如下:

http://docs.pnp4nagios.org

http://docs.pnp4nagios.org/pnp-0.6/start

http://sourceforge.net/projects/pnp4nagios/

wget http://jaist.dl.sourceforge.net/project/pnp4nagios/PNP-0.6/pnp4nagios-0.6.25.tar.gz

3.2 安装perl-Time-HiRes组件

perl-Time-HiRes组件一定要在安装配置pnp4nagios之前安装,否则在安装配置pnp4nagios时,提示如下的错误信息:

configure: error: Perl Module Time::HiRes not available

使用如下命令进行安装perl-Time-HiRes扩展组件,如下:

yum -y install perl-Time-HiRes

3.3 源码安装pnp4nagios

解压pnp4nagios软件包,如下:

tar -xf pnp4nagios-0.6.25.tar.gz

cd pnp4nagios-0.6.25

配置pnp4nagios,如下:

./configure --with-rrdtool=/opt/rrdtool-1.5.0-rc2/bin/rrdtool --with-perl_lib_path=/opt/rrdtool-1.5.0-rc2/lib/perl/5.10.1/x86_64-linux-thread-multi/auto/RRDs

注意:

--with-rrdtool=/opt/rrdtool-1.5.0-rc2/bin/rrdtool

表示的是rrdtool命令的路径。在此rrdtool,我们使用的是源码方式安装。

--with-perl_lib_path=/opt/rrdtool-1.5.0-rc2/lib/perl/5.10.1/x86_64-linux-thread-multi/auto/RRDs

表示的是RRD perl模块路径。在此rrdtool,我们使用的是源码方式安装。

如果不指定rrds perl模块所在路径的话,配置时会显示如下错误:

RRDs Perl Modules: *** NOT FOUND ***

如果rrdtool使用的是yum方式安装的话,pnp4nagios配置时需要使用以下命令,如下:

./configure --with-perl_lib_path=/usr/lib64/perl5/vendor_perl/auto/RRDs

因为yum方式安装rrdtool,会把RRD perl模块安装到/usr/lib64/perl5/vendor_perl/auto/RRDs路径下。如下:

pnp4nagios配置没有问题的话,会显示以下的界面:

编译pnp4nagios,如下:

make all

注意:

通过上图,我们知道pnp4nagios的最后一步的安装有两种方法:一是make install进行一步一步的安装pnp4nagios,二是使用make fullinstall进行自动安装。

为了能更进一步学习pnp4nagios的安装,在此我们使用的是make install。如下:

make install

注意:pnp4nagios默认的安装路径是/usr/local/pnp4nagios/,这个我们可以通过配置帮助信息得到。如下:

./configure --help

安装pnp4nagios的web配置文件,如下:

make install-webconf

注意:如果apache是使用源码安装的话,我们在执行make install-webconf会报错。

不要怕,我们只需要把sample-config/httpd.conf复制到/usr/local/apache2/conf/下,并重命名为pnp4nagios.conf即可。在这apache是安装到/usr/local/apache2下。如下:

cp sample-config/httpd.conf /usr/local/apache2/conf/ pnp4nagios.conf

ll /usr/local/apache2/conf/

以上操作之后,我们还需要在/usr/local/apache/conf/httpd.conf 文件中添加 Include conf/pnp4nagios.conf。最后,我们还要重启apache。

安装pnp4nagios的配置文件,如下:

make install-config

安装pnp4nagios启动的初始化脚本,如下:

make install-init

3.4 pnp4nagios目录介绍

pnp4nagios安装完毕后,我们来查看下其安装的目录,如下:

ll /usr/local/pnp4nagios/

下面来介绍下pnp4nagios的目录,如下:

bin目录用来存放pnp4nagios启动命令npcd。如下:

/usr/local/pnp4nagios/bin/npcd -h

pnp4nagios开机启动脚本就是由这个命令控制,如下:

vi /etc/init.d/npcd

etc目录主要存放pnp4nagios各种配置文件,如下:

ll /usr/local/pnp4nagios/etc/

lib目录存放pnp4nagios的库文件。

libexec目录存放pnp4nagios执行的插件,比如process_perfdata.pl。

其他的目录就不需要做介绍了。

3.5 yum安装pnp4nagios

通过yum方式安装pnp4nagios,我们需要配置额外的yum源。如下:

http://dl.fedoraproject.org/pub/epel/6/x86_64/

下载并安装额外的yum源软件包。如下:

rpm -ivh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm

查看额外yum源安装的文件,如下:

rpm -ql epel-release

通过上图可以很明显的看出,安装额外yum源就是安装repo文件。有关repo文件的使用,可以参考这篇文章《烂泥:yum的使用及配置》。

安装pnp4nagios,如下:

yum -y install pnp4nagios

注意:

yum安装pnp4nagios时,是会安装nagios。所以,如果我们的nagios是源码安装的话,建议pnp4nagios也使用源码安装。如果nagios是yum方式安装的话,pnp4nagios也使用yum方式安装。

四、配置pnp4nagios

pnp4nagios安装完毕后,我们现在来配置pnp4nagios。

切换到pnp4nagios的安装目录的etc目录下,如下:

cd /usr/local/pnp4nagios/etc/

现在开始修改etc目录下内容,如下:

mv misccommands.cfg-sample misccommands.cfg

mv nagios.cfg-sample nagios.cfg

mv rra.cfg-sample rra.cfg

修改etc/pages目录下内容,如下:

mv pages/web_traffic.cfg-sample pages/web_traffic.cfg

修改etc/check_commands目录下内容,如下:

mv check_commands/check_all_local_disks.cfg-sample check_commands/check_all_local_disks.cfg

mv check_commands/check_nrpe.cfg-sample check_commands/check_nrpe.cfg

mv check_commands/check_nwstat.cfg-sample check_commands/check_nwstat.cfg

以上修改完毕后,我们来配置pnp4nagios的工作模式。

五、pnp4nagios工作模式

pnp4nagios有5种工作模式,它们分别是Synchronous Mode、Bulk Mode、Bulk Mode with NPCD、Bulk Mode with NPCD and npcdmod和Gearman Mode。

5.1 Synchronous Mode模式

Synchronous Mode(同步模式)是最简单的一种集成方式,它的工作原理是直接将process_perfdata.pl脚本集成到nagios中,并且每个event都执行一次调用。如下图:

5.2 Bulk Mode模式

Bulk Mode(Bulk模式)相对同步式复杂一点,由于同步模式是对每个event都进行处理,如果主机和服务数大就会造成监控服务器的性能下降。

在Bulk模式中,nagios会将性能数据以特定的格式写到一个临时目录中。pnp4nagios则定期调用process_perfdata.pl进行处理,处理完成后删除数据文件。这种方式减小了处理的次数,同时也减少了nagios主机的IO访问及负载,弥补了同步模式中的不足。如下图:

ip_image051" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有