天天看點

Ganglia監控

一、Ganglia是什麼?

     Ganglia是由UC Berkeley發起的一個開源項目,主要通過收集各節點上的度量資料(如處理器速度、記憶體使用量等)實作系統性能的監控。Ganglia的核心包含gmetad、gmond以及Web前端三部分,這三部分之間通過XDL(xml的壓縮格式)或者XML格式傳遞監控資料,達到監控效果。

二、Ganglia工作原理圖

    Ganglia監控的大緻過程為:叢集内的節點通過運作gmond收集并互相釋出節點狀态資訊,然後gmetad利用RRDTool工具周期性的輪詢gmond收集到的資訊,然後存入rrd資料庫,最後再利用RRDTool工具将收集到的資料建立成圖表,并通過web前端将其顯示出來。

<a href="https://s1.51cto.com/oss/201710/26/c41f4296aedfe348bc4718f604aa5ef9.png-wh_500x0-wm_3-wmp_4-s_2717943618.png" target="_blank"></a>

二、Ganglia的元件

(1)Gmetad程式

         Gmetad用于輪詢gmond節點存儲的資訊,并更新到rrd資料庫中

          一個資料源節點就是是一個gmond節點。一個gmetad節點可以設定多個資料源節點,每個資料源節點可以有多個備份,一個資料源節點失敗了還可以從其他節點取資料。可以把Gmetad了解為伺服器。

          Gmetad隻有TCP通道,一方面它向datasource發送請求,擷取資料源節點的XML檔案,另一方面會使用一個8651的預設TCP端口釋出自身收集的XML檔案,是以,Gmetad即可以從Gmond也可以從其他Gmetad節點擷取XML資料。

(2)Gmond程式

         Gmond收集:一般用于收集本機的監控資料,用gmond.conf的udp_rev_channel來配置

         Gmond存儲:并不是所有的gmond的都用來存儲,可以找出其中的一台或者幾台來存儲即可,用gmond.conf的udp_send_channel來配置

         Gmond節點之間的資訊發送接收主要用udp協定,傳遞檔案格式為XDL。

        每個Gmond收集到的資料供Gmetad讀取,Gmond通過預設端口8649監聽到Gmetad請求後将XML格式資料發送給Gmetad。可以将Gmond了解為用戶端。

         Gmond收集資料有muticast和unicast兩種。Gmond本身具有UDP的發送(send)和接受(recv)通道以及TCP的接收(recv)通道。其中UDP通道用于向其他Gmond節點發送或接收資料,TCP通道主要接受來自Gmetad的請求,向Gmetad發送XML檔案。在muticast模式下,Gmond節點之間通過UDP向多點傳播目标互相傳遞資料。

<a href="https://s1.51cto.com/oss/201710/26/d13530e2607f12118bf707a4ddd9c6b8.jpg-wh_500x0-wm_3-wmp_4-s_1970561827.jpg" target="_blank"></a>

Gmond節點子產品結構主要有三個子產品組成:

1)collect and publish子產品,該子產品周期性的調用一些内部指令獲得metric data,然後将這些資料通過UDP通道釋出給其他Gmond節點。

2)Listen Threads監聽其他Gmond節點發送的UDP資料,并将這些資料存放在記憶體中

3)XML Export Threads負責将資料以XML格式釋出出去,比如交給Gmetad。

<a href="https://s1.51cto.com/oss/201710/26/f1bca9296559606b7e1fa657cca0811c.png-wh_500x0-wm_3-wmp_4-s_217818424.png" target="_blank"></a>

在unicast模式下,多個Gmond節點通過UDP向單點傳播的目标主機host的Gmond發送資料,Gmetad然後向目标主機的Gmond請求XML檔案。

在Unicast模式下,Gmond、Gmetad、rrd資料庫以及web前端通常位于叢集内的同一個節點上,該節點負責收集、存儲、顯示被監控的各節點的狀态資訊。

(3)Web前端

          Web前端通常和Gmetad安裝在同一個節點上,它從Gmetad中取資料,并且讀取rrd資料庫,生成圖檔顯示出來。

     本文轉自西鼠 51CTO部落格,原文連結:http://blog.51cto.com/10630401/1976444,如需轉載請自行聯系原作者