本文由秀依林楓提供友情贊助,首發(fā)于爛泥行天下
在nagios安裝完畢后,我們也添加了一些監(jiān)控對(duì)象,但是你會(huì)發(fā)現(xiàn)nagios只是簡單的給我們列出那些監(jiān)控對(duì)象是正常的,而沒有把這些監(jiān)控對(duì)象的數(shù)據(jù)進(jìn)行整合。如下:
其實(shí)nagios已經(jīng)給我們提供了一個(gè)制圖工具pnp4nagios,只是我們還沒有安裝而已。
pnp4nagios是一個(gè)基于php和perl語言的強(qiáng)大工具,它可以通過PRocess_perfdata.pl腳本調(diào)用rrdtool對(duì)nagios的性能數(shù)據(jù)進(jìn)行分析并繪制成相應(yīng)的性能圖。所以在安裝pnp4nagios之前,我們必須先安裝php、perl、rrdtool。
為了實(shí)驗(yàn)的方便,在此我們對(duì)php、perl使用yum方式進(jìn)行安裝。
對(duì)于rrdtool的安裝,見下面文章。
注意:本篇文章,所有的操作都是在nagios服務(wù)器上進(jìn)行的。
一、什么是rrdtool
rrdtool是Round Robin Database Tool的縮寫。從功能上說,rrdtool可用于數(shù)據(jù)存儲(chǔ)+數(shù)據(jù)展示。著名的網(wǎng)絡(luò)流量繪圖軟件cacti和集群監(jiān)控系統(tǒng)Ganglia使用的都是rrdtool。
在數(shù)據(jù)存儲(chǔ)方面,rrdtool采用“Round Robin”模式存儲(chǔ)數(shù)據(jù),即環(huán)狀數(shù)據(jù)庫。注意:rrdtool數(shù)據(jù)庫文件后綴名為“.rrd”。
有關(guān)rrdtool的詳細(xì)介紹,可以參考百度百科。
http://baike.baidu.com/view/1867979.htm
在數(shù)據(jù)展示方面,rrdtool可以看作是一個(gè)強(qiáng)大的繪圖引擎。下圖是其官網(wǎng)上的一張效果圖,我們大致了解rrdtool的繪圖能力。
介紹完畢rrdtool的功能后,我們現(xiàn)在來安裝rrdtool。
二、安裝rrdtool
rrdtool的安裝,我們從源碼方式和yum方式安裝進(jìn)行介紹。
2.1 源碼方式安裝
源碼方式安裝,我們分幾個(gè)步驟。
2.1.1 下載rrdtool軟件包
到rrdtool官網(wǎng)下載,最新的源碼包。如下:
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 安裝基礎(chǔ)庫
在正式安裝rrdtool之前,我們還必須要安裝rrdtool編譯時(shí),所需要的基礎(chǔ)庫。如下:
yum -y install gcc cairo-devel libxml2-devel pango-devel pango libpng-devel freetype freetype-devel libart_lgpl-devel
2.1.3 安裝rrdtool
基礎(chǔ)庫安裝完畢后,我們現(xiàn)在開始正式安裝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安裝完畢后,我們現(xiàn)在來查看rrdtool的安裝路徑。如果沒有特意指定rrdtool安裝路徑的話,rrdtool默認(rèn)安裝路徑為/opt/rrdtool-1.5.0-rc2/。這個(gè)我們可以通過在安裝配置rrdtool時(shí)可以知道,如下:
./configure --help
查看rrdtool安裝的內(nèi)容,如下:
ll /opt/rrdtool-1.5.0-rc2/
2.1.5 驗(yàn)證rrdtool
rrdtool安裝完畢后,我們來驗(yàn)證是否正確安裝。我們使用如下命令:
/opt/rrdtool-1.5.0-rc2/bin/rrdtool -v
通過上圖,我們可以很明顯的看到rrdtool的用法以及版本信息。這也就說明了rrdtool已經(jīng)被正確的安裝。
2.2 yum方式安裝
rrdtool的yum方式安裝就比較簡單了,直接使用如下命令進(jìn)行安裝。
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模塊的路徑,這個(gè)我們?cè)诎惭b配置pnp4nagios時(shí)會(huì)使用到。
三、安裝pnp4nagios
在前文,我們已經(jīng)介紹了有關(guān)pnp4nagios的功能。
pnp4nagios是一個(gè)基于php和perl語言的強(qiáng)大工具,它可以通過process_perfdata.pl腳本調(diào)用rrdtool對(duì)nagios的性能數(shù)據(jù)進(jìn)行分析并繪制成相應(yīng)的性能圖。
pnp4nagios的安裝,我們也可以分為源碼方式和yum方式安裝,下面一一進(jìn)行介紹。
3.1 下載pnp4nagios軟件包
要源碼方式安裝pnp4nagios,我們需要下載pnp4nagios軟件包,這個(gè)我們可以去其官網(wǎng)進(jìn)行下載。如下:
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時(shí),提示如下的錯(cuò)誤信息:
configure: error: Perl Module Time::HiRes not available
使用如下命令進(jìn)行安裝perl-Time-HiRes擴(kuò)展組件,如下:
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模塊所在路徑的話,配置時(shí)會(huì)顯示如下錯(cuò)誤:
RRDs Perl Modules: *** NOT FOUND ***
如果rrdtool使用的是yum方式安裝的話,pnp4nagios配置時(shí)需要使用以下命令,如下:
./configure --with-perl_lib_path=/usr/lib64/perl5/vendor_perl/auto/RRDs
因?yàn)閥um方式安裝rrdtool,會(huì)把RRD perl模塊安裝到/usr/lib64/perl5/vendor_perl/auto/RRDs路徑下。如下:
pnp4nagios配置沒有問題的話,會(huì)顯示以下的界面:
編譯pnp4nagios,如下:
make all
注意:
通過上圖,我們知道pnp4nagios的最后一步的安裝有兩種方法:一是make install進(jìn)行一步一步的安裝pnp4nagios,二是使用make fullinstall進(jìn)行自動(dòng)安裝。
為了能更進(jìn)一步學(xué)習(xí)pnp4nagios的安裝,在此我們使用的是make install。如下:
make install
注意:pnp4nagios默認(rèn)的安裝路徑是/usr/local/pnp4nagios/,這個(gè)我們可以通過配置幫助信息得到。如下:
./configure --help
安裝pnp4nagios的web配置文件,如下:
make install-webconf
注意:如果apache是使用源碼安裝的話,我們?cè)趫?zhí)行make install-webconf會(huì)報(bào)錯(cuò)。
不要怕,我們只需要把sample-config/httpd.conf復(fù)制到/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啟動(dòng)的初始化腳本,如下:
make install-init
3.4 pnp4nagios目錄介紹
pnp4nagios安裝完畢后,我們來查看下其安裝的目錄,如下:
ll /usr/local/pnp4nagios/
下面來介紹下pnp4nagios的目錄,如下:
bin目錄用來存放pnp4nagios啟動(dòng)命令npcd。如下:
/usr/local/pnp4nagios/bin/npcd -h
pnp4nagios開機(jī)啟動(dòng)腳本就是由這個(gè)命令控制,如下:
vi /etc/init.d/npcd
etc目錄主要存放pnp4nagios各種配置文件,如下:
ll /usr/local/pnp4nagios/etc/
lib目錄存放pnp4nagios的庫文件。
libexec目錄存放pnp4nagios執(zhí)行的插件,比如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文件。有關(guān)repo文件的使用,可以參考這篇文章《爛泥:yum的使用及配置》。
安裝pnp4nagios,如下:
yum -y install pnp4nagios
注意:
yum安裝pnp4nagios時(shí),是會(huì)安裝nagios。所以,如果我們的nagios是源碼安裝的話,建議pnp4nagios也使用源碼安裝。如果nagios是yum方式安裝的話,pnp4nagios也使用yum方式安裝。
四、配置pnp4nagios
pnp4nagios安裝完畢后,我們現(xiàn)在來配置pnp4nagios。
切換到pnp4nagios的安裝目錄的etc目錄下,如下:
cd /usr/local/pnp4nagios/etc/
現(xiàn)在開始修改etc目錄下內(nèi)容,如下:
mv misccommands.cfg-sample misccommands.cfg
mv nagios.cfg-sample nagios.cfg
mv rra.cfg-sample rra.cfg
修改etc/pages目錄下內(nèi)容,如下:
mv pages/web_traffic.cfg-sample pages/web_traffic.cfg
修改etc/check_commands目錄下內(nèi)容,如下:
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中,并且每個(gè)event都執(zhí)行一次調(diào)用。如下圖:
5.2 Bulk Mode模式
Bulk Mode(Bulk模式)相對(duì)同步式復(fù)雜一點(diǎn),由于同步模式是對(duì)每個(gè)event都進(jìn)行處理,如果主機(jī)和服務(wù)數(shù)大就會(huì)造成監(jiān)控服務(wù)器的性能下降。
在Bulk模式中,nagios會(huì)將性能數(shù)據(jù)以特定的格式寫到一個(gè)臨時(shí)目錄中。pnp4nagios則定期調(diào)用process_perfdata.pl進(jìn)行處理,處理完成后刪除數(shù)據(jù)文件。這種方式減小了處理的次數(shù),同時(shí)也減少了nagios主機(jī)的IO訪問及負(fù)載,彌補(bǔ)了同步模式中的不足。如下圖:
新聞熱點(diǎn)
疑難解答
圖片精選