亚洲成精品动漫久久精久,九九在线精品视频播放,黄色成人免费观看,三级成人影院,久碰久,四虎成人欧美精品在永久在线

掃一掃
關注微信公眾號

基于Linux系統的Nagios網絡管理模塊的實現(1)
2008-08-21   

1.引言

隨著計算機網絡的普及,網絡管理已成為信息時代中最重要的問題之一。在現有的技術條件下,人們希望有一個更加穩定可靠的網絡環境。計算機網絡管理系統就是應這樣的需求而產生的。它對網絡上的各種設備進行管理,通過監視和控制這些設備,及時地向管理人員報告網絡狀態,并且簡化網絡故障的處理,減少故障造成的損失,提高網絡的服務質量和效率。面對企業大大小小的服務器,單憑某個網管工具或某個人,已經不能勝任如此大的工作量同時也無法滿足業務緊迫性的要求。各類企業之間以及企業內部的服務也越來越普遍,對于企業管理員的任務也是隨之更加繁重。即使是一個小公司,在他們所使用的計算機系統中,也應該包含有不少數量的,運行著許多服務和軟件包的硬件。大公司則更有成百上千的同類設施需要管理和運行。在管理員不可能及時去注意每一個服務和軟件的情況下,為了對這些眾多的服務和軟件進行有效的管理。

一般來說,是采取發生問題后進行解決的方法,即基于反應的解決方案。但是這種解決方案通常的效率都是非常低的,如果反應及時,只需少數的幾分鐘就可以解決問題,但如果發現問題晚了,就會浪費時間帶來更多損失。比如,察看及時地話,通過日志就可以發現某個服務是否運行異常,然后解決掉,但如果是在此服務異常運行已經很嚴重時,要恢復它,不僅困難還會帶來不小的損失。因此,一個完成此類檢測功能的自動化工具對于網絡管理員就顯得非常重要。Nagios 是一個運行于 Linux 系統上的開源網絡管理監測系統。它強大的功能可以實現對網絡上的服務器進行全面的監控,包括服務(apache、mysql、ntp、ftp、disk、qmail 和 http 等等)的狀態,服務器的狀態。

2.Nagios 系統

2.1 Nagios 系統介紹

Nagios是一個用來監視系統和網絡的開源應用軟件,它通常運行于一個主服務器上,

這個服務器運行 Liunx 或 Unix 操作系統。Nagios 利用其眾多的插件實現對本機和遠端服務的監控,當被監控對象出現異常,Nagios 就會及時給管理人員告警。它是一個基于 TCP/IP

協議的軟件包,包含有nagios主程序和它的各個插件,配置非常靈活,可以監視的項目很多,也可以通過自定義 shell 腳本進行監控服務,非常適合各類企業的網絡應用。

2.2 Nagios 系統的主要特點

Nagios 系統的特點主要有下面幾點:

1.監控主機資源和網絡服務

2.允許用戶通過設計實現簡單的插件來監控自己特定的服務

3.當被監控對象出現問題時,會及時通知管理人員

4.事先定義事件處理程序,當對象出現問題時自動調用對應的處理程序

5.通過 web 頁面來監視對象狀態,警告提示和日志文件。

如下圖 1 為 Nagios 的結構圖:

圖1 Nagios 系統的結構圖(點擊查看大圖)

可見,Nagios 采用分布--集中的管理模式。在 Nagios 服務器上安裝 Nagios 主程序,

在被監控主機上安裝 Nagios 代理程序。通過 Nagios 主程序和 Nagios 代理程序之間的通訊,監視對象的狀態。

2.3在Linux上運行 Nagios 系統

Nagios 系統是運行在 Linux 或者 Unix 操作系統之上的,安裝前確認操作系統支持 TCP/IP協議并且有 C 語言編譯器(如,gcc 等)。如果沒有 web 服務器,例如 apache,預先安裝之。在 Nagois 官方網站下載 Nagios 主程序、插件和安裝文檔,最新版本是 Nagios 3.0rc2。Nagios 是開源項目,它的安裝也比較簡單,按照文檔一步步執行就可以順利完成。

如果 Nagios 安裝在/usr/local 目錄下,完成后執行如下命令:

/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg

這個操作用來預先檢查 nagios 配置的是否正確。如果沒有錯誤,開始運行 Nagios。

