基于nagios網(wǎng)絡(luò)監(jiān)控管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)論文_第1頁
基于nagios網(wǎng)絡(luò)監(jiān)控管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)論文_第2頁
基于nagios網(wǎng)絡(luò)監(jiān)控管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)論文_第3頁
基于nagios網(wǎng)絡(luò)監(jiān)控管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)論文_第4頁
基于nagios網(wǎng)絡(luò)監(jiān)控管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)論文_第5頁
已閱讀5頁,還剩49頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、畢業(yè)設(shè)計(jì)論文基于nagios網(wǎng)絡(luò)監(jiān)控管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)摘 要大型企業(yè)和學(xué)校的IT信息系統(tǒng),其規(guī)模往往非常龐大,服務(wù)器總數(shù)量可以達(dá)到1000-3000臺(tái)之多,在日常的運(yùn)行維護(hù)工作中,對這些服務(wù)器的運(yùn)行情況進(jìn)行監(jiān)控和管理就是非常具有挑戰(zhàn)性的工作。而高可用系統(tǒng)采用負(fù)載均衡等方式將故障節(jié)點(diǎn)對用戶進(jìn)行自動(dòng)屏蔽,這種設(shè)計(jì)就要求監(jiān)控系統(tǒng)必須及時(shí)發(fā)現(xiàn)故障點(diǎn)并通知處理。而Nagios是一個(gè)基于Linux平臺(tái)的通用計(jì)算機(jī)服務(wù)監(jiān)控系統(tǒng)。其具有松散藕合、跨平臺(tái)、接口標(biāo)準(zhǔn)、高擴(kuò)展性、可基于 協(xié)議靈活訪問等特點(diǎn)。本課題立足于洛陽理工學(xué)院西區(qū)校園網(wǎng),以開源網(wǎng)絡(luò)監(jiān)控軟件nagios為基礎(chǔ),搭建校園網(wǎng)絡(luò)監(jiān)控系統(tǒng)。通過對開源網(wǎng)

2、絡(luò)監(jiān)控軟件nagios的二次開發(fā),實(shí)現(xiàn)可以滿足自身校園網(wǎng)需求的網(wǎng)絡(luò)監(jiān)控系統(tǒng)。詳細(xì)分析了nagios的架構(gòu)原理、工作流程、強(qiáng)大報(bào)警和插件擴(kuò)展方式的同時(shí),也豐富了nagios的繪圖效果,在原有的郵件報(bào)警基礎(chǔ)之上,增加了飛信報(bào)警、聲音報(bào)警功能,并且對主機(jī)和服務(wù)狀態(tài)進(jìn)行更直觀的監(jiān)控。關(guān)鍵詞:通用,網(wǎng)絡(luò)監(jiān)控,監(jiān)控利器nagios,報(bào)警 DESIGN AND IMPLEMENTATION BASED ON NAGIOS NETWORK MONITORING MANAGEMENT SYSTERMABSTRACTLarge enterprises and campus often has a large-sc

3、ale IT information system, it maybe have 1000 to 3000 servers. It's a very challenging work to monitor and manage these servers in daily operation and maintenance. High Availability system use load balance to shield the failed node automatically, this design require monitoring system must detect

4、 failures automatically. Nagios is a Linux-based general-purpose computer service monitoring system. It has loosely coupled, cross-platform, standard interface, highly scalable, flexible access via HITTP protocol Features. Based on west of luoyang institute of technology campus network, based on the

5、 open source network monitoring software nagios, build campus network monitoring system. Through the open source network monitoring software nagios of secondary development, can meet the demand of campus network of their own network monitoring system. In detailed analysis of the principle of the arc

6、hitecture of nagios, work process and at the same time, the way of a powerful plug-in extension also enriched the nagios alarm way, based on the original email alarm, increased the fetion alarm, voice alarm function, and the entire network traffic state more intuitive monitoring.KEY WORDS: General,n

7、etwork monitoring,monitor Nagios,alarming目錄前言1第1章 緒論31.1 論文選題背景31.2 選題研究內(nèi)容和意義51.3 本文的結(jié)構(gòu)安排6第2章 監(jiān)控系統(tǒng)及相關(guān)技術(shù)概述72.1 計(jì)算機(jī)網(wǎng)絡(luò)監(jiān)控系統(tǒng)概述72.2 主流監(jiān)控軟件的比較和研究82.3 nagios監(jiān)控系統(tǒng)的介紹92.4 nagios監(jiān)控系統(tǒng)的工作原理11第3章 基于Nagios網(wǎng)絡(luò)監(jiān)控系統(tǒng)的分析173.1 系統(tǒng)總體需求分析173.2 基于nagios網(wǎng)絡(luò)監(jiān)控系統(tǒng)的架構(gòu)分析17第4章 基于nagios的校園網(wǎng)絡(luò)監(jiān)控系統(tǒng)的設(shè)計(jì)184.1 監(jiān)控系統(tǒng)的基本功能模塊設(shè)計(jì)18主機(jī)和主機(jī)組的管理18服務(wù)和服

8、務(wù)組的管理18時(shí)間規(guī)則的管理19用戶和用戶組的管理204.2 基于nagios的校園網(wǎng)絡(luò)監(jiān)控系統(tǒng)的對象論述20直接監(jiān)控20通過客戶端插件實(shí)現(xiàn)遠(yuǎn)程linux主機(jī)的監(jiān)控21通過客戶端插件實(shí)現(xiàn)遠(yuǎn)程windows主機(jī)的監(jiān)控21nagios監(jiān)控系統(tǒng)性能分析圖表21第5章 基于nagios的校園網(wǎng)絡(luò)監(jiān)控系統(tǒng)的實(shí)現(xiàn)245.1 nagios監(jiān)控系統(tǒng)的搭建24搭建前的準(zhǔn)備工作24環(huán)境搭建啟動(dòng)相關(guān)服務(wù)25nagios監(jiān)控系統(tǒng)的搭建25nagios監(jiān)控系統(tǒng)的環(huán)境搭建275.2 使用nrpe插件監(jiān)控linux主機(jī)上的本地信息30監(jiān)控系統(tǒng)在被監(jiān)控linux主機(jī)上的實(shí)現(xiàn)31監(jiān)控系統(tǒng)在監(jiān)控主機(jī)上的實(shí)現(xiàn)315.3 使用nsc

9、lient插件監(jiān)控windows主機(jī)系統(tǒng)33監(jiān)控系統(tǒng)在windows被監(jiān)控主機(jī)上的實(shí)現(xiàn)33監(jiān)控系統(tǒng)在windows監(jiān)控主機(jī)上的實(shí)現(xiàn)345.4 使用snmp插件監(jiān)控網(wǎng)絡(luò)核心交換機(jī)365.5 nagios監(jiān)控系統(tǒng)的報(bào)警功能37nagios監(jiān)控系統(tǒng)使用郵箱報(bào)警37nagios監(jiān)控系統(tǒng)使用飛信報(bào)警38第6章 基于nagios的校園網(wǎng)絡(luò)監(jiān)控系統(tǒng)的測試與分析40結(jié)論44謝 辭45參考文獻(xiàn)46外文資料翻譯47前言商業(yè)化的網(wǎng)絡(luò)管理平臺(tái)已經(jīng)具備了比較完善的網(wǎng)絡(luò)監(jiān)測與管理功能,比較著名的商業(yè)化網(wǎng)絡(luò)管理平臺(tái)有惠普公司的 Open-View、IBM 公司的 NetView、SUN 公司的 SunNet Manager

10、等等。HP 的 OpenView 是一個(gè)跨平臺(tái)的企業(yè)級的網(wǎng)絡(luò)管理平臺(tái),它的最大特點(diǎn)是被第三方應(yīng)用開發(fā)廣泛接收,已經(jīng)成為網(wǎng)絡(luò)管理領(lǐng)域的領(lǐng)導(dǎo)者;IBM 的 NetView 是一個(gè)相對比較新,同時(shí)又具有良好兼容性的網(wǎng)絡(luò)管理系統(tǒng),它可以作為一個(gè)跨平臺(tái)、即插即用的系統(tǒng)提供給用戶,也可以作為一個(gè)開發(fā)平臺(tái),在上面開發(fā)新的網(wǎng)絡(luò)管理應(yīng)用;SUN 的 SunNet Manager 是第一個(gè)重要的基于 Unix 的網(wǎng)絡(luò)管理系統(tǒng),它主要作為開發(fā)平臺(tái)而存在,僅僅提供很少的應(yīng)用功能。網(wǎng)絡(luò)管理軟件也叫做設(shè)備管理軟件,它有別于網(wǎng)絡(luò)管理平臺(tái),是眾多網(wǎng)絡(luò)管理設(shè)備廠商為用戶管理該廠家設(shè)備設(shè)計(jì)的管理軟件。比較著名的網(wǎng)絡(luò)設(shè)備提供商Ci

