ganglia組播和單播

2022-04-01 12:24:47 字數 3055 閱讀 2337

admin

**:ganglia 監控套件包括三個主要部分:gmond,gmetad,和網頁介面,通常被稱為ganlia-web

gmond集群是主機和度量資料的邏輯分組,比如資料庫伺服器,網頁伺服器,生產,測試,qa等,他們都是完全分開的,你需要為每個集群執行單獨的gmond例項。

一般來說每個集群需要乙個接收的gmond,每個**需要乙個gmetad。

最簡單的方法來安裝就是使用二進位製包。在ubuntu/debian 上,你可以用apt-get來安裝。

apt-get install ganglia-monitor gmetad
補充:我做實驗是用centos,在centos上只需要新增epel和rpmfusion庫即可使用以下命令分別安裝上述三個元件

yum install ganglia-gmond

yum install ganglia-gmetad

yum install ganglia-web

如果你只有少數主機需要處理,我們推薦使用單個集群,因為這是最容易啟用和配置的。唯一你需要做的是決定是否要啟用單播或者組播傳輸。

組播模式是預設的設定,也是最簡單的使用方式,並且他提供沉餘。對「抖動」敏感的環境可能需要考慮啟用ganglia在單播模式下執行,他可以顯著的減少主機間喋喋不休的交流,不過就是配置起來複雜一點。像amazon』s aws ec2產品這樣的環境就是不支援組播的,所以單播是惟一可用的設定選項。

如果你正在使用組播傳輸,那麼你沒必要改變任何東西,因為這是ganglia包安裝預設的。唯一要做的就是把gmetad指向乙個或幾個執行著gmond的主機。沒有必要列出每乙個單個主機,因為gmond被設定為接受模式時會包含所有主機的列表以及整個集群的統計資訊。

# /etc/gmetad.conf on monhost

data_source "mycluster" monhost

要配置成為單播你應該指定乙個(或者多個)接受的主機,比如我將要挑選mon1主機作為接收者。mon1的gmond.conf應該看起來像這樣。

globals 

cluster

host

udp_send_channel

udp_recv_channel

tcp_accept_channel

在其他的所有主機上,你只需要配置這個

globals 

cluster

host

udp_send_channel

請注意send_metadata_interval被設定為30秒。ganglia的度量指標從他的元資料間隔傳送得到的。元資料報含諸如度量分組,型別等等。假如你重啟了接收的gmond主機,那麼元資料就會丟失,gmond就不知道如何處理度量資料,因此會把他們拋棄。這會導致生成空白的圖表。在組播模式下,gmonds可以和其他任意一台主機通訊,在元資料丟失情況請求重新獲取。但這在單播模式下是不可能的,因此你需要命令gmond定期的傳送元資料。

現在在你的gmetad.conf中放置

# /etc/gmetad.conf on mon1

data_source "production" mon1

重啟所有,應該會生效了

就像你在上面的圖表中看到的,有三個集群在同乙個廣播域上,我們並不需要部署三個分開的ganglia網頁介面和gmetad收集器,我們只需要在node0.c1節點上部署乙個就可以了,他並會從三個不同的組播通道上收集統計資料。

那麼在伺服器上需要的元件有:

*在每個節點上都需要ganglia-gmond

*在node0.c1上需要ganglia-d和ganglia-web(假設我們指定節點0.c1作為ganglia網頁介面和統計資料接收器)。

下面是配置檔案的部分設定:

在集群一完全相同的/etc/gmond.conf。我列舉最重要的部分:

# /etc/gmond.conf - on clusterone

cluster

udp_send_channel

udp_recv_channel

tcp_accept_channel

在集群二所有的節點都相同的/etc/gmond.conf

# /etc/gmond.conf - on clustertwo

cluster

udp_send_channel

udp_recv_channel

tcp_accept_channel

在集群三上都相同的/etc/gmond.conf 

# /etc/gmond.conf - on clusterthree

cluster

udp_send_channel

udp_recv_channel

tcp_accept_channel

只存在於node0.c1上的/etc/gmetad.conf(最重要的部分):

# /etc/gmetad.conf on node0.c1

data_source "clusterone" node0.c1:8661 node1.c1:8661

data_source "clustertwo" node0.c2:8662 node1.c2:8662

data_source "clusterthree" node3.c2:8663 node1.c3:8663

注意,我們並沒有列出每個集群上所有的節點作為data sources(假如你的集群擁有數以千計的節點不就悲劇了麼)。想象一下現在我們有三個不同的池,他們各種有邊界。要發生的事情就是,gmetad守護程序根據data source的配置訪問資料,如果其中的乙個節點宕機了,其他的也可以提供統計資料給gmetad,因為gmond節點會交換資料。

現在你要幹的事情就是配置一下在node0.c1上的web伺服器,開啟gmetad(預設的rrds位置在/var/lib/ganglia/rrds),並開啟所有集群上的gmond服務。你應該會有乙個為三個集群服務的正常工作的監控系統,而他只在乙個伺服器上。

單播 廣播和組播

原創重點 廣義廣播和狹義廣播的定義,以組播邏輯實現單播優點的演算法假想 廣播 broadcast 這裡說的 廣播 是指像目前模擬電視訊號或廣播電台訊號那樣地廣播出來,不管client看不看聽不聽,所有線路全部強塞訊號過去,這種做法我們姑且發明個詞稱之為 廣義廣播 這樣做顯然server是最輕鬆的,只...

單播組播和廣播

廣播與組播 1 廣播和組播只適用於udp。2 廣播是指將資訊傳送到所有能到達的位址。3 組播是指將資訊傳送給定義在一組內的位址。現實世界裡,人們講話的目標可以是乙個人,一組人和所有在場的人。ip世界與之相對應的,是單播 組播和廣播。一對一的情況,叫做 單播 某主機傳送同一資料報到多台主機 一次的 同...

單播 多播(組播)和廣播

網路節點之間的通訊就好像是人們之間的對話一樣。如果乙個人對另外乙個人說話,那麼用網路技術的術語來描述就是 單播 此時資訊的接收和傳遞只在兩個節點之間進行。單播在網路中得到了廣泛的應用,網路上絕大部分的資料都是以單播的形式傳輸的,只是一般網路使用者不知道而已。例如,你在收發電子郵件 瀏覽網頁時,必須與...