service nagios start (后面也可跟這些:restart, stop, reload.),也可以這樣啟動:



/usr/local/nagios/bin/nagios -d /usr/local/nagios/etc/nagios.cfg



Nagios 啟動正常后,登錄到 nagios CGIs

打開瀏覽器,輸入 http://主機 IP/nagios/如果配置正確將會進入到nagios的監視界面,然后可以查看沒人情況下主機被監視的細節數據。如果出現提示“Internal Server Error”,這可能是本機上安裝并正在運行Redhat Linux. 首先查看 Linux 是否處于 Enforcing 模式getenforce然后把 Linux 置為 permissive 模式setenforce 0重新打開瀏覽器就可以看到被 Nagios 監控的服務了。

現在訪問nagios的服務器web界面,界面如下圖2。

訪問界面圖2


共2頁: 1 [2] 下一頁
第 1 頁:Nagios 系統 第 2 頁:實現原理

3. 運用 Nagios 實現對網絡上服務器的監控

3.1實現原理

處于網絡中的各種服務器需要管理和維護,管理員不可能及時對每一臺的狀態都進行監

控,這時候當然需要借助軟件的功能來實現了。Nagios的功能是監控服務和主機,但是他

自身并不包括這部分功能,所有的監控、檢測功能都是通過各種插件來完成的。啟動 Nagios后,它會周期性的自動調用插件去檢測服務器狀態,同時 Nagios 會維持一個隊列,所有插件返回來的狀態信息都進入隊列,Nagios每次都從隊首開始讀取信息,并進行處理后,把狀態結果通過 web 顯示出來。Nagios 提供了許多插件,利用這些插件可以方便的監控很多服務狀態。安裝完成后,在nagios 主目錄下的/libexec 里放有 nagios 自帶的可以使用的所有插件,如,check_disk 是檢查磁盤空間的插件,check_load是檢查CPU負載的,等等。每一個插件可以通過運行./check_xxx –h 來查看其使用方法和功能。Nagios 可以識別 4 種狀態返回信息,即 0(OK)表示狀態正常、1(WARNING)表示出現一定的異常、2(CRITICAL)表示出現非常眼中的錯誤、3(UNKNOWN)表示被監控的對象已經停止了。Nagios 根據插件返回來的值,來判斷監控對象的狀態,并通過 web 顯示出來,以供管理員及時發現故障。

3.2利用 Nagios 的 NRPE 插件實現網絡上服務器的監控

知道 Nagios 是如何通過插件來管理服務器對象后,現在開始研究它是如何管理遠端服

務器對象的。Nagios 系統提供了一個插件 NRPE。Nagios 通過周期性的運行它來獲得遠端服務器的各種狀態信息。它們之間的關系如下圖 3 所示:

圖 3%26#61472; Nagios 通過 NRPE 來遠端管理服務

1.Nagios 執行安裝在它里面的 check_nrpe 插件,并告訴 check_nrpe 去檢測哪些服務。

2.通過 SSL,check_nrpe 連接遠端機子上的 NRPE daemon

3.NRPE 運行本地的各種插件去檢測本地的服務和狀態(check_disk,..etc)

4.最后,NRPE 把檢測的結果傳給主機端的 check_nrpe,check_nrpe 再把結果送到 Nagios狀態隊列中。

5.Nagios 依次讀取隊列中的信息,再把結果顯示出來。

下面通過一個監控遠端服務器 CPU 負載情況的實例,研究如何實現通過 NRPE 來管理遠端服務器。假設有一臺遠端服務器的 IP 是 10.20.0.110,Nagios 服務主機 IP 是:10.20.10.1。它們都已經安裝上了 nagios 系統,主機通過 NRPE 檢查運行中的服務器 CPU 的負載量,當負載量超過80%是發出警告(WARNING)報告,超過95%時發出緊急(CRITICAL)報告。在Nagios 的插件中存在 check_load -w $ARG1$ -c $ARG2$插件,通過查看其幫助,當 Nagios 調用它時,就會去檢查對象主機的CPU負載,達到$ARG1$指定的數值時就會發出警告(WARNING),達到$ARG2$時發出緊急報告(CRITICAL)。

首先是在遠端服務器上的修改:

1.讓 Nagios 用戶擁有對如下文件的所用權:

