成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

3nagios使用php繪制趨勢圖-創(chuàng)新互聯(lián)

Nagios Pnp繪制趨勢圖

軟件需求:

為三都等地區(qū)用戶提供了全套網頁設計制作服務,及三都網站建設行業(yè)解決方案。主營業(yè)務為成都網站制作、成都網站建設、三都網站設計,以傳統(tǒng)方式定制建設網站,并提供域名空間備案等一條龍服務,秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務。我們深信只要達到每一位用戶的要求,就會得到認可,從而選擇與我們長期合作。這樣,我們也可以走得更遠!

apache、perl>=5.x、rrdtool>=1.x、php>=4.3、zlib、gd、nagios>2.x、pnp-0.4.14

有關資料上說的cacti上的圖,好像都是用snmp協(xié)議獲取的數據畫出來的。因此,如果監(jiān)測不都是用snmp獲取數據,也不希望安裝cacti的話,倒是可以用pnp直接在nagios上顯示趨勢圖。個人認為pnp畫趨勢圖一點都不差。

參考資料

http://bbs.chinaunix.net/thread-2311792-1-1.html

http://chenlinux.com/2010/08/13/intro-pnp4nagios/

Rrdtool安裝

參考資料:http://pkgs.repoforge.org/rrdtool/

# rpm -ivh libdbi-0.8.1-2.1.i386.rpm (32位操作系統(tǒng))

# rpm -ivh libdbi-0.8.1-2.1.x86_64.rpm (64位操作系統(tǒng))

或直接用yum:

#yum install libdbi

# rpm -ivh lua-5.1.4-2.el5.rf.x86_64.rpm (64位操作系統(tǒng))

# rpm -ivh lua-5.1.4-2.el5.rf.i386.rpm (32位操作系統(tǒng))

以上兩個為rrdtoo的依賴包。

以下三個包要一起安裝否則會報一些錯誤,如找不到perl(RRDp) 什么的:

# rpm -ivh rrdtool-1.4.7-1.el5.rf.x86_64.rpm rrdtool-devel-1.4.7-1.el5.rf.x86_64.rpm perl-rrdtool-1.4.7-1.el5.rf.x86_64.rpm (64位操作系統(tǒng))

# rpm -ivh perl-rrdtool-1.4.7-1.el5.rf.i386.rpm rrdtool-devel-1.4.7-1.el5.rf.i386.rpm rrdtool-1.4.7-1.el5.rf.i386.rpm (32位操作系統(tǒng))

下載pnp.tar.gz

http://docs.pnp4nagios.org/pnp-0.4/install 可以下載到pnp-0.4.14.tar.gz和pnp4nagios-0.6.21.tar.gz(安裝和配置略有不同)。這里,推薦使用pnp4nagios-0.6.21.tar.gz。

安裝必要包

yum intall php-gd

或者

#rpm -ivh php-gd-5.1.6-32.el5.x86_64.rpm(如果依賴包沒有安裝,請根據提示到網上下載相應的依賴包進行安裝)

編譯安裝

參考資料:http://smallfish01.blog.51cto.com/3565/455092

Pnp包安裝

# tar zxvf pnp4nagios-0.6.7.tar.gz
# cd pnp4nagios0.6.7
# ./configure --with-nagios-user=nagios --with-nagios-group=nagcmd
# make all
make install
make install-webconf
make install-config
make install-init

創(chuàng)建默認配置文件

以下默認的sample例子配置文件,可能并不存在,而是已經有默認的配置文件了。這種情況可能會導致復制失敗。不過默認配置文件已經有了,就可以了。

# cd /usr/local/pnp4nagios/etc
cp misccommands.cfg-sample misccommands.cfg -p
cp nagios.cfg-sample nagios.cfg -p
cp npcd.cfg-sample npcd.cfg -p
cp process_perfdata.cfg-sample process_perfdata.cfg -p
cp rra.cfg-sample rra.cfg -p

cd pages
cp web_traffic.cfg-sample web_traffic.cfg -p
cd ../check_commands
cp check_all_local_disks.cfg-sample check_all_local_disks.cfg -p
cp check_nrpe.cfg-sample check_nrpe.cfg -p
cp check_nwstat.cfg-sample check_nwstat.cfg -p

# 啟動npcd服務
# service npcd start

修改nagiso配置文件