11、sco 公司針對自己的產(chǎn)品開發(fā)了 CiscoWork,它基于 SNMP 業(yè)界標(biāo)準(zhǔn),利用嵌入式特征,在不同的異構(gòu)性網(wǎng)絡(luò)內(nèi)提供 Cisco 管理方案。Quidview 網(wǎng)絡(luò)管理軟件是華為公司針對其數(shù)據(jù)通信設(shè)備進(jìn)行統(tǒng)一管理和維護(hù)的網(wǎng)管產(chǎn)品,它為華為公司的數(shù)據(jù)通信設(shè)備產(chǎn)品提供了全網(wǎng)解決方案。在開源領(lǐng)域,現(xiàn)在也出現(xiàn)了很多出色的網(wǎng)絡(luò)監(jiān)測與網(wǎng)絡(luò)管理軟件。比較著名的Mrtg(Multi Router Traffic Grapher)是由 Tobias Oetiker 編寫的一個(gè)監(jiān)控網(wǎng)絡(luò)鏈路流量負(fù)載的工具軟件,它用 perl 編寫的,源代碼完全開放,可以運(yùn)行在大多數(shù) Unix 系統(tǒng)和Windows 系統(tǒng)之上,M

12、rtg采用了Simon Leinen編寫的具有高可移植性的SNMP實(shí)現(xiàn)模塊,不依賴于操作系統(tǒng)的 SNMP 模塊支持。RRDTool 也是由 Tobias Oetiker 編寫的監(jiān)測網(wǎng)絡(luò)流量負(fù)載的開源軟件。RRDTool 使用 RRD 存儲(chǔ)格式,可以定義任意時(shí)間段畫圖,可以任意處理 RRD 文件中的數(shù)據(jù)。RRDTool 的繪圖功能非常強(qiáng)大,不過由于 RRDTool 的命令復(fù)雜繁多,缺少數(shù)據(jù)采集功能,因此不便于使用。Cacti 是一套完全面向 RRDTool 的 B/S 系統(tǒng),它在 MySQL 數(shù)據(jù)庫中存儲(chǔ)了所有 RRDTool 創(chuàng)建圖像時(shí)需要用到的信息,使用 snmpget 命令采集數(shù)據(jù),使用R

13、RDTool 繪圖。它的界面簡潔直觀,彌補(bǔ)了 RRDTool 命令復(fù)雜的缺點(diǎn)。此外,它還提供了強(qiáng)大的數(shù)據(jù)管理和用戶管理功能。在圖像管理上,Cacti 采用了樹狀結(jié)構(gòu)的查看界面,用戶還可以為某項(xiàng)監(jiān)測內(nèi)容建立模板,也可以導(dǎo)入別人做好的模板。Nagios 是一款開源的企業(yè)級系統(tǒng)監(jiān)控軟件,可以監(jiān)控主機(jī)狀態(tài)、服務(wù)狀態(tài),以及網(wǎng)絡(luò)狀態(tài)。對于不在默認(rèn)監(jiān)測范圍的服務(wù),可以通過自己編寫插件實(shí)現(xiàn)監(jiān)控。開源軟件最大的優(yōu)勢是代碼開放并且大多數(shù)是免費(fèi),用戶可以根據(jù)自身監(jiān)測需要,在開源網(wǎng)絡(luò)監(jiān)測軟件的基礎(chǔ)上打造自己的網(wǎng)絡(luò)監(jiān)測平臺(tái)。開源網(wǎng)絡(luò)監(jiān)測軟件也因此受到越來越多網(wǎng)絡(luò)管理人員的青睞。本課題以校園網(wǎng)監(jiān)測為研究對象,通過使用開源

14、網(wǎng)絡(luò)監(jiān)測軟件 Nagios,在linux系統(tǒng)上建立基于開源軟件 Nagios 的校園網(wǎng)監(jiān)測系統(tǒng)。該監(jiān)控系統(tǒng)實(shí)現(xiàn)了對校園網(wǎng)絡(luò)狀態(tài)的監(jiān)控、cpu負(fù)載情況的監(jiān)控、web服務(wù)器的運(yùn)行狀況監(jiān)控,以圖形化的友好界面進(jìn)行顯示,并安裝了短信報(bào)警機(jī)制、郵件報(bào)警機(jī)制等功能。本課題為園區(qū)網(wǎng)絡(luò)監(jiān)控系統(tǒng)提供了基于開源網(wǎng)絡(luò)監(jiān)測軟件的實(shí)施方案,在獲得與商業(yè)網(wǎng)絡(luò)監(jiān)測系統(tǒng)相仿功能特點(diǎn)的同時(shí),也縮短了獨(dú)立開發(fā)網(wǎng)絡(luò)監(jiān)控軟件的實(shí)周期,節(jié)約了開發(fā)成本;同時(shí)通過飛信和郵件的報(bào)警機(jī)制,使管理員能夠動(dòng)態(tài)知道校園網(wǎng)絡(luò)的運(yùn)行情況,服務(wù)器的負(fù)載情況,確保校園網(wǎng)絡(luò)正常運(yùn)轉(zhuǎn)。 第1章 緒論1.1 論文選題背景隨著高校擴(kuò)招后的快速發(fā)展,校園網(wǎng)絡(luò)的規(guī)模也

15、相應(yīng)不斷擴(kuò)大,作為校園網(wǎng)絡(luò)管理和維護(hù)人員,面對網(wǎng)絡(luò)設(shè)備不斷增多的情況下,傳統(tǒng)的網(wǎng)絡(luò)管理方法已經(jīng)顯得力不從心。以前網(wǎng)絡(luò)規(guī)模小,故障少,處理簡單,隨著校園網(wǎng)經(jīng)過一定時(shí)間的建設(shè)后,網(wǎng)絡(luò)設(shè)備數(shù)量增多,型號多樣,導(dǎo)致網(wǎng)絡(luò)問題日益復(fù)雜化,問題層出無窮。 作為網(wǎng)絡(luò)管理人員,最重要的任務(wù)就是要隨時(shí)了解網(wǎng)絡(luò)的運(yùn)行情況。運(yùn)行情況是否異常的最直觀判斷來自于對網(wǎng)絡(luò)流量的監(jiān)測,這是因?yàn)橥ㄟ^對網(wǎng)絡(luò)出口和各主干網(wǎng)的流量進(jìn)行監(jiān)測,才能獲得網(wǎng)絡(luò)設(shè)備以及主干網(wǎng)的流量數(shù)據(jù),對這些數(shù)據(jù)進(jìn)行分析,就能發(fā)現(xiàn)整個(gè)網(wǎng)絡(luò)運(yùn)行情況是否異常,判斷網(wǎng)絡(luò)的故障,并根據(jù)所掌握的情況進(jìn)行一些適當(dāng)?shù)恼{(diào)整。同時(shí)隨著我國各行各業(yè)信息化的迅速普及,機(jī)房作為信息化

16、的重要標(biāo)志其數(shù)量日益增多,銀行、電信運(yùn)營商等傳統(tǒng)的 IT 大戶自不必說,就是普通的大中企業(yè).政府、院校以及大型醫(yī)院等在機(jī)房建設(shè)的投入上也是日漸增多,機(jī)房的規(guī)模越來越大。而作為機(jī)房的主角-各種服務(wù)器的數(shù)量更是迅猛增加。怎樣有效地管理好這么多的服務(wù)器成為擺在各 IT 部門面前的一道棘手的難題,在管理這些服務(wù)器的工作中有很重要一環(huán)是怎樣實(shí)時(shí)監(jiān)測它們的運(yùn)行狀態(tài)以及性能,如果單靠人工去監(jiān)測這么多服務(wù)器顯然既不科學(xué)也不現(xiàn)實(shí)。對于系統(tǒng)管理員來說,網(wǎng)絡(luò)監(jiān)控系統(tǒng)的意義和作用主要在于以下兩點(diǎn):一個(gè)是可以及時(shí)的關(guān)注到服務(wù)器的一些異常情況,并根據(jù)預(yù)設(shè)置的閥值進(jìn)行告警,比如磁盤空間不足、CPU和內(nèi)存利用率異常增高、運(yùn)行

17、的進(jìn)程突然增多等等。發(fā)現(xiàn)這些問題后,可以在業(yè)務(wù)尚能正常運(yùn)行的情況下對潛在問題提前進(jìn)行處理;還有一個(gè)是在較為復(fù)雜的應(yīng)用環(huán)境中出現(xiàn)問題時(shí),比如網(wǎng)絡(luò)中斷、應(yīng)用程序出錯(cuò)、系統(tǒng)崩潰等情況發(fā)生時(shí),面對大量服務(wù)器和應(yīng)用程序,可以根據(jù)監(jiān)控系統(tǒng)給出的告警信息快速定位到問題所在,為排除故障贏得寶貴的時(shí)間。隨著高校數(shù)字化校園建設(shè)的深入, 校園網(wǎng)絡(luò)信息服務(wù)的重要性日益彰顯, 如何保證各種網(wǎng)絡(luò)應(yīng)用系統(tǒng)為此提供穩(wěn)定可靠的服務(wù), 是校園網(wǎng)絡(luò)管理者所面臨的重要課題. 校園網(wǎng)信息服務(wù)已從提供豐富的信息系統(tǒng)種類轉(zhuǎn)變?yōu)樘峁└咝Ф€(wěn) 定的信息服務(wù)。隨著當(dāng)前各行業(yè)對系統(tǒng)安全和災(zāi)難備份的逐漸重視,當(dāng)前企業(yè)和中的服務(wù)器往往分布在不同的地域

