您好,登錄后才能下訂單哦!
Nagios性能分析圖表的作用
Nagios對(duì)服務(wù)或主機(jī)監(jiān)控的是一個(gè)瞬時(shí)狀態(tài),有時(shí)候系統(tǒng)管理員需要了解主機(jī)在一段時(shí)間內(nèi)的性能及服務(wù)的響應(yīng)狀態(tài),并且形成圖表,這就需要通過查看日志數(shù)據(jù)來分析。但是這種方式不但煩瑣,而且抽象。為了能更直觀的查看主機(jī)運(yùn)行狀態(tài),我們可以利用PNP來幫助我們完成這個(gè)工作。
PNP的概念、安裝環(huán)境及安裝過程
PNP是一個(gè)小巧的開源軟件包,它是基于PHP和Perl的。PNP可以利用rrdtool工具將Nagios采集的數(shù)據(jù)繪制成圖表,然后顯示主機(jī)或者服務(wù)在一段時(shí)間內(nèi)運(yùn)行的狀況。
PNP環(huán)境要求如下:
a、安裝了GD、zlib、jpeg且整合后的Apache和PHP環(huán)境。
b 、安裝RDDtool工具
安裝PNP
RRDtool是一個(gè)圖表生成工具,可以從http://www.mrtg.org/rrdtool下載。
安裝還是老方法:
[root@Nagios ]#tar zxvf rrdtool-1.4.7.tar.gz
[root@Nagios ]#cd rrdtool-1.4.7
[root@Nagios rrdtool-1.4.7]#./configure --prefix=/usr/local/rrdtool
[root@Nagios rrdtool-1.4.7]#make
[root@Nagios rrdtool-1.4.7]#make install
接著下載PNP,我用的是pnp-0.4.13.tar.gz。
在安裝之前,檢查模塊是否存在:
不存在,做一個(gè)軟鏈接繼續(xù)檢查,如下圖示:
繼續(xù),接著鏈接,接著檢查,如下圖所示:
如果不做上面的一系列動(dòng)作,在編譯PNP的時(shí)候會(huì)出現(xiàn)如下的錯(cuò)誤報(bào)告:
WARNING: The RRDs Perl Modules are not found on your system
Using RRDs will speedup things in larger installations.
接著進(jìn)行編譯安裝PNP,注意下圖紅色箭頭所注的安裝選項(xiàng):
[root@Nagios pnp-0.4.13]# make all
[root@Nagios pnp-0.4.13]# make install
[root@Nagios pnp-0.4.13]# make install-config
[root@Nagios pnp-0.4.13]# make install-init
安裝完成。PNP默認(rèn)文件的放置情況如下圖所示:
如果沒有上面截圖所示的動(dòng)作,下圖紅框部分將出現(xiàn)RRDs Perl Modules: ***NOT FOUND***
配置PNP
1、創(chuàng)建默認(rèn)配置文件
在PNP安裝完成后,默認(rèn)安裝目錄下自帶了模板配置文件,因此,只需將模板文件復(fù)制一份作為PNP配置文件即可。操作如下圖所示:
2、修改process_perfdata.cfg文件
打開Nagios下的process_perfdata.cfg文件,修改相關(guān)內(nèi)容。操作如下圖示:
修改nagios配置文件
1、增加小太陽圖標(biāo)
修改templates.cfg,增加一個(gè)定義PNP的host和service。修改后的內(nèi)容如下圖所示:
2、修改nagios.cfg
如果想讓nagios將數(shù)據(jù)輸出,首先要修改nagios的主配置文件nagios.cfg,找到如下幾項(xiàng),如有注釋的將其去掉。修改后的信息如下:
process_performance_data=1
host_perfdata_command=process-host-perfdata
service_perfdata_command=process-service-perfdata
3、修改commands.cfg
process-host-perfdata和process-service-perfdata指令聲明了nagios輸出哪些值到輸出文件中。不過這些定義相對(duì)簡單,而PNP提供了一個(gè)Perl腳本,非常詳細(xì)地定義了一個(gè)輸出數(shù)據(jù)的方法,process_perfdata.pl就是PNP自帶的一個(gè)腳本,這個(gè)腳本在PNP安裝完成后會(huì)自動(dòng)生成。因此,可以將process-host-perfdata和process-service-perfdata指令中對(duì)應(yīng)的執(zhí)行命令的內(nèi)容替換成此腳本。修改后的內(nèi)容如下圖所示:
4、修改hosts.cfg文件和services.cfg文件
將hosts-pnp和services-pnp引用到hosts.cfg和services.cfg中,修改后的hosts.cfg內(nèi)容如下圖示:
修改后的services.cfg內(nèi)容如下圖示:
以上是監(jiān)控linux的范例。
下面是監(jiān)控windows主機(jī)的
1、下載windows端軟件包NSClient++-0.3.8-Win32.msi
2、雙擊安裝即可,指定nagios的IP地址,密碼就不用填了,然后一直下一步即可。如下圖示:
在防火墻中添加12489的例外端口,如下圖示:
在nagios服務(wù)器端執(zhí)行命令測試,如果返回?cái)?shù)據(jù),表示NSClient++安裝正常,如下圖示:
3、在監(jiān)控端配置對(duì)windows主機(jī)的各種系統(tǒng)資源的監(jiān)控配置:
a)首先在nagios.cfg中配置相關(guān)的配置文件的位置,找到
cfg_file=/usr/local/nagios/etc/objects/windows.cfg #將此段路徑前面的注釋去掉
b)配置上面定義的windows.cfg文件,定義要監(jiān)控的host和service,這里分別配置了AC.Green和ysadsrv02.ks-pcba.com如下圖示:
c)配置完成后使用命令檢查配置文件是否有錯(cuò):
#/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
d)沒有錯(cuò)誤報(bào)告的話,重啟nagios服務(wù):
#/etc/init.d/nagios restart
4、使用http://ip/nagios進(jìn)行訪問或者h(yuǎn)ttp://ip/nagios/pnp,查看配置的結(jié)果,如下圖示:
點(diǎn)擊旁邊的小太陽,我以AC.GREEN為例如下圖示:
至此,PNP配置結(jié)束了。
在配置或者點(diǎn)擊小太陽的過程中,可能會(huì)遇到各種錯(cuò)誤,下面分別一一列出,以供以后參考:
a)時(shí)區(qū)問題:
報(bào)錯(cuò)
Warning: date() [function.date]: It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'Asia/Chongqing' for 'CST/8.0/no DST' instead in /usr/local/nagios/share/pnp/include/function.inc.php on line 565
這是因?yàn)镻HP所取的時(shí)間是格林威治標(biāo)準(zhǔn)時(shí)間,和我們當(dāng)?shù)貢r(shí)間會(huì)有出入。
#/usr/local/nagios/share/pnp/include/function.inc.php
加入如下圖所示的一行:
Deprecated: Function eregi() is deprecated in /usr/local/nagios/share/pnp/include/function.inc.php on line 1502
問題的根源是php中有兩種正則表示法,一個(gè)是posix,一個(gè)是perl,php6打算廢除posix的正則表示法,所以后來就加了個(gè)preg_match。此問題解決辦法可以在ereg前面加過濾符,將ereg()變成@ereg()。但是這種問題還是沒有從根源上解決,php5.2版本之前ereg使用正常,在5.3之后,就要用preg_match來代替ereg。注意,posix和perl的很明顯的區(qū)別就是是否加斜杠,后者不能少了“/”。所以改法為:
[root@nagios ~]#vim /usr/local/nagios/share/pnp/include/function.inc.php
1502 if($level == 2 && $type == "complete" && eregi("^NAGIOS_",$tag)){
改為
1502 if($level == 2 && $type == "complete" && preg_match("/^NAGIOS_/",$tag)){
Deprecated: Assigning the return value of new by reference is deprecated in /usr/local/nagios/share/pnp/include/function.inc.php on line 1026
刪除上圖標(biāo)記中的&.
還有下圖中的錯(cuò)誤:
出現(xiàn)上圖中的提示,需要手動(dòng)在/usr/local/nagios/share/perfdata下手動(dòng)建立redhat文件夾,并使用命令將擁有者權(quán)限修改一下:chown nagios:nagcmd redhat.類似情況作類似的動(dòng)作即可!
出現(xiàn)上圖中的情況,一者檢查一下配置是否有問題,二來耐心等待一下,一般出圖沒有那么快。多數(shù)情況下是需要等待!
另外在配置NSCliet++ 的時(shí)候,查看網(wǎng)上有好多要修改安裝路徑下NSClient++下面的NSC.ini文件,然后再修改window的一些服務(wù)等等。我裝完了沒有作這些動(dòng)作,如果有需要可以自行到網(wǎng)上查閱!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。