【正文】
畢業(yè)設(shè)計(論文)基于Ganglia的集群監(jiān)控軟件的設(shè)計與實現(xiàn)系 別 :計算機科學(xué)與技術(shù)系專業(yè)(班級):計算機科學(xué)與技術(shù)10級1班作者(學(xué)號):汪雨生(51002011037)指導(dǎo)教師:王碩(碩士)完成日期:2014年5月16日 蚌埠學(xué)院教務(wù)處制目 錄摘 要 1 Abstract 2 1 概 述 3 背景及意義 3 開發(fā)環(huán)境 3 1. 3可行性分析 4 2 相關(guān)技術(shù)介紹 5 集群 5 分布式 5 網(wǎng)格計算 6 Gmond監(jiān)控程序 6 Gmetad節(jié)點程序 6 Ganglia Web前端 7 3 系統(tǒng)設(shè)計 8 8 8 4 RRD數(shù)據(jù)庫及其處理技術(shù) 11 RRD數(shù)據(jù)庫 11 RRDTool簡介 13 5 監(jiān)控集群部署 14 Ganglia運行模式 14 Ganglia部署方式 14 Ganglia功能安裝 14 先決條件 14 Apache+PHP安裝 15 libconfuse安裝 16 pcre安裝 17 RRDTool安裝 17 Ganglia安裝 18 Ganglia前端設(shè)計 19 客戶機gmond安裝 19 Ganglia配置 19 設(shè)置命令行文件 20 默認基本配置 20 啟動Ganglia 21 節(jié)點配置Ganglia 22 錯誤及解決辦法 23 6 監(jiān)控界面展示 25 Ganglia前端首頁 25 27 結(jié)束語 31 致 謝 32 參 考 文 獻 33 i蚌埠學(xué)院本科畢業(yè)設(shè)計(論文)基于Ganglia的集群監(jiān)控軟件的設(shè)計與實現(xiàn)摘 要: 如今如何有效地監(jiān)控集群內(nèi)的多個計算機節(jié)點以及各個節(jié)點的部署已經(jīng)成為了非常關(guān)注的問題。集群監(jiān)控系統(tǒng)它是一個并行或分布式的處理系統(tǒng),它包含多個獨立計算節(jié)點的網(wǎng)絡(luò)互連連接,它可以通過集群系統(tǒng)的軟件/硬件,組成一個統(tǒng)一的計算資源的映像。Ganglia它是集群監(jiān)控軟件中的一種,是一種分布式、可伸縮的高性能計算系統(tǒng)的監(jiān)控系統(tǒng)如集群和網(wǎng)格。它在監(jiān)測多節(jié)點狀態(tài)信息方面的功能很全面,另外Ganglia是一個開源的軟件框架,同時它也提供了一個非常完美的基于web圖形顯示的解決方案而且它提供了簡單方便的基于web的實時圖形顯示各節(jié)點的狀態(tài)信息而且很方便擴展。以PHP為基礎(chǔ)的Ganglia集群監(jiān)控將更有利于跨平臺的監(jiān)控和控制集群內(nèi)的所有主機,并且可以通過web接口來實現(xiàn)故障檢測來發(fā)現(xiàn)系統(tǒng)內(nèi)存在的故障點并及時排除并隔離故障點;通過性能檢測能夠及時的發(fā)現(xiàn)系統(tǒng)的性能瓶頸并及時的利用Ganglia集群軟件的負載平衡策略來消除系統(tǒng)的性能瓶頸,這對集群系統(tǒng)的性能、可用性、以及可靠性的提高都有非常的必要。關(guān)鍵詞:集群監(jiān)控;分布式;Ganglia;負載平衡The design and implementation of cluster monitoring software based on GangliaAbstract: Now how to effectively monitor multiple puter within a cluster nodes and each node deployment has bee a very monitoring system which is a parallel or distributed processing system, which contains multiple independent puting nodes networking connection, it can be through the cluster system software/hardware, form a unified image of puting is one of the cluster monitoring software, it is a distributed, scalable, highperformance monitoring system, such as cluster and grid puting in monitoring the function of the node status information is more prehensive, additional Ganglia is an open source software framework, and it also provides a very perfect web based graphical display solutions and it provides a simple and convenient webbased realtime graphics display status information of each node and convenient on PHP Ganglia cluster monitoring will be more conducive to crossplatform monitoring and control of all hosts within a cluster, and can be found through a web interface to realize the fault detection problems under the system of fault point and promptly remove and isolate the fault point,Through performance test can timely discovery system performance bottlenecks and timely use of Ganglia clustering software load balancing strategy to eliminate performance bottlenecks in the system, the performance of the cluster system, availability, and the improvement of reliability are very necessary.Keywords: cluster monitoring。 Distributed。 Ganglia。 Load balancing基于Ganglia的集群監(jiān)控軟件的設(shè)計與實現(xiàn)1 概 述 背景及意義集群技術(shù)是近年來新興的,高性能計算技術(shù),它使一組獨立的計算機通過高速通信網(wǎng)絡(luò)互聯(lián)而組成的一個單一的并行的計算機系統(tǒng),并且可以作為一個單一模式的系統(tǒng)進行系統(tǒng)管理。因為在集群內(nèi)有大量的節(jié)點及其組件,所以對每個節(jié)點的監(jiān)測和控制在集群系統(tǒng)的服務(wù)器中就顯得尤為重要,這是提高系統(tǒng)的資源利用率和可用性的一種有效方法。Ganglia 在監(jiān)測多個節(jié)點狀態(tài)方面功能非常強大,同時使用XDR監(jiān)控的數(shù)據(jù)傳輸很好地減少了機群內(nèi)部的多播地址發(fā)送監(jiān)測數(shù)據(jù)的數(shù)量,而且應(yīng)用的RRDTool也提供很完善的圖形化顯示方案,這大大簡化海量數(shù)據(jù)地處理。RRD是一種有效的存儲和顯示時間序列數(shù)據(jù)的數(shù)據(jù)庫。它利用緊湊的設(shè)計時來劃分固定大小的存儲空間來存儲數(shù)據(jù)。因此通過這種方式存儲數(shù)據(jù),數(shù)據(jù)庫的大小就不會隨著時間的推移而不斷增大。因此,很好地減少了數(shù)據(jù)庫的維護和管理。由于 Ganglia 是一個開源的框架,因此Ganglia 提供的 web 能實時圖形化來展示各節(jié)點信息的功能而且也很方便擴展,因此以 Php 為基礎(chǔ)的 Ganglia 在前端的web接口實現(xiàn)了對集群內(nèi)的所有主機的監(jiān)控。這將更有利于跨平臺的監(jiān)控和控制。并且我們可以通過故障檢測來發(fā)現(xiàn)系統(tǒng)運行時的故障點并能夠及時排除和進行隔離,并且通過性能檢測發(fā)現(xiàn)系統(tǒng)運行時的性能瓶頸并能及時利用系統(tǒng)中的負載平衡策略來消除系統(tǒng)的瓶頸。同時為了更方便管理員對服務(wù)器的監(jiān)控,因此對服務(wù)器進行異地監(jiān)控也顯的日益重要。 開發(fā)環(huán)境在開發(fā)此Ganglia的集群監(jiān)控軟件時,用到了以下的軟件環(huán)境。硬件環(huán)境 :個人PC ,內(nèi)存2G以上,顯卡512M以上,分辨率:最佳效果為1024 * 768 。 操作系統(tǒng):Ubuntu 。軟件:虛擬機。安裝包:基于Ubuntu的gangliamonitor、gangliawebfrontend、gmetad、rrdtool安裝包。 可行性分析Ganglia它主要應(yīng)用于高性能的計算機分布系統(tǒng)(例如:網(wǎng)格、云計算、集群等等)這些被設(shè)計成的可擴展的集群監(jiān)控系統(tǒng)。這個系統(tǒng)是被設(shè)計成以一個分層的系統(tǒng)結(jié)構(gòu),它在一個集群中支持的節(jié)點數(shù)可以達到2000個。它同時也是允許被注冊的用戶通過遠程來監(jiān)控系統(tǒng)的一段時間的歷史統(tǒng)計數(shù)據(jù)或者實時的在線數(shù)據(jù),包括:計算機的網(wǎng)絡(luò)利用率、CPU的負載均衡等等。Ganglia它主要是基于組播(單播)的監(jiān)聽和發(fā)布等協(xié)議來實現(xiàn)集群狀態(tài)的監(jiān)控。Ganglia集群系統(tǒng)它實現(xiàn)了多種技術(shù)的綜合利用,其中主要包括:RRDtool、XDR、XML等等。Ganglia 它主要由加利福尼亞大學(xué)伯克利分校等聯(lián)合起來共同開發(fā)的一個開源的監(jiān)控系統(tǒng)項目,該系統(tǒng)在設(shè)計初期它主要是被用作于測量內(nèi)部計算機節(jié)點的數(shù)量。然后再讓局域網(wǎng)內(nèi)部的每臺計算機系統(tǒng)中都運行著一個gmond 的守護進程,該進程主要是收集并且發(fā)送收集到的數(shù)據(jù)(例如:計算機的內(nèi)存使用、處理器運行速度等等),該進程是從指定的主機中收集計算機的使用數(shù)據(jù)。主機接收到這些計算機的所有使用度量數(shù)據(jù),然后將這些數(shù)據(jù)通過精簡表單的形式傳遞到系統(tǒng)的層次結(jié)構(gòu)當(dāng)中來。正是由于ganglia擁有了這種層次結(jié)構(gòu)的應(yīng)用模式,這才讓 Ganglia系統(tǒng)在集群當(dāng)中可以擁有更好的擴展性。系統(tǒng)中的另一重要組件gmond 它占用系統(tǒng)的負載很小,這一特征也讓它被廣泛地應(yīng)用于集群的各個計算機中,而且對計算機的整體性能也不會產(chǎn)生太大的影響。但是大量的重復(fù)的這些數(shù)據(jù)的收集有可能會影響集群中節(jié)點的整體性能。例如集群網(wǎng)絡(luò)當(dāng)中的 “抖動”現(xiàn)象就是發(fā)生于大量的消息同一時間出現(xiàn)的時候。但是我通過查找資料所知我們可以將系統(tǒng)中節(jié)點的時鐘保持一致,那么我們就可以很好地避免系統(tǒng)“抖動”這個問題。2 相關(guān)技術(shù)介紹 集群集群它是為