#修改nagios.cfg
# cd /usr/local/nagios/etc
# vi nagios.cfg
#修改配置為:
process_performance_data=1
host_perfdata_command=process-host-perfdata
service_perfdata_command=process-service-perfdata

#修改 commands.cfg

# cd /usr/local/nagios/etc/objects
# vi commands.cfg
#添加
# 'process-host-perfdata' command definition
define command{
command_name process-host-perfdata
command_line /usr/bin/perl /usr/local/pnp4nagios/libexec/process_perfdata.pl -d HOSTPERFDATA

#后面的-d HOSTPERFDATA很重要!沒有的話就不能產生圖形文件了!
}
# 'process-service-perfdata' command definition
define command{
command_name process-service-perfdata
command_line /usr/bin/perl /usr/local/pnp4nagios/libexec/process_perfdata.pl
}
#修改nagios模板文件。

# templates.cfg
# 在最后添加
define host {
name host-pnp
action_url /pnp4nagios/graph?host=$HOSTNAME$ #顯示主機所有服務的圖

#action_url /pnp4nagios/graph?host=$HOSTNAME$&srv=_HOST_ #顯示ping的狀態(tài)圖

process_perf_data 1
register 0
}
define service {
name srv-pnp
action_url /pnp4nagios/graph?host=$HOSTNAME$&srv=$SERVICEDESC$

process_perf_data 1
register 0
}

# 修改主機配置文件,例如windows.cfg

# cd /usr/local/nagios/etc/objects
# vi windows.cfg
#增加host-pnp,srv-pnp
define host{
use linux-server,host-pnp
host_name Windows Server
alias windows 2003 server
address 1.2.3.4
}