18、,且根據(jù)安全級別的劃分將應(yīng)用部署于不同安全級別的網(wǎng)絡(luò)分區(qū)內(nèi),常見的操作系統(tǒng)平臺(tái)有AIX、 SCO UNIX,LINUX及各版本的Windows,還有Vmware、Hyper-V等虛擬機(jī),其上運(yùn)行了大量應(yīng)用程序。部分關(guān)鍵業(yè)務(wù)系統(tǒng)己經(jīng)部署了監(jiān)控程序,但是往往存在以下局限性:(1)是所能監(jiān)控的項(xiàng)目有限,局限于簡單的CPU負(fù)載、內(nèi)存使用、磁盤空間等項(xiàng)目;(2)是監(jiān)控程序的局限性,即監(jiān)控程序針對專門的應(yīng)用程序進(jìn)行開發(fā),雖然通常具有高效可靠實(shí)時(shí)的優(yōu)點(diǎn),但是不能推而廣之對其他的系統(tǒng)進(jìn)行監(jiān)控,因此僅能應(yīng)用于部分核心系統(tǒng);(3)是各個(gè)應(yīng)用系統(tǒng)所專用的監(jiān)控程序信息不能相互溝通,數(shù)量繁多,甚至需要整整一面監(jiān)控墻來展

19、示各類監(jiān)控信息,容易顧此失彼,造成遺漏和監(jiān)控上的盲點(diǎn);(4)是監(jiān)控系統(tǒng)和應(yīng)用系統(tǒng)部署之間的矛盾:傳統(tǒng)監(jiān)控程序要求能夠直接探測到應(yīng)用所在的服務(wù)端口遠(yuǎn)程讀取SNMP等系統(tǒng)信息,在對網(wǎng)絡(luò)安個(gè)要求較高的證券行業(yè)中的部署和安全性提出了挑戰(zhàn);基于以上情況,需要建設(shè)一套通用計(jì)算機(jī)服務(wù)監(jiān)控系統(tǒng)來實(shí)現(xiàn)對企業(yè)中數(shù)量龐人的服務(wù)器進(jìn)行全面監(jiān)控,且監(jiān)控目能夠涵蓋絕大部分主機(jī)及各類應(yīng)用。因此,一個(gè)能夠?qū)崟r(shí)監(jiān)測服務(wù)器系統(tǒng)的軟件對于服務(wù)器管理人員就顯得尤為重要。Nagios 就是一個(gè)運(yùn)行于 Linux 系統(tǒng)上的開源服務(wù)器監(jiān)控系統(tǒng)。它強(qiáng)大的功能可以實(shí)現(xiàn)對網(wǎng)絡(luò)上的服務(wù)器進(jìn)行全面的監(jiān)控,包括服務(wù)器上運(yùn)行的服務(wù)( Apache、My

20、SQL、FTP、DNS 和 sshd 等) 的狀態(tài)和服務(wù)器系統(tǒng)資源的狀態(tài)。1.2 選題研究內(nèi)容和意義本課題以洛陽理工校園網(wǎng)監(jiān)控為研究對象,通過使用開源網(wǎng)絡(luò)監(jiān)測軟件 nagios,在linux系統(tǒng)上,建立基于開源軟件 Nagios 的校園網(wǎng)監(jiān)測系統(tǒng)。該監(jiān)控系統(tǒng)實(shí)現(xiàn)了對校園網(wǎng)絡(luò)狀態(tài)的監(jiān)控、cpu負(fù)載情況的監(jiān)控、web服務(wù)器的運(yùn)行狀況監(jiān)控、路由交換設(shè)備的監(jiān)控等以圖形化的友好界面進(jìn)行顯示,充分利用其報(bào)警功能,并安裝了聲音報(bào)警機(jī)制、郵件報(bào)警和飛信報(bào)警機(jī)制等功能。分析現(xiàn)有的各類應(yīng)用監(jiān)控系統(tǒng),尤其是當(dāng)前己經(jīng)部署的各類監(jiān)控系統(tǒng)的現(xiàn)狀和不足,立足于洛陽理工校園網(wǎng)絡(luò),并服務(wù)整個(gè)校園網(wǎng)絡(luò)為目標(biāo),研究并構(gòu)建基于Nag

21、ios的網(wǎng)絡(luò)監(jiān)控管理系統(tǒng),比較和探索采用新技術(shù)后在架構(gòu)部署、工作方式等方面的改進(jìn)、根據(jù)網(wǎng)絡(luò)分布情況采用分別部署設(shè)計(jì)實(shí)現(xiàn)的方式方法以及關(guān)鍵技術(shù)問題的解決。具體研究內(nèi)容包括:(1) 分析現(xiàn)有各類監(jiān)控系統(tǒng)現(xiàn)狀和問題,對當(dāng)前主流的商業(yè)監(jiān)控軟件、開源監(jiān)控軟件進(jìn)行比較和研究;(2) 介紹Nagios軟件的技術(shù)特點(diǎn),確立采用Nagios技術(shù)架構(gòu)構(gòu)建統(tǒng)一監(jiān)控服務(wù)平臺(tái)的必要性與意義;(3) 分析統(tǒng)一監(jiān)控服務(wù)平臺(tái)的整體需求,包括告警、處理流程和功能要求等;(4) 基于Nagios軟件建立監(jiān)控系統(tǒng)的基本技術(shù)架構(gòu),解決實(shí)現(xiàn)過程中可能遇到的技術(shù)問題;(5) 根據(jù)校園網(wǎng)絡(luò)IT系統(tǒng)部署的實(shí)際情況,分析、規(guī)劃和部署監(jiān)控系統(tǒng)技

22、術(shù)架構(gòu),盡可能實(shí)現(xiàn)跨地域、多層次網(wǎng)絡(luò)結(jié)構(gòu)下的系統(tǒng)服務(wù)器監(jiān)控平臺(tái),對實(shí)施過程中遇到的問題給出解決方法;(6) 根據(jù)校園網(wǎng)絡(luò)的實(shí)際工作需求對監(jiān)控系統(tǒng)進(jìn)行附加功能設(shè)計(jì),實(shí)現(xiàn)狀態(tài)揭示、通知擴(kuò)展、性能曲線繪制等功能。在設(shè)計(jì)和實(shí)施過程中將nagios與現(xiàn)有服務(wù)系統(tǒng)(如郵件系統(tǒng)、短信系統(tǒng))進(jìn)行了整合;(7) 針對校園網(wǎng)絡(luò)中的部分特殊業(yè)務(wù)和監(jiān)控需求對監(jiān)控平臺(tái)進(jìn)行了定制擴(kuò)展,盡力實(shí)現(xiàn)實(shí)際應(yīng)用環(huán)境中通用性的目標(biāo);(8) 對比分析新建應(yīng)用監(jiān)控平臺(tái)和原有監(jiān)控系統(tǒng),并就相互的優(yōu)缺點(diǎn)評述該系統(tǒng)為校園網(wǎng)絡(luò)IT運(yùn)行管理工作帶來的效率和水平等方面的提升。通過nagios技術(shù)架構(gòu)構(gòu)建校園網(wǎng)絡(luò)級的統(tǒng)一應(yīng)用系統(tǒng)監(jiān)控平臺(tái),提供高可靠性

