您好,登錄后才能下訂單哦!
本篇內容介紹了“Ganglia的概述與工作原理是什么”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
1、概述
Ganglia是UC Berkeley發起的一個開源集群監視項目,設計用于測量數以千計的節點。Ganglia的核心包含gmond、gmetad以及一個Web前端。主要 是用來監控系統性能,如:cpu 、mem、硬盤利用率, I/O負載、網絡流量情況等, 通過曲線很容易見到每個節點的工作狀態,對合理調整、分配系統資源,提高系統整體性能起到重要作用。
每臺計算機都運行一個收集和發送度量數據的名為 gmond 的守護進程。接收所有度量數據的主機可以顯示這些數據并且可以將這些數據的精簡表單傳遞到層次結構中。正因為有這種層次結構模式,才使得 Ganglia 可以實現良好的擴展。gmond 帶來的系統負載非常少,這使得它成為在集群中各臺計算機上運行的一段代碼,而不會影響用戶性能。所有這些數據多次收集會影響節點性能。網絡中的 “抖動”發生在大量小消息同時出現時,可以通過將節點時鐘保持一致,來避免這個問題。
gmetad可以部署在集群內任一臺節點或者通過網絡連接到集群的獨立主機,它通過單播路由的方式與gmond通信,收集區域內節點的狀態信息,并以XML數據的形式,保存在數據庫中。
由RRDTool工具處理數據,并生成相應的的圖形顯示,以Web方式直觀的提供給客戶端。
2、工作原理
Ganglia包括如下幾個程序,他們之間通過XDL(xml的壓縮格式)或者XML格式傳遞監控數據,達到監控效果。集群內的節點,通過運行gmond收集發布節點狀態信息,然后gmetad周期性的輪詢gmond收集到的信息,然后存入rrd數據庫,通過web服務器可以對其進行查詢展示。
Gmetad 這個程序負責周期性的到各個datasource收集各個cluster的數據,并更新到rrd數據庫中。可以把它理解為服務端。Gmond 收集本機的監控數據,發送到其他機器上,收集其他機器的監控數據,gmond之間通過udp通信,傳遞文件格式為xdl。收集的數據供Gmetad讀取,默認監聽端口8649 ,監聽到gmetad請求后發送xml格式的文件。可以把它理解為客戶端。
web front-end 一個基于web的監控界面,通常和Gmetad安裝在同一個節點上(還需確認是否可以不在一個節點上,因為php的配置文件中ms可配置gmetad的地址及端口),它從Gmetad取數據,并且讀取rrd數據庫,生成圖片,顯示出來。
圖(1)
如上所示,gmetad周期性的去gmond節點或者gmetad節點獲取數據。一個gmetad可以設置多個datasource,每個datasource可以有多個備份,一個失敗還可以去其他host取數據。
如果是muticast模式的話,gmond之間還會通過多播來相互傳遞數據。Gmond本身具有udp send和receive通道,還有一個tcp recv通道。其中udp通道用于向其他gmond節點發送或接受數據,tcp則用來export xml文件,主要接受來自gmetad的請求。Gmetad只有tcp通道,一方面他向datasource發送請求,另一方面會使用一個tcp端口,發布自身收集的xml文件,默認使用8651端口。所以gmetad即可以從gmond也可以從其他的gmetad得到xml數據。
Gmond節點內部模塊圖如下所示:
圖(2)
如上所示,Gmond節點內部結構主要由三個模塊組成,第一個是collect and publish模塊,該模塊周期性的調用一些內部指令獲得metric data,然后將這些數據通過udp通道發布給其他gmond節點。第二個是Listen Threads模塊,監聽其他gmond節點的發送的udp數據,然后將數據存放到內存中。第三個是XML export thread模塊,它主要負責將數據以xml格式發布出去,比如交給gmetad。
整個Ganglia系統的構成包括以下幾個方面:
1、gmetad:收集各結點的數據并保存到數據庫中
2、gmond:收集本地機器的信息,并發送數據
3、rrdtool: Round Robin Database Tool是一個強大的繪圖的引擎,很多工具例如MRTG都可以調用rrdtool繪圖。
4、apache: web服務器
5、php:執行環境,webfrontend使用php開發
6、1臺監控服務器
7、n臺被監控機
(圖3)
Ganglia整個工作過程如上所示:
1.管理節點通過gmetad.conf 配置文件中的代理節點主機列表地址和代理節點相互通信。
2.管理節點收集每個代理節點的機器運行信息,這些信息是通過XML協議進行傳輸。
3.管理節點收集到代理節點的XML協議后,解析成管理節點需要的數據格式。
4.再通過管理節點的 PHP 程序 調用 rrdtool 工具,將數據轉換成圖形。
5.當用戶在瀏覽器上輸入管理節點的 url地址 就可以看見圖形化的數據了。
“Ganglia的概述與工作原理是什么”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。