define service{
use generic-service,srv-pnp
host_name windows Server
service_description PING
check_command check_ping!100.0,20%!500.0,60%

其他相關的define host, define service都要修改。

#驗證配置文件,無誤后重啟nagios和httpd 服務
# /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg

#配置文件驗證通過后,重啟服務

# service nagios restart
# service httpd restart

這里我要特別說明一下,我在配置這個趨勢圖時,并沒有創(chuàng)建host-pnp和srv-pnp,如果按照上面寫的,則所有的被監(jiān)測的cfg配置文件中,都要在host和service的use中,增加host-pnp或srv-pnp。這太麻煩了。由于所有的被監(jiān)測設備都是從linux-vod-sw模板和linux-vod-sw繼承的,而且,所有的service都是從generic-service繼承的,因此,我就直接改這個模板,將action_url和process_perf_data參數都加在模板中了,這樣就不需要修改每個監(jiān)測機器的配置文件了。

# 至此,安裝完成。登錄nagios控制臺,選擇host主機名旁邊(或者service名旁邊)的趨勢小圖標,即可看到趨勢圖。如果是第一次使用的話,就有一個頁面,告訴用戶配置是否全部符合要求,如果全部都正確的話,會要求用戶刪除instal.php,我是直接改名,改名后,再次點擊趨勢小圖標,就能顯示趨勢圖了。
# cd /usr/local/pnp4nagios/share
# rm install.php

# mv install.php install.php.bak 或者改名也行

在templates.cfg 模板文件中的,新添加的action_url后面還可以加上 class 和 rel 以支持鼠標移上去后就能顯示彈出的趨勢圖:

action_url /pnp4nagios/graph?host=$HOSTNAME$'class='tips' rel='/pnp4nagios/popup?host=$HOSTNAME$&srv=_HOST_

action_url /pnp4nagios/graph?host=$HOSTNAME$&srv=$SERVICEDESC$'class='tips' rel='/pnp4nagios/popup?host=$HOSTNAME$&srv=$SERVICEDESC$

注意這里的引號和空格。另外,服務器主機的彈出圖的腳本中最后加了&srv=_HOST_,表示只顯示主機的ping包。否則所有的圖顯示出來比較要命。因此,在配置了這個功能后,主機的趨勢圖配置中,最好是加上“&srv=_HOST_”,這兩項配置的截圖為:

Host配置:

3 nagios 使用php繪制趨勢圖

Service配置:

3 nagios 使用php繪制趨勢圖

要實現(xiàn)彈出的圖還需要拷貝status-header.ssi到/usr/local/nagios/share/ssi/目錄下面來。

#cp /root/new/pnp4nagios-0.6.21/contrib/ssi/status-header.ssi /usr/local/nagios/share/ssi

# chown -R nagios.nagios /usr/local/nagios/share/ssi

# ll /usr/local/nagios/share/ssi

-rw-r--r-- 1 nagios nagios 357 Sep 5 15:18 status-header.ssi

#

# service nagios restart
# service httpd restart

配置完成重啟nagios和httpd服務后,鼠標移到趨勢小圖標上面,就能顯示出彈出的圖形了。如果還不能顯示,有可能是ie的問題,請自行查證。或者將趨勢圖url中的graph改成popup,看看是否能顯示出圖形。如果可以顯示的話,應該是ie瀏覽器的問題。

3 nagios 使用php繪制趨勢圖

問題解答

以下問題是我在安裝pnp-0.4.14.tar.gz版本中出現(xiàn)的問題,記錄下解決方法。

如果是pnp4nagios-0.6.21.tar.gz版本的話,在第一次點擊趨勢圖小圖標時,顯示的頁面中會有驗證信息,比如有個rpm包沒有安裝等提示信息。只有所有的包驗證都通過,則一般情況下,趨勢圖就能出來。

重啟nagios和httpd后,如果不能畫出圖形,并報以下錯誤:

3 nagios 使用php繪制趨勢圖

則使用yum intall php-gd安裝后重啟httpd服務。

如果問題還未解決,則使用如下命令查看:

# php -m|grep -i gd

該命令成功的返回字符為gd。我在安裝一個地方的監(jiān)測系統(tǒng)時,報了:

3 nagios 使用php繪制趨勢圖

執(zhí)行# php -v也報錯,用ie打開 http://.../test.php也沒有顯示gd的一項。

后來發(fā)現(xiàn)gd.so文件不在/usr/lib/php/modules/下,而是在/usr/lib64/php/modules/中,將lib64下的文件復制到lib下就不會出現(xiàn)第二個錯誤了。對于第一個錯誤,將另外一地系統(tǒng)的dbase.so文件覆蓋掉這個文件后,問題解決。

這個問題可能是由于在安裝過程中,即安裝了32位的rpm包,又安裝了64位的rpm包引起。

這里提一下test.php文件,這個文件是測試php功能的,在安裝cacti的資料中都會提到這個測試來驗證是否支持json擴展。創(chuàng)建完這個文件后,需要重啟下httpd服務。文件內容為:

vi /var/www/html/test.php

<?php
phpinfo();
phpinfo(INFO_GENERAL);
phpinfo(1);
?>

如果又報了以下錯誤:

3 nagios 使用php繪制趨勢圖

檢查下vi /usr/local/nagios/etc/nagios.cfg

process_performance_data=1參數值是否為1

host_perfdata_command=process-host-perfdata

service_perfdata_command=process-service-perfdata

是否打開。并且監(jiān)測腳本中是否增加了“process_perf_data 1”。

進程數process不能出圖的解決

參考資料:

http://www.suiyiwen.com/question/4173

http://blog.chinaunix.net/uid-25266990-id-3437195.html

默認安裝的插件check_procs沒有輸出性能數據,可以通過修改源代碼的方式,解決了這個問題。

一具體實現(xiàn)方式

1 修改nagios-plugins-1.4.15\plugins\check_procs.c文件

找到 main (int argc, char **argv) 函數,添加新的變量 pref:

char *perf;

perf = strdup("");

2 函數最后return result; 之前的 printf ("\n"); 修改為:

asprintf(&perf, "%s", perfdata ("processes", procs, "",

TRUE, wmax,

TRUE, cmax,

TRUE, 0,

FALSE, 0));

printf ("|%s\n",perf);

3 重新編譯源代碼,將新生成的check_procs替換掉老的文件

這樣,PHP終于可以出進程數process的圖了。

二實現(xiàn)原理

PNP出圖的數據來自腳本在系統(tǒng)打印出來的字符串,而Nagios源碼提供的check_procs腳本系統(tǒng)輸出字符串不符合數據格式規(guī)范(沒有包含性能數據),所以就無法出圖了。

在源碼中加上性能數據的輸出,這樣就可以出圖了。

三 nagios性能數據格式

例:cpu_user:OK-0% cpu_system:OK-0% cpu_idle:WARNING-99>70% | cpu_user=0%;120;90; cpu_system=0%;100;70; cpu_idle=99%;100;70;

其中性能數據為|后面的斜體部分,格式如下:

‘label’=value[UOM];[warn];[crit];[min];[max]

注意事項:

1.空格分割標簽/值對 例如cpu_user=0%;100;90; cpu_system=0%;100;70; cpu_idle=99%;100;70;

2.label可以包含任何字符

3.單引號可省略,如果label中使用空格、等號和單引號,則需要需要單引號把label括起來。例如’a ‘b’ = c’=0%;100;90;

4.標簽可以為任意長度,但最好少于19個字符并且唯一,(RRD有相關方面的限制),并且需要注意NRPE的返回值的限制(譯者:好像是4K限制)

5.兩個單引號為指定的轉義字符?

6.warn, crit, min or max 可以為空(比如,如果沒有定義閥值,大最小值則不適用)并且最后的分號可以省略

7.如果UOM為%,則不需要大最小值

8.value, min and max只能為負號“-” “0到9” 和小數點“.” 并且單位必須統(tǒng)一 例如:cpu_user=0.5%;99.9;-9;

9.warn and crit必須在某個區(qū)間格式,參見2.5章。單位也必須統(tǒng)一

10.UOM必須為以下其中之一

1.如果未指定,默認為數字(整數和浮點數)(比如用戶數,進程數,負載等)

2. s – 秒 (可以為納秒us或毫秒ms) cpu_user=0s;100;90; cpu_system=0us;100;70; cpu_idle=0ms;100;70;

3. % – 百分號 cpu_user=0%;100;90; cpu_system=0%;100;70; cpu_idle=99%;100;70;

4. B – 字節(jié)(可可以是KB ,MB TB)cpu_user=0KB;100;90; cpu_system=0MB;100;70; cpu_idle=0B;100;70;

5. c – 一個計數器 (比如網卡的流量)cpu_user=10c;100;90;

Windows監(jiān)測及Pnp繪圖

Nagios監(jiān)測windows的那個默認的cfg中的幾項中,繪制的Pnp不太符合要求,比如內存監(jiān)測的數據為虛擬內存。其他自定義的服務、進程等由于輸出的信息,不符合Pnp制圖要求,因此,都不能繪制趨勢圖。

對NSClient++提供的nrpe協(xié)議進行測試,發(fā)現(xiàn)大多數輸入的信息符合Pnp制圖要求,因此,可通過nrpe的監(jiān)測項來進行繪圖。

要使NSClient++支持nrpe協(xié)議,需要對配置文件進行些修改。配置文件為C:\Program Files\NSClient++\nsclient.ini,該文件需要增加以下幾項,以支持nrpe的監(jiān)測:

; Section for NRPE (NRPEListener.dll) (check_nrpe) protocol options.

[/settings/NRPE/server]

command_timeout=60

allow nasty characters = true

use ssl=1

socket timeout=30

performance data=1

allow arguments=true

; Section for NSCA passive check module.

[/settings/NSCA/client]

; Target definition for: default

[/settings/NSCA/client/targets/default]

; Section for NSClient (NSClientServer.dll) (check_nt) protocol options.

[/settings/NSClient/server]

; Section for system checks and system settings

[/settings/check/system/windows]

; Confiure which services has to be in which state

[/settings/check/system/windows/service mapping]

; Configure crash handling properties.

[/settings/crash]

; Section for the EventLog Checker (CheckEventLog.dll).

[/settings/eventlog]

; A set of options to configure the real time checks

[/settings/eventlog/real-time]

; A set of filters to use in real-time mode

[/settings/eventlog/real-time/filters]

; Section for external scripts configuration options (CheckExternalScripts).

[/settings/external scripts]

; A list of aliases available. An alias is an internal command that has been "wrapped" (to add arguments). Be careful so you don't create loops (ie check_loop=check_a, check_a=check_loop)

[/settings/external scripts/alias]

; A list of scripts available to run from the CheckExternalScripts module. Syntax is: <command>=<script> <arguments>

[/settings/external scripts/scripts]

allow arguments=true

check_proc=scripts\\check_winprocess.exe

check_ping=scripts\\check_ping.bat 192.168.0.53

check_cmd=scripts\\check_winprocess.exe --filter "p_w_picpathname eq CMD.EXE" --compare ne --warn 1 --critical 1

check_winprocess=scripts\\check_winprocess.exe --warn 100 --critical 300

需要check_winprocess.exe程序支持,可到其官網下載并解壓到C:\Program Files\NSClient++\scripts下。但這個程序似乎也有問題,不太好用。

使用NSClient自帶的一些監(jiān)測項,具體使用方法參考:

http://www.nsclient.org/nscp/wiki/NRPEClient

http://www.nsclient.org/nscp/

以下列舉一二:

首先執(zhí)行:

# ./check_nrpe -H 192.168.0.53

I (0,4,1,101 2013-05-18) seem to be doing fine...

如果有以上輸出信息,則說明nrpe可正常使用。

本人原先安裝的是NSCP-0.4.1.101-Win32.msi ,以上顯示的輸出信息正常。而如果安裝最新版本NSCP-0.4.2.17-Win32.msi,則顯示的信息不正常,以下的所有的監(jiān)測都無法正常??赡茏钚掳姹居衎ug。重新安裝老版本就沒問題。

# ./check_nrpe -H 192.168.0.53

CHECK_NRPE: No output returned from daemon. //這里顯示的信息不正常

#/check_nrpe -H 192.168.0.53 -c CheckProcState -a ShowAll explorer.exe=started winzip.exe=stopped

CHECK_NRPE: No output returned from daemon.

內存監(jiān)測

http://www.nsclient.org/nscp/wiki/CheckSystem/checkMem

check_nrpe -H IP -p 5666 -c CheckMEM -a MaxWarn=80% MaxCrit=90% ShowAll type=physical type=page type=pagedtype=virtual

type有三項,可在一條語句中一起監(jiān)測,或者分開監(jiān)測,如:

#./check_nrpe -H 192.168.0.53 -c CheckMEM -a MaxWarn=80% MaxCrit=90% ShowAll type=physical type=page type=virtual

CPU監(jiān)測

http://www.nsclient.org/nscp/wiki/CheckSystem/checkCPU

#./check_nrpe -H 192.168.0.53 -c CheckCPU -a warn=80 crit=90 time=20m time=10s time=4

UpTime監(jiān)測

http://www.nsclient.org/nscp/wiki/CheckSystem/checkUpTime

#./check_nrpe -H 192.168.0.53 -c CheckUpTime -a MinWarn=1d MinCrit=12h

進程監(jiān)測

http://www.nsclient.org/nscp/wiki/CheckSystem/checkProcState

#./check_nrpe -H 192.168.0.53 -c CheckProcState -a ShowAll explorer.exe=started winzip.exe=stopped

服務監(jiān)測

http://www.nsclient.org/nscp/wiki/CheckSystem/checkServiceState

#./check_nrpe -H 192.168.0.53 -c CheckServiceState -a ShowAll nscp=started WebClient=stopped

不過,服務監(jiān)測的輸出數據不符合Pnp制圖要求。

Counter監(jiān)測

http://www.nsclient.org/nscp/wiki/CheckSystem/checkCounter

#./check_nrpe -H 192.168.0.53 -c CheckCounter -a "Counter:mutex=\\Objects\\Mutexes" ShowAll MaxWarn=500 MaxCrit=1000

#./check_nrpe -H 192.168.0.53 -c CheckCounter -a "Counter:proc=\\Processor(_total)\\% Processor Time" ShowAll MaxWarn=50 MaxCrit=80

另外有需要云服務器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。

本文名稱:3nagios使用php繪制趨勢圖-創(chuàng)新互聯(lián)
URL標題:http://jinyejixie.com/article44/coipee.html

成都網站建設公司_創(chuàng)新互聯(lián),為您提供靜態(tài)網站服務器托管、企業(yè)網站制作、外貿建站網站制作、建站公司

廣告

聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

成都網站建設
靖边县| 项城市| 正宁县| 科尔| 洛隆县| 塔河县| 电白县| 昌都县| 松桃| 屏东县| 福贡县| 昌都县| 五家渠市| 化德县| 原平市| 徐水县| 翁源县| 商水县| 博野县| 灵宝市| 股票| 庄河市| 沈丘县| 海原县| 光泽县| 静宁县| 齐齐哈尔市| 青河县| 林西县| 太湖县| 辰溪县| 大新县| 汾阳市| 曲阜市| 攀枝花市| 类乌齐县| 滕州市| 博爱县| 龙海市| 浙江省| 运城市|