23、、及時(shí)的告警和處理:(1) 提供直觀的用戶界面,方便快速掌握整個(gè)校園網(wǎng)絡(luò)內(nèi)的系統(tǒng)運(yùn)行情況,提高監(jiān)控系統(tǒng)對應(yīng)用程序的覆蓋度;(2) 提供多樣化的告警手段從而使維護(hù)人員能夠及時(shí)獲得報(bào)警信息;(3) 減少手工檢查和監(jiān)控的工作,提高工作效率,減少出錯(cuò)和遺漏的可能;(4) 減輕監(jiān)控系統(tǒng)服務(wù)端的網(wǎng)絡(luò)、處理負(fù)荷,從而有效的提升整個(gè)監(jiān)控系統(tǒng)的運(yùn)行效率及可靠性;(5) 采用成熟的框架技術(shù),方便后續(xù)監(jiān)控點(diǎn)的增加和維護(hù),提供開放接口,便于自行開發(fā)定制監(jiān)控插件。1.3 本文的結(jié)構(gòu)安排論文共分六個(gè)章節(jié),首先介紹了論文的背景情況、建設(shè)該系統(tǒng)的必要性,以及主要工作內(nèi)容,之后介紹了nagios系統(tǒng)的相關(guān)概念和技術(shù)原理。然后對

24、統(tǒng)一監(jiān)控平臺(tái)進(jìn)行了需求分析與設(shè)計(jì),建立整體系統(tǒng)框架結(jié)構(gòu),在此基礎(chǔ)上進(jìn)行詳細(xì)設(shè)計(jì)步并實(shí)現(xiàn)了系統(tǒng)的主要功能。最后對該系統(tǒng)的設(shè)計(jì)和實(shí)施情況進(jìn)行了總結(jié)和展望。第2章 監(jiān)控系統(tǒng)及相關(guān)技術(shù)概述2.1 計(jì)算機(jī)網(wǎng)絡(luò)監(jiān)控系統(tǒng)概述計(jì)算機(jī)網(wǎng)絡(luò)監(jiān)控系統(tǒng)是指通過計(jì)算機(jī)網(wǎng)絡(luò),對管理范圍內(nèi)的計(jì)算機(jī)運(yùn)轉(zhuǎn)情況進(jìn)行探測、分析,并可視需要根據(jù)預(yù)先設(shè)定對某些預(yù)期情況進(jìn)行報(bào)警的系統(tǒng)。其隨著近些年企業(yè)網(wǎng)絡(luò)規(guī)模逐步擴(kuò)大、應(yīng)用系統(tǒng)復(fù)雜化而逐漸被關(guān)注。隨著現(xiàn)代社會(huì)的高度信息化進(jìn)程,大到物流、小到餐飲的諸多企業(yè)都依賴計(jì)算機(jī)網(wǎng)絡(luò)系統(tǒng)進(jìn)行運(yùn)轉(zhuǎn),而金融、銀行、保險(xiǎn)等信息密集型企業(yè)更是視計(jì)算機(jī)網(wǎng)絡(luò)系統(tǒng)為生存的命脈。如果計(jì)算機(jī)系統(tǒng)尤其是IT數(shù)據(jù)中心的核心

25、系統(tǒng)失效或運(yùn)行狀態(tài)不佳,企業(yè)的業(yè)務(wù)數(shù)據(jù)就不能有效傳遞,使正常的業(yè)務(wù)流程受到影響,嚴(yán)重的更會(huì)給企業(yè)經(jīng)營帶來巨大損失,兩年前某國有大型銀行數(shù)據(jù)中心服務(wù)器故障導(dǎo)致整個(gè)業(yè)務(wù)系統(tǒng)停用大半天時(shí)間,就是一個(gè)很好的例子。因此,在大型企業(yè)的IT數(shù)據(jù)中心,如何保障各應(yīng)用系統(tǒng)的正常運(yùn)行,及早發(fā)現(xiàn)并排除潛在的故障隱患,管理好整個(gè)系統(tǒng),成為管理人員必須面對的問題,而對現(xiàn)在網(wǎng)絡(luò)規(guī)模越來越大、復(fù)雜度越來越高的管理壓力,不得不付出極大的人力來對眾多的系統(tǒng)進(jìn)行管理。為使用最少的資源對整個(gè)企業(yè)中的應(yīng)用系統(tǒng)進(jìn)行有效維護(hù),以保持其性能和可靠性,管理人員必須選擇有效的網(wǎng)絡(luò)監(jiān)控系統(tǒng)來最大程度地發(fā)揮管理工具的價(jià)值,以減輕日常的重復(fù)性勞動(dòng)和

26、工作壓力,提高工作效率,將更多的精力用在系統(tǒng)管理上。隨著高校擴(kuò)招后的快速發(fā)展,校園網(wǎng)絡(luò)的規(guī)模也相應(yīng)不斷擴(kuò)大,作為校園網(wǎng)絡(luò)管理和維護(hù)人員,面對網(wǎng)絡(luò)設(shè)備不斷增多的情況下,傳統(tǒng)的網(wǎng)絡(luò)管理方法已經(jīng)顯得力不從心。以前網(wǎng)絡(luò)規(guī)模小,故障少,處理簡單,隨著校園網(wǎng)經(jīng)過一定時(shí)間的建設(shè)后,網(wǎng)絡(luò)設(shè)備數(shù)量增多,型號多樣,導(dǎo)致網(wǎng)絡(luò)問題日益復(fù)雜化,問題層出無窮。 作為網(wǎng)絡(luò)管理人員,最重要的任務(wù)就是要隨時(shí)了解網(wǎng)絡(luò)的運(yùn)行情況。運(yùn)行情況是否異常的最直觀判斷來自于對網(wǎng)絡(luò)流量的監(jiān)測,這是因?yàn)橥ㄟ^對網(wǎng)絡(luò)出口和各主干網(wǎng)的流量進(jìn)行監(jiān)測,才能獲得網(wǎng)絡(luò)設(shè)備以及主干網(wǎng)的流量數(shù)據(jù),對這些數(shù)據(jù)進(jìn)行分析,就能發(fā)現(xiàn)整個(gè)網(wǎng)絡(luò)運(yùn)行情況是否異常,判斷網(wǎng)絡(luò)的故