chown nagios.nagios /usr/local/nagios



chown –R nagios.nagios /usr/local/nagios/libexec





然后如果沒有安裝 xinetd,則先安裝 xinetd。

2.按照 Nagios 文檔安裝好 nrpe 插件。

3.修改文件/etc/xinetd.d/nrpe:

only_from  = 127.0.0.1 10.20.10.1(這個是 Nagios 主機的 IP) 



nrpe 允許以上 IP 的機器通過 nrpe 查詢服務



4.在/etc/service 文件里添加:

nrpe  5666/tcp  #nrpe



然后  service xinetd restart 



5.執行:netstat –at | grep nrpe

如果出現:tcp 0 0 *:nrpe *:* LISTEN 說明NRPE監聽已經成功啟動了

6.執行 /usr/local/nagios/libexec/check_nrpe –H localhost

出現 NRPE v 2.8.1 則安裝成功。

7.確認本地防火墻允許遠端服務器訪問 NRPE daemon:

iptables -IRH-Firewall-1-INPUT -p tcp -m tcp –dport 5666 -j ACCEPT



service iptables save 





8.打開/usr/local/nagios/etc/commands.cfg,找到 check_load 服務,修改如下:

define command{



 command_name    check_server_load

        

 command_line    $USER1$/check_load -w 80% -c 95%

        

  } 



9.打開 /usr/local/nagios/etc/nrpe.cfg 可以看到里面已經默認定義了一些檢測服務,如:

/usr/local/nagios/libexec/check_nrpe -H localhost -c check_users /usr/local/nagios

/libexec/check_nrpe -H localhost -c check_load /usr

/local/nagios/libexec/check_nrpe -H localhost -c check_hda1 



注釋掉除 check_load 外的其它服務定義。

最后是 Nagios 主機上的修改:

1在 Nagios 主機上安裝 nrpe 插件。

2打開/usr/local/nagios/etc/command.cfg添加如下行:

define command{



command_name check_nrpe



command_line $USER1$/check_nrpe –H 10.20.0.110 -c $ARG1$ 



3再在對象定義的配置文件里(host.cfg 文件),修改 host 為要檢測的主機的 IP 地址,然后在服務中添加要檢測的命令:

define service{



use linux-service



service_description remote_CPU_Load



check_command check_nrpe!check_load



}





4在 nagios.cfg 主配置文件中,cfg_file 值為 host.cfg,運行

/usr/local/nagios/bin/nagios –v /usr/local/nagios/etc/nagios.cfg



如果沒有錯就啟動 nagios:



service nagios start(restart,stop)





5打開瀏覽器:http://主機 IP/nagios

可以看到所監控的遠端機器的這個信息了(check_server_load的返回結果),參看圖2.正常狀態用綠色表示,一旦遠端服務器負載超過 80%,狀態信息就會變成紅色警告管理員。

4. 對 Nagios 系統的評價和建議

本文是對 Nagios 的遠端監控功能的應用和研究,要想得到更加復雜的服務,還需要進一步的研究它的文檔,并且不斷的去嘗試。和所有的網絡管理工具一樣,要想進行充分利用Nagios進行全面的監控服務,需要進行相當復雜的設置,并且需要在運行時進行調整,以確保所提供的信息是正確的,這些都會隨著對 Nagios 的進一步了解而慢慢容易起來。雖然Nagios 配置復雜,但是一旦配置成功后它的操作很簡單,大部分是基于 web 的操作,而且易于擴展,這是它的兩大特點。它還可以很輕松的與其他的工具進行整合和擴展,可以從其他的應用軟件中接收數據,或者向一些報告引擎或者工具中發送數據等,例如,它可以借助 mrtg 軟件來義圖表的形式顯示監控的服務狀態,限于篇幅在此就不細說了。Nagios 是一個非常強大的工具,在它運行后,它能夠讓你的 IT 工作變得更加容易。而相比商業版的類似軟件,它也具有低成本的優勢。自然,最好的特點是由于它是開放源代碼的軟件,因此我們隨時可以從整個 Nagios 社區中獲得幫助,能夠

熱詞搜索:

上一篇:Linux比Windows強,但是怎么管理呢?
下一篇:監控三個指標 并不代表你能監控Tuxedo

分享到: 收藏