27、障,并根據(jù)所掌握的情況進(jìn)行一些適當(dāng)?shù)恼{(diào)整。管理員經(jīng)常會(huì)碰到的問題有:服務(wù)器設(shè)備硬件故障(包括磁盤陣列、網(wǎng)卡、電源或其他故障)、磁盤空間不足、內(nèi)存和CPU使用率異常導(dǎo)致服務(wù)不響應(yīng)或非常慢、操作系統(tǒng)故障,如常見的Windows系統(tǒng)藍(lán)屏、應(yīng)用程序意外崩潰或僵死導(dǎo)致服務(wù)中斷,由網(wǎng)絡(luò)設(shè)備、網(wǎng)絡(luò)鏈路、運(yùn)營商等問題引起的通訊中斷,最終表現(xiàn)為業(yè)務(wù)系統(tǒng)無法正常運(yùn)轉(zhuǎn),服務(wù)無法訪問,冗余架構(gòu)系統(tǒng)中的故障情況不能及時(shí)發(fā)現(xiàn),延誤了處理時(shí)間。隨著業(yè)務(wù)系統(tǒng)數(shù)量不斷增加,相互之間的融合交互日漸增多,應(yīng)用架構(gòu)體系越來越復(fù)雜,出現(xiàn)問題的概率也越來越高,使得管理員疲于奔命,卻仍然無法及時(shí)發(fā)現(xiàn)和解決問題。因此,需要功能完善、安個(gè)可靠

28、、使用方便的網(wǎng)絡(luò)監(jiān)控系統(tǒng)來保證整個(gè)業(yè)務(wù)系統(tǒng)處于嚴(yán)密的監(jiān)控之下。使用監(jiān)控系統(tǒng)可以通過網(wǎng)絡(luò)實(shí)現(xiàn)自動(dòng)化的監(jiān)控,實(shí)時(shí)查看全系統(tǒng)中應(yīng)用和服務(wù)的狀態(tài),發(fā)現(xiàn)系統(tǒng)性能的瓶頸,進(jìn)行自動(dòng)處理或告警,保證整個(gè)業(yè)務(wù)系統(tǒng)高效、可靠地運(yùn)轉(zhuǎn),減輕管理人員的工作強(qiáng)度,提高工作作效率,減少因故障帶來的損失,有效的保障了企業(yè)的整體利益。2.2 主流監(jiān)控軟件的比較和研究在啟動(dòng)本校園網(wǎng)絡(luò)監(jiān)控系統(tǒng)項(xiàng)目之前,對當(dāng)前主流的監(jiān)控軟件進(jìn)行了比較調(diào)查,主要有 HP OpenView和 IBM TiVoli等商業(yè)軟件、國產(chǎn)的SiteView ECC以及開源軟件Cacti和Nagios,其中OpenView、Tivoli和Siteview ECC都

29、曾在上述為例的證券公司某應(yīng)用系統(tǒng)的實(shí)際監(jiān)控工作中進(jìn)行過實(shí)驗(yàn)性的配置。作為商用軟件,為了達(dá)到最佳的兼容性,OpenView、Tivoli和 SiteView ECC都使用SNMP一協(xié)議來實(shí)現(xiàn)網(wǎng)絡(luò)監(jiān)控和管理功能,其中Tivoli可視為OpenView的更新和擴(kuò)展。而開源監(jiān)控軟件Cacti和Nagios各有所長,Cacti勝在界面美觀,可以方便的生成各類圖表,非常適合用來監(jiān)控網(wǎng)絡(luò)流量、Cpu使用率、硬盤空間等持續(xù)變化的動(dòng)態(tài)項(xiàng)目。而 Nagios則擅長同時(shí)監(jiān)控大量服務(wù)器上的服務(wù)是否運(yùn)行正常,并提供多種報(bào)警手段。OpenView和Tivoli作為老牌的監(jiān)控軟件,提供了大而全的解決方案,但由于產(chǎn)品本身過于

30、復(fù)雜,更注重網(wǎng)絡(luò)管理方面的應(yīng)用,在配置和使用過程中必須經(jīng)過系統(tǒng)的學(xué)習(xí),且具有一些內(nèi)在的缺點(diǎn),不適合作為單純的大規(guī)模應(yīng)用監(jiān)控平臺(tái)來部署。 SiteView ECC作為一款國產(chǎn)軟件,從界面到操作都非常人性化,易于上手,支持分布式部署,可通過SNMP協(xié)議監(jiān)控大量主機(jī)運(yùn)行情況,但其也具有監(jiān)控指標(biāo)單一、定制性擴(kuò)展性較差、新增監(jiān)控項(xiàng)受到產(chǎn)品授權(quán)約束等缺點(diǎn),且在實(shí)際使用中表現(xiàn)一般,尚無法滿足通用監(jiān)控平臺(tái)的要求。開源監(jiān)控軟件Cacti的工作邏輯較為簡單,通過SMNP協(xié)議獲取主機(jī)信息后進(jìn)行保存和圖形化描述,直觀形象,但其功能較為單一,擴(kuò)展性較差,在大規(guī)模監(jiān)控和報(bào)警管理等方面均存在較多不足。同樣是開源軟件的Nag

31、ios提供了不同的思路,其摒棄了使用傳統(tǒng)而復(fù)雜的SNMP協(xié)議,轉(zhuǎn)而使用監(jiān)控客戶端與服務(wù)端配合工作的機(jī)制,實(shí)現(xiàn)了簡單而有效的監(jiān)控手段,通過將監(jiān)控插件與程序本體分離的做法,提供了極佳的監(jiān)控?cái)U(kuò)展性和便利性,更出于其系統(tǒng)資源占用小、支持分布式架構(gòu)、強(qiáng)大的主機(jī)服務(wù)狀態(tài)監(jiān)控能力和豐富的報(bào)警手段,使得其非常適合作為校園網(wǎng)絡(luò)和企業(yè)內(nèi)部通用應(yīng)用監(jiān)控平臺(tái)。雖然Nagios也存在文本配置不夠人性化、界面功能較為簡單、對性能圖表繪制能力較差的缺點(diǎn),但由于其本身具備高可定制性的特點(diǎn),因此可在實(shí)際應(yīng)用過程中根據(jù)需要對其進(jìn)行擴(kuò)展。2.3 nagios監(jiān)控系統(tǒng)的介紹官方網(wǎng)站介紹:nagios® is a syste

32、m and network monitoring application. It watches hosts and services that you specify,alerting you when things go bad and when they get better.Nagios was originally designed to run under Linux, although it should work under most other unices as well. Some of the many features of Nagios include: (1)Mo

33、nitoring of network services (SMTP, POP3, , NNTP, PING, etc.) 監(jiān)控網(wǎng)絡(luò)資源 (2)Monitoring of host resources (processor load, disk usage, etc.) 監(jiān)控主機(jī)資源 (3)Simple plugin design that allows users to easily develop their own service checks (4)Parallelized service checks (5)Ability to define network host hierarc

34、hy using "parent" hosts, allowing detection of and distinction between hosts that are down and those that are unreachable (6)Contact notifications when service or host problems occur and get resolved (via email, pager, or user-defined method) (7)Ability to define event handlers to be run d

35、uring service or host events for proactive problem resolution (8)Automatic log file rotation 自動(dòng)日志輪滾 (9)Support for implementing redundant monitoring hosts 支持冗余 (10)Optional web interface for viewing current network status, notification and problem history, log file, etc.Nagios是一款開源的免費(fèi)網(wǎng)絡(luò)監(jiān)視工具,能有效監(jiān)控Win

36、dows、Linux和Unix的主機(jī)狀態(tài),交換機(jī)路由器等網(wǎng)絡(luò)設(shè)置,打印機(jī)等。在系統(tǒng)或服務(wù)狀態(tài)異常時(shí)發(fā)出郵件或短信報(bào)警第一時(shí)間通知網(wǎng)站運(yùn)維人員,在狀態(tài)恢復(fù)后發(fā)出正常的郵件或短信通知。同時(shí)Nagios是一個(gè)監(jiān)視系統(tǒng)運(yùn)行狀態(tài)和網(wǎng)絡(luò)信息的監(jiān)視系統(tǒng)。Nagios能監(jiān)視所指定的本地或遠(yuǎn)程主機(jī)以及服務(wù),同時(shí)提供異常通知功能等。Nagios可運(yùn)行在Linux/Unix平臺(tái)之上,同時(shí)提供一個(gè)可選的基于瀏覽器的WEB界面以方便系統(tǒng)管理人員查看網(wǎng)絡(luò)狀態(tài),各種系統(tǒng)問題,以及日志等等。Nagios的功能是監(jiān)控服務(wù)和主機(jī),但是它僅僅是整個(gè)監(jiān)控體系的框架,真正對服務(wù)的監(jiān)控和檢測功能都是由其調(diào)用插件來實(shí)現(xiàn)的。作為監(jiān)控系統(tǒng),發(fā)

37、現(xiàn)問題必須能夠通過聲、光、電等報(bào)警手段提示管理員及時(shí)處理,因此通知和報(bào)警也是NagiOS的重要功能之一。Nagios的主要功能包括:(1)對常見的網(wǎng)絡(luò)服務(wù)進(jìn)行監(jiān)控(PING.、 、SMTP、POP3、FTP等);(2)監(jiān)控主機(jī)木地資源(處理器負(fù)荷、內(nèi)存使用、用戶登錄數(shù)、服務(wù)進(jìn)程數(shù)、磁盤空間等);(3)提供接口以便用戶編寫專有檢測插件來實(shí)現(xiàn)對特殊服務(wù)的檢測;(4)具備定義網(wǎng)絡(luò)分層結(jié)構(gòu)的能力,可以表達(dá)出網(wǎng)絡(luò)主機(jī)間的層次關(guān)系,并利用這種關(guān)系來分辨主機(jī)的宕機(jī)或不可達(dá)狀態(tài);(5)支持通過標(biāo)準(zhǔn)接口編寫腳本,在服務(wù)或主機(jī)發(fā)生問題時(shí)使用多樣化的手段將告警信息發(fā)送給指定聯(lián)系人或群組(E-Mail、短信、MSN、

38、QQ等自定義方式);(6)自動(dòng)的日志一記錄和保存查詢功能;(7)支持通過結(jié)構(gòu)擴(kuò)展來實(shí)現(xiàn)對主機(jī)的冗余監(jiān)控;(8)提供方便的WEB界而用于查看監(jiān)控狀態(tài)、故障通知和日志文件;(9)可通過WEB界而進(jìn)行常用監(jiān)控命令操作:(10)支持分布式部署,可以應(yīng)用于大規(guī)模和多網(wǎng)絡(luò)層次的環(huán)境中。(11)可選的時(shí)間段檢查:可以自定義時(shí)間周期對服務(wù)器檢查;顆粒度為秒,周期可由管理員自行定制。(12)外部命令界面,通過事件操作者,網(wǎng)絡(luò)界面和第三方的應(yīng)用,允許在傳輸過程中有修改監(jiān)控和通知的行為。2.4 nagios監(jiān)控系統(tǒng)的工作原理Nagios通常由一個(gè)主程序(Nagios)、一個(gè)插件程序(Nagios-plugins)和

39、四個(gè)可選的ADDON(NRPE、NSCA、 NSClient+和NDOUtils)組成。Nagios的監(jiān)控工作都是通過插件實(shí)現(xiàn)的,因此,Nagios和Nagios-plugins是服務(wù)器端工作所必須的組件。各插件具體描述如下: (1)NRPE:用來在監(jiān)控的遠(yuǎn)程Linux/Unix主機(jī)上執(zhí)行腳本插件以實(shí)現(xiàn)對這些主機(jī)資源的監(jiān)控 (2)NSCA:用來讓 被監(jiān)控的遠(yuǎn)程Linux/Unix主機(jī)主動(dòng)將監(jiān)控信息發(fā)送給Nagios服務(wù)器(這在冗余監(jiān)控模式中特別要用到)(3)NSClient+:用來監(jiān)控 Windows主機(jī)時(shí)安裝在Windows主機(jī)上的組件 (4)NDOUtils:則用來將Nagios的配置信息

40、和各event產(chǎn)生的數(shù)據(jù)存入數(shù)據(jù)庫,以實(shí)現(xiàn) 這些數(shù)據(jù)的快速檢索和處理 這四個(gè)ADDON(附件)中,NRPE和NSClient+工作于客戶端,NDOUtils工作于服務(wù)器端,而NSCA則需要同時(shí)安裝在服務(wù)器端和客戶端。各插件關(guān)系如下圖2-1所示。圖2-1 Nagios監(jiān)控各插件關(guān)系示意圖Nagios主程序根據(jù)預(yù)先配置好的信息對所有需要監(jiān)控的項(xiàng)目計(jì)算出一張計(jì)劃表,在什么時(shí)間需要對哪臺(tái)主機(jī)或服務(wù)進(jìn)行檢測,等到達(dá)這個(gè)時(shí)點(diǎn)時(shí)它將調(diào)用指定的檢測插件,由這個(gè)插件來檢測主機(jī)或服務(wù)并返回個(gè)明確的狀態(tài)代碼給Nagios守護(hù)進(jìn)程。Nagios將此信息暫存在一個(gè)待處理信息的隊(duì)列中,定期掃描這個(gè)隊(duì)列,從中取出檢測的結(jié)果

41、信息進(jìn)行分析,并按照程序邏輯來做適當(dāng)?shù)膭?dòng)作(比如發(fā)出告警、記錄日志、執(zhí)行命令等等),就這樣周而復(fù)始的完成整個(gè)監(jiān)控過程。 Nagios對主機(jī)和服務(wù)的監(jiān)控有以下幾種:1.直接監(jiān)控直接監(jiān)控就是由Nagios監(jiān)控主機(jī)使用本地監(jiān)控插件通過網(wǎng)絡(luò)直接對被監(jiān)控機(jī)的開放服務(wù)進(jìn)行監(jiān)控。這也是所有監(jiān)控模式中最為簡單的一種,具有以下特點(diǎn):(1)監(jiān)控模式簡單,配置簡便,只需在監(jiān)控主機(jī)上根據(jù)需要的監(jiān)控項(xiàng)進(jìn)行配置即可;(2)只能監(jiān)控開放服務(wù),無法探測到被監(jiān)控機(jī)上的本地信息。(3)要求監(jiān)控主機(jī)和被監(jiān)控機(jī)之間的網(wǎng)絡(luò)端口直接可達(dá),例如要監(jiān)控A主機(jī)的FTP服務(wù),B主機(jī)的 服務(wù),C主機(jī)的SSH服務(wù)及所有主機(jī)的開機(jī)情況,則監(jiān)控主機(jī)分別

42、到達(dá)這些主機(jī)的Ping、FTP、 、SSH端口必須打開,否則無法進(jìn)行直接監(jiān)控。(4)系統(tǒng)負(fù)載集中在監(jiān)控主機(jī)上,所有的監(jiān)控工作和信息處理都是由主機(jī)完成的,被監(jiān)控機(jī)只是按照正常的業(yè)務(wù)邏輯響應(yīng)來自監(jiān)控主機(jī)的探測,是“被動(dòng)”的參與整個(gè)監(jiān)控工作。直接監(jiān)控示意圖如下圖2-2所示。圖2-2 Nagios直接監(jiān)控示意圖2.遠(yuǎn)程Linux主機(jī)插件監(jiān)控對于像磁盤容量、Cpul內(nèi)存利用率這樣的本地信息,只有本機(jī)上具有相應(yīng)權(quán)限的程序才能取得。 Nagios監(jiān)控程序也只能檢測到自己所在的監(jiān)控主機(jī)上的信息,而無法直接讀取其他被監(jiān)控主機(jī)上的信息。因此 Nagios提供了一個(gè)附加插件NRPE來完成對遠(yuǎn)程Linux主機(jī)本地信息

43、的監(jiān)控。NRPE的工作原理如下圖2-3所示。圖2-3 NRPE的工作原理NRPE由兩個(gè)模塊組成:1Check_nrpe插件,此插件安裝于監(jiān)控主機(jī)上;2NRPE進(jìn)程,運(yùn)行在遠(yuǎn)程的被監(jiān)控 1inux主機(jī)上;NRPE的工作原理Nagios監(jiān)控主機(jī)發(fā)起對某個(gè)遠(yuǎn)程Linux被監(jiān)控機(jī)的監(jiān)控時(shí)步驟如下:(1)Nagios主程序調(diào)用check_nrpe插件,通知其向指定的遠(yuǎn)程被監(jiān)控機(jī)送出監(jiān)控指令;(2)CheCk_nrpe插件通過SSL會(huì)話(專用端口)連接到該指定遠(yuǎn)程主機(jī)上的NRPE進(jìn)程,將需要執(zhí)行的監(jiān)控指令傳遞過去;(3)遠(yuǎn)程被監(jiān)控機(jī)上的NRPE進(jìn)程收到指令后,按要求調(diào)用本地的NagioS監(jiān)控插件來執(zhí)行具體

44、的檢查任務(wù);(4)檢查工作完畢,遠(yuǎn)程被監(jiān)控機(jī)上NRPE進(jìn)程將檢查的結(jié)果返回給調(diào)用它的CheCR_nrpe插件,再山check_nrpe插件將此返回結(jié)果提交給Nagios主程序進(jìn)行后續(xù)處理。特別注意到兩點(diǎn):(1)在被監(jiān)控機(jī)上,NRPE進(jìn)程只是負(fù)責(zé)接受指令和傳遞監(jiān)控信息,其本身不做任何監(jiān)控工作,對遠(yuǎn)程Llinux主機(jī)的監(jiān)控同樣需要Nagios插件安裝在本機(jī)上;(2)這種監(jiān)控模式下,監(jiān)控主機(jī)和被監(jiān)控機(jī)之間的通訊被整合為check_nrPe插件和NRPE進(jìn)程之間的單一通訊,而這個(gè)端日是唯一指定的。引此,只需開通監(jiān)控主機(jī)和被監(jiān)控機(jī)之間的專用監(jiān)控端口。通過這種方式可以解決跨網(wǎng)絡(luò)區(qū)域進(jìn)行直接監(jiān)控時(shí)遇到的防火

45、墻策略過于復(fù)雜的問題,而月在日后增加或調(diào)整監(jiān)控項(xiàng)目時(shí)無需再額外開通其他防火墻端口。根據(jù)NRPE的檢測對象,又可以分為兩種:(1)直接檢測:檢測的對象是運(yùn)行NRPE的那臺(tái)Linux主機(jī)的木地資源,既可以是磁盤容量這樣的木地信息,也可以是運(yùn)行在本機(jī)的各類服務(wù)甚至是在本地進(jìn)行主機(jī)存活檢.nrpe直接檢測流程圖如下圖2-4所示。圖2-4 NRPE直接檢測(2)間接檢測:當(dāng)運(yùn)行NagioS的監(jiān)控主機(jī)無法訪問到某臺(tái)被監(jiān)控機(jī),但是運(yùn)行NRPE的機(jī)器可以訪問到時(shí),NRPE就可以充當(dāng)一個(gè)監(jiān)控代理,通過它來監(jiān)控遠(yuǎn)程被監(jiān)控機(jī)。但是這種方式也有其局限性,因?yàn)檫@種情況下是由NRPE代理監(jiān)控主機(jī)來對遠(yuǎn)程主機(jī)進(jìn)行直接監(jiān)控,

46、因此同樣只能監(jiān)控開放服務(wù),無法探測到被監(jiān)控機(jī)上的本地信息。Nrpe間接檢測如下圖2-5所示。圖 2-5 NRPE間接檢測3.對Windows平臺(tái)的監(jiān)控對于windows平臺(tái),Nagios提供了check_nt這個(gè)插件用米進(jìn)行遠(yuǎn)程主機(jī)監(jiān)控,其功能類似于Linux下的Check_nrpe,check_nt是主機(jī)上用來發(fā)出監(jiān)控指令的組件,它還需要搭配另外一個(gè)WindowS客戶端插件 NSCIient+(類似于Linux下的NRPE進(jìn)程)來進(jìn)行遠(yuǎn)程主機(jī)上的本地信息采集, NSCIient+的工作原理圖如下圖2-6所示。圖 2-6 windows 平臺(tái)的主機(jī)檢測從圖中可以以看到,NSClient+與NR

47、PE進(jìn)程一個(gè)最大的區(qū)別就是: Linux被監(jiān)控機(jī)上安裝有NRPE進(jìn)程,同時(shí)還必須安裝檢測插件,監(jiān)控工作是由這些插件來執(zhí)行的。當(dāng)監(jiān)控主機(jī)上的check_nrpe將監(jiān)控請求發(fā)給NRPE,由被監(jiān)控機(jī)上的NRPE調(diào)用本地插件來進(jìn)行監(jiān)控。而對于WindowS平臺(tái),被監(jiān)控機(jī)上只需安裝NSCLient+,無需其他任何的檢測插件,當(dāng)監(jiān)控主機(jī)上的Check_nt將監(jiān)控請求發(fā)送給 NSClient+后,由 NSCIient+直接在被監(jiān)控機(jī)上完成全部檢測工作。第3章 基于Nagios網(wǎng)絡(luò)監(jiān)控系統(tǒng)的分析3.1 系統(tǒng)總體需求分析洛陽理工學(xué)院的IT信息中心,擁有數(shù)量龐大的主機(jī)和服務(wù)器,重點(diǎn)監(jiān)控的對象是支撐核心功能數(shù)據(jù)的關(guān)

48、鍵服務(wù)器,但主要停留在定期人工檢查、屏幕截圖與手工記錄相結(jié)合的方式,僅能保證主要系統(tǒng)的日常運(yùn)行需要。而對于非核心系統(tǒng),只能采取定期(一周或一月)對服務(wù)器的運(yùn)行情況進(jìn)行常規(guī)人工檢查,如磁盤空間,系統(tǒng)時(shí)間等項(xiàng)目,如有突發(fā)性的系統(tǒng)故障往往通過業(yè)務(wù)前端系統(tǒng)表現(xiàn)出來,缺乏主動(dòng)監(jiān)控和預(yù)警的手段。為了實(shí)現(xiàn)校園IT數(shù)據(jù)中心整體的運(yùn)行監(jiān)控管理,計(jì)劃通過基于nagios網(wǎng)絡(luò)監(jiān)控管理系統(tǒng)項(xiàng)目的建設(shè),構(gòu)建一個(gè)統(tǒng)一、通用、全面覆蓋、高可靠性的監(jiān)控系統(tǒng)。3.2 基于nagios網(wǎng)絡(luò)監(jiān)控系統(tǒng)的架構(gòu)分析Nagios 系統(tǒng)運(yùn)行在中心服務(wù)器上,系統(tǒng)采用 Ubuntu Server。每一臺(tái)需要監(jiān)視的設(shè)備都會(huì)運(yùn)行一個(gè)與 Nagios

49、 進(jìn)行通信的后臺(tái)程序。 Nagios 根據(jù)讀取的配置文件中的指令與遠(yuǎn)程的守護(hù)程序進(jìn)行聯(lián)系,并且指示遠(yuǎn)程的守護(hù)程序進(jìn)行必要的檢查。 雖然這個(gè)應(yīng)用程序必須在 Linux 或者 Unix 操作系統(tǒng)上運(yùn)行,但被監(jiān)視的設(shè)備可以是任何能夠與其進(jìn)行通信的硬件。Nagios 系統(tǒng)結(jié)構(gòu)是監(jiān)控系統(tǒng)中最復(fù)雜的,但 Nagios 同時(shí)也可以非常容易地與現(xiàn)有框架集成,因此 Nagios 被廣泛地應(yīng)用。 通過很多種方式與現(xiàn)有系統(tǒng)管理軟件進(jìn)行集成,完善管理軟件,從而監(jiān)控你所擁有的各類新型或用戶定制的設(shè)備硬件、應(yīng)用服務(wù)或是應(yīng)用程序。 第4章 基于nagios的校園網(wǎng)絡(luò)監(jiān)控系統(tǒng)的設(shè)計(jì)4.1 監(jiān)控系統(tǒng)的基本功能模塊設(shè)計(jì) 主機(jī)和主

50、機(jī)組的管理主機(jī)被定義為存在于監(jiān)控系統(tǒng)可達(dá)網(wǎng)絡(luò)中的一個(gè)獨(dú)立節(jié)點(diǎn),它可以是服務(wù)器、工作站或路由器、防火墻、交換機(jī)等網(wǎng)絡(luò)設(shè)備,也可以是網(wǎng)絡(luò)打印機(jī)、虛擬機(jī)等。作為被監(jiān)控的對象,在對其定義時(shí)需要涉及到多個(gè)要素:(1)主機(jī)名,用來唯一標(biāo)識(shí)系統(tǒng)中的設(shè)備。(2)備注,起到注釋作用,詳細(xì)描述設(shè)備情況或用途。(3)地址,設(shè)備網(wǎng)絡(luò)地址,用以監(jiān)控主機(jī)通過網(wǎng)絡(luò)與其進(jìn)行通訊和連接。(4)監(jiān)控時(shí)段,需要對該設(shè)備進(jìn)行監(jiān)控的時(shí)段,這里的時(shí)段將在后面的時(shí)間規(guī)則中進(jìn)行定義。(5)聯(lián)系人,也就是檢測到此設(shè)各出了問題通知誰,這里的聯(lián)系人將在后面的聯(lián)系人規(guī)則中定義。(6)通知時(shí)段,監(jiān)控到的信息,僅在此時(shí)間段內(nèi)向聯(lián)系人進(jìn)行通知,這里的時(shí)段

51、將在后面的時(shí)間規(guī)則中進(jìn)行定義。此外,還有很多可選項(xiàng),例如在監(jiān)控到哪些異常情況時(shí)才進(jìn)行告警,或者為了避免偶爾的網(wǎng)絡(luò)丟包造成誤報(bào),指定在多少次探測失敗后再進(jìn)行告警。主機(jī)組是指事先定義的由多臺(tái)(類似的)主機(jī)構(gòu)成的一組設(shè)備,通過對其的定義和引用可以使監(jiān)控配置更簡單明了。 服務(wù)和服務(wù)組的管理服務(wù)定義為在主機(jī)之仁運(yùn)行的某種“應(yīng)用”它既包括主機(jī)上實(shí)際運(yùn)行的服務(wù)進(jìn)程(如 ,FTP,POP3,SSH等),也可以是主機(jī)運(yùn)行的系統(tǒng)參數(shù)(如CPU利用率、活動(dòng)進(jìn)程數(shù)、磁盤空間等),因此可將其理解為主機(jī)上具體的監(jiān)控項(xiàng)目。與主機(jī)類似,定義時(shí)主要用到的要素有:(1)主機(jī)名,用來描述此服務(wù)是存在于哪臺(tái)主機(jī)之類的。(2)備注,起

52、到注釋作用,詳細(xì)描述該服務(wù)的具體內(nèi)容。(3)監(jiān)控命令,對服務(wù)的檢測通過具體的監(jiān)控命令執(zhí)行,這里既指定通過哪條命令執(zhí)行對此服務(wù)的檢測。(4)監(jiān)控時(shí)段、聯(lián)系人、通知時(shí)段等等,這些項(xiàng)目定義與主機(jī)類似,此處不再贅述。同理,為便于管理和維護(hù),可將多個(gè)(相關(guān)的)服務(wù)定義為一個(gè)服務(wù)組。 時(shí)間規(guī)則的管理通過時(shí)間規(guī)則管理來定義各種監(jiān)控項(xiàng)目所需要的時(shí)間段,在具體的監(jiān)控項(xiàng)中對預(yù)定義的時(shí)間規(guī)則進(jìn)行引用,清晰明了,也便于后期統(tǒng)一維護(hù)。這里的時(shí)間段可以是日期,也可以是一天中的具體時(shí)段,或者兩者的混合體。同時(shí),既可以定義規(guī)則生效的時(shí)間段(例如工作日),也可以定義規(guī)則不生效的時(shí)間段(例如節(jié)假日),還可以將兩者嵌套起來使用。時(shí)

53、間規(guī)則由以下屬性構(gòu)成(1)名稱,作為時(shí)間規(guī)則的唯一標(biāo)識(shí),也是時(shí)間規(guī)則被工監(jiān)控規(guī)則引用時(shí)的標(biāo)識(shí),取名應(yīng)簡潔明了。(2)注釋,起到注釋作用,詳細(xì)的對規(guī)則進(jìn)行說明,便于管理人員了解某個(gè)具體時(shí)間規(guī)則的定義范圍。(3)具體定義的時(shí)間段,時(shí)間段是整個(gè)時(shí)間規(guī)則中最核心的內(nèi)容,通常由一組時(shí)間條目組成,每個(gè)條目的格式為指定日期加上該日期中的具體時(shí)段組成,這個(gè)具體時(shí)段給出這一天當(dāng)中開始和結(jié)束的個(gè)具體時(shí)間段或多個(gè)時(shí)間段的組合。(4)時(shí)間段中日期的指定,本監(jiān)控系統(tǒng)提供了極為靈活的定義方式,可以具體指定到某年某月某日,或者指定到每年、每月或者每周里的某一天或某幾天,甚至是某個(gè)月的第幾周的周幾(國外的假日經(jīng)常這樣定義),

54、或者每隔幾周的周幾(多人輪班常見的定義)。對于我們理工學(xué)院來說,工作時(shí)間具有典型的以周為單位計(jì)時(shí)的特點(diǎn)(周一到周五(節(jié)假日除外)為工作日,周六日休息),因此使用一周作為循環(huán)計(jì)時(shí)單位更為合適。(5)特殊日期,這里設(shè)置的特殊日期所對應(yīng)的通常是那些需要在日常規(guī)則中排除掉的時(shí)間段,當(dāng)其被其他規(guī)則作為排除項(xiàng)進(jìn)行引用時(shí),則監(jiān)控規(guī)則在這些日期上將不會(huì)生效,例如第四點(diǎn)中提及的需要設(shè)置為例外的節(jié)假日。無論是周幾,一旦遇到這些節(jié)假日,則不進(jìn)行監(jiān)控動(dòng)作。節(jié)假日均勻分布于一年之中,因此通常使用以年為周期的設(shè)置方式。對于固定日期的節(jié)日例如每年元旦、五一、十一,都有一個(gè)確定的日期,而有些農(nóng)歷節(jié)日如春節(jié)、清明、端午每年都不

55、相同。因此,實(shí)際的做法是:在每年年底,根據(jù)學(xué)校所公布的次年節(jié)假日休市安排進(jìn)行全年節(jié)假日設(shè)置工作。 用戶和用戶組的管理本監(jiān)控系統(tǒng)內(nèi)涉及到兩類用戶的概念,一類是管理用戶,即通過哪個(gè)用戶,可以登入監(jiān)控系統(tǒng)中查看監(jiān)控信息,并根據(jù)需要進(jìn)行某些前臺(tái)控制操作;第二類是通知用戶,即聯(lián)系人的概念,系統(tǒng)檢測到故障后需要向這個(gè)指定的聯(lián)系人或群組發(fā)送通知。在實(shí)際的應(yīng)用環(huán)境中,由于監(jiān)控系統(tǒng)前端界面位于數(shù)據(jù)中心的監(jiān)控室內(nèi),且有專人24小時(shí)職守,負(fù)責(zé)監(jiān)控故障信息,不會(huì)出現(xiàn)多人混用的情況,因此不再特別對管理員用戶進(jìn)行身份鑒別和權(quán)限控制方面的設(shè)置,通常使用唯一的管理員身份進(jìn)行監(jiān)控和管理操作。4.2 基于nagios的校園網(wǎng)絡(luò)監(jiān)

56、控系統(tǒng)的對象論述 直接監(jiān)控考慮到學(xué)校的實(shí)際應(yīng)用環(huán)境,如果監(jiān)控主機(jī)和被監(jiān)控機(jī)不處于同一網(wǎng)段而是由于網(wǎng)絡(luò)防火墻進(jìn)行安全隔離的話,則在配置直接監(jiān)控模式的同時(shí)必須要求開通監(jiān)控主機(jī)和被監(jiān)控機(jī)之間的網(wǎng)絡(luò)防火墻端口,由于不同被監(jiān)控機(jī)開放了不同的服務(wù),因此規(guī)劃對人規(guī)模主機(jī)進(jìn)行監(jiān)控時(shí),對每臺(tái)主機(jī)分別列出其需要開通的網(wǎng)絡(luò)端口后,將形成一張規(guī)模龐大的訪問策略列表,不但大大增加了網(wǎng)絡(luò)管理員的工作量,而且.過多的策略也勢必增加網(wǎng)絡(luò)防火墻的工作負(fù)荷,更令人崩潰的是每當(dāng)新部署一臺(tái)打印記或添加一個(gè)應(yīng)用或調(diào)整一個(gè)現(xiàn)有的服務(wù)端口,就需要在防火墻上重新調(diào)整原有的訪問策略。當(dāng)然也有偷懶的做法,就是直接開通此監(jiān)控主機(jī)到達(dá)所有被監(jiān)控主機(jī)

57、設(shè)備的所有端口的訪問限制,在這種“透明”的網(wǎng)絡(luò)環(huán)境下,可不受約束的配置各種監(jiān)控項(xiàng)目,但這顯然又違背了網(wǎng)絡(luò)安全中“按需開通”的基木原則,實(shí)際操作中這是不被允許的。為了規(guī)避這個(gè)問題,可以把監(jiān)控主機(jī)和被監(jiān)控主機(jī)部署在同一個(gè)網(wǎng)絡(luò),但即便如此仍然無法監(jiān)控到遠(yuǎn)程主機(jī)上的本地信息,因此仍然需要通過客戶端插件來實(shí)現(xiàn)遠(yuǎn)程主機(jī)的完全監(jiān)控。 通過客戶端插件實(shí)現(xiàn)遠(yuǎn)程linux主機(jī)的監(jiān)控在實(shí)際工作中,通常被監(jiān)控機(jī)與監(jiān)控機(jī)在同一網(wǎng)絡(luò)內(nèi),或者通過開通網(wǎng)絡(luò)防火墻能夠直接訪問到,所以需要設(shè)計(jì)成這種監(jiān)控模式的情況很少。但是有一類場景非常適合于應(yīng)用這種模式,那就是當(dāng)我們不僅需要關(guān)注到每個(gè)被監(jiān)控個(gè)體的運(yùn)轉(zhuǎn)情況,還要關(guān)心其相互之間的連接情況時(shí),使用這種“模擬真實(shí)訪問路徑”的檢測方式會(huì)非常有效。例如在典型的三層應(yīng)用架構(gòu)中,利用傳統(tǒng)的監(jiān)控布局,可以有效的監(jiān)測到應(yīng)用中間件服務(wù)器和數(shù)據(jù)庫服務(wù)器的運(yùn)行狀況,但是如果中間件服務(wù)器和數(shù)據(jù)庫服務(wù)器之間的連接出現(xiàn)了問題(比如網(wǎng)絡(luò)防火墻異常阻斷)或是連接配置的錯(cuò)誤設(shè)置導(dǎo)致無法正常連接,此時(shí)的監(jiān)控系統(tǒng)無法揭示問題所在。而如果應(yīng)用了間接檢測模式的話,就可以及時(shí)告警并通知用戶處理,大大加快了問題排查的速度。 通過客戶端插件實(shí)現(xiàn)遠(yuǎn)程windows

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論