1. 程式人生 > >Ganglia的安裝、配置、執行 解析詳情

Ganglia的安裝、配置、執行 解析詳情

 

2017年05月24日 09:12:42 繾綣浮生丶 閱讀數:5908 標籤: ganglia系統監控大資料 更多

個人分類: Ganglia

一、安裝ganglia:

網上示例很多,對該部分的翻譯後續再跟進。

二、配置ganglia:

預設的配置僅僅能使ganglia工作,如果瞭解比預設配置多的配置項,能幫助你更好的使用ganglia做監控部署。

(1)gmod:

安裝在每個想監控的節點上,與作業系統互動獲取度量資訊(cpu使用率、記憶體、網路以及其他可通過自定義拓展的度量)並與叢集內其他節點共享。每個在叢集內的gmod例項知曉所有gmond所在節點的度量值,並通過XML格式的dump對外提供訪問,gmetad通過gmond的連線埠連線。

 

1.拓撲結構

gmond的預設拓撲結構採用廣播的方式(multicast),意味著所有叢集內節點發送並接受度量資訊,並以hash table的結構儲存到各自的記憶體資料庫中,包括所有叢集節點的度量資訊。如下圖所示:

上圖圖解最重要的是與gmond deamon全然不同的性質。在內部,gmond傳送和接受兩種行為是無關聯的(正如圖中垂直虛線所示)。gmond不會自我互動,它只會向網路中傳送度量資訊。任何本地節點的資訊獲取都會經過sender傳輸到網路中,再由receiver從網路中收集。

這種拓撲對大多數場景適用,但某些案例下,指定少數監聽者比每個節點都監聽叢集內度量資訊要更行之有效,因為每個節點都監聽會浪費額外的cpu,更多細節詳見第三章。

通過“聾啞”模式,如圖2-2,可以消除大叢集內的過度聯絡。聾人模式和啞人模式使一些gmond按特定的模式工作,如收集或者傳送。啞人模式意味著節點不對外傳輸資料,但收集叢集內其他節點的度量資訊。聾人模式意味著該例項不接受網路中的度量資訊,但它不是啞巴,它會持續向網路中的其他監聽節點發送度量資訊。

並非所有的拓撲模型都要求使用廣播。當廣播不是第一選擇的時候,聾啞模式的拓撲可由UDP單播實現。

或者,可以混合使用“聾啞”模式和預設的拓撲建立適合你環境的系統架構。唯一的拓撲要求如下所述:

1.在叢集內至少有一個gmond例項負責接收網路中的所有度量資訊。

2.gmetad必須定期輪訓gmond以拉去叢集狀態資訊。

 

然而真實實踐中,不具備廣播連通性的節點不需要配置成"deaf"模式;他們可以使用127.0.0.1地址為自己傳送訊息,並保留自己的本地度量資訊。這可以利用於節點自己傳送TCP探針(XML)來排查故障。

2. 配置檔案

可以用以下gmond命令生成預設的配置檔案:

[email protected]:$ gmond -t

配置檔案由多個部分組成,用花括號包裹,這可以大致分為兩個邏輯目錄。第一部分包含節點與叢集的配置;另一部分包括度量資訊的收集和定時策略。

所有的配置屬性大小不敏感,如以下例子是相等的名稱:

name NAME Name NaMe

有些配置部分是可選的;一些配置是必填的。有些可以定義多次,有些只能配置一次。有些配置可以包含子選項配置。

當配置複雜時,有些內部指令可以將gmond.conf分離到多個檔案中,並支援型別通配。如:

include ('/etc/ganglia/conf.d/*.conf')

將會命令gmond載入/etc/ganglia/conf.d/路徑下所有以.conf為字尾的配置檔案。

 

PS:為了快速開始,你所需要配置的僅僅是cluster部分下的name屬性,其他屬性可以全部預設。

配置檔案使用第三方API工具libconfuse解析,採用libconfuse正常的格式規範。值得說明的是,boolean型別的值可以是yes,true,on;與他們相對的是no,false,off。布林型別是大小寫不敏感的。

 

有以下八個部分配置節點自身屬性。

Section: globals. 配置守護執行緒自身的通用屬性,配置檔案中只能夠配置一次。以下是Ganglia3.3.1的預設配置:

globals {

daemonize = yes

setuid = yes

user = nobody

debug_level = 0

max_udp_msg_len = 1472

mute = no

deaf = no

allow_extra_data = yes

host_dmax = 86400 /*secs. Expires (removes from web interface) hosts in 1 day */

host_tmax = 20 /*secs */

cleanup_threshold = 300 /*secs */

gexec = no

send_metadata_interval = 0 /*secs */

}

daemonize (boolean)

當配置為true時,gmond在後臺並行執行。當配置為false時,你可以使用deamontools等守護執行緒管理工具執行。

setuid (boolean)

當設定為true時,gmond以user屬性下的有效uid執行,否則不改變有效使用者。

debug_level (integer value)

當設定為0時,gmond正常執行。等級越高,輸出的日誌資訊越豐富。

max_udp_msg_len (integer value)

udp單包的最大長度,不建議修改。

mute (boolean)

當設定為true時,gmond不會發送資料,忽略其他的配置指令。只用於收集其他gmond資訊,但仍然會響應如gmetad輪詢者的請求。

deaf(boolean)

當設定為ture時,gmond不會接收資料,忽略其他配置指令。當置於大規模叢集中,或者HPC敏感的網格中,CPU消耗成為不得不考慮的因素時,通常節點會配置為deaf模式以確保叢集之間的互動降到最低。在這種情境下,部分節點設定為mute專注於收集。如此一來,mute節點的狀態資訊並不用於叢集總狀態的評估。它們的作用只是用於收集,所以他們的節點狀態會汙染叢集狀態資訊。

allow_extra_data (boolean)

當設定為false時,gmond不會發送標記為EXTRA_ELEMENT和EXTRA_DATA的XML部分。如果你使用自己的前端平臺,這個引數可以有效節省頻寬。

host_dmax (integer_value in seconds)

代表“delete max”,當設定為0時,gmond永遠不會從他們的列表中刪除節點,即時某些遠端節點丟失報告對量。如果host_dmax 設定為比0大的自然數,gmond會在超過這個時間後重新整理host列表。

host_tmax (integer_value in seconds)

代表“timeout max”。gmond更新host狀態的最大等待時間。因為訊息會在網路中丟失,所以gmond會在該超時時間未接收到資料後判定該節點down掉。

cleanup_threshold (integer_value in seconds)

gmond清理過期資料的最大時間。

gexec (boolean)

當設定為true,gmond允許節點執行gexec job,這個方法要求本節點gexecd已執行並且安裝了合適的鍵。

send_metadata_interval (integer_value in seconds)

設定gmond傳送或重發包含度量資訊的元資料包的時間間隔。預設設定為0,這意味著gmond只有當啟動時,或者別的遠端節點請求時才會傳送資料包。當一個新節點gmond加入叢集時,需要通知自己和其他所有節點當前的支援狀態。在廣播模式下,這不是個問題,但是單播模式下,該時間間隔必須設定,表示兩次傳送資料的時間間隔。

module_dir (path; optional)

指定度量收集模組所在的目錄位置。如果忽略,則預設是編譯時期的配置項:--with-moduledir。這個配置項,預設是Ganglia目錄下的libganglia所在目錄,執行如下指令生成預設gmond可發現的配置檔案:

# gmond -t

 

Section: cluster. 每個gmond節點向叢集報告資訊都通過cluster部分的配置。預設值設定為"unspecified";預設值是系統可用的,該部分在配置檔案中只能配置一次。以下是預設配置:

cluster {

name = "unspecified"

owner = "unspecified"

latlong = "unspecified"

url = "unspecified"

}

name (text)

指定叢集名稱。當節點輪訓拉取xml描述的節點狀態資訊時,該名稱會被插入到CLUSTER部分。gmetad會根據這個值在拉取時歸併到不同的RRD檔案中儲存。該配置項取代了在gmetad.conf中的cluster name配置項。

owner (text)

配置叢集管理員。

latlong (text)

指定叢集在地球上的GPS經緯度座標。

url (text)

指定叢集的特定URL地址訪問資訊,如叢集目的和使用明細。

 

Section: host. 指定執行該gmond例項的host地址。只有一個配置項:

host {

location = "unspecified"

}

location (text)

節點地址,rack,U[,blade]格式也是可用的。

 

Section: UDP channels. 配置gmond節點與其他節點對話的UDP傳送/接收渠道。叢集通過UDP通道互動,這意味著,所謂叢集只是gmond節點直接的傳送和接收訊息的通道組成。

預設情況下,每個gmond節點通過UDP廣播向其他節點廣播度量資訊,其他節點類似。這樣很容易啟動和維護:每個節點在叢集中共享廣播地址,並且新增節點自動發現。然而,當我們回顧之前的deaf and mute模式,某些情況下需要單獨指定單播地址。

由此,每一個gmond的傳送和接收頻道需要針對當前環境進行配置。每個傳送通道的配置定義了一個新的傳送自身度量資訊的方式,每個接收通道的配置定義了從其他節點接收度量資訊的方式。通道可以通過IP4-IP6進行單播或者廣播。

 

記住,一個gmond節點不可向多個叢集傳送度量資訊,也不要試圖從其他叢集節點接收度量資訊。

UDP通道通過udp_(send|receive)_channel部分建立。預設傳送通道如下:

udp_send_channel {

#bind_hostname = yes

mcast_join = 239.2.11.71

port = 8649

ttl = 1

}

bind_hostname (boolean; optional, for multicast or unicast)

配置是否通過機器名繫結。

mcast_join (IP; optional, for multicast only)

當指定時,gmond將會通過建立udp連線並且加入廣播組,該配置建立廣播渠道並與host配置二選一。

mcast_if (text; optional, for multicast only)

指定時,gmond通過指定介面傳送資料。如:eth0

host (text or IP; optional, for unicast only)

指定傳送資料地址,與mcast_join二選一。

port (number; optional, for multicast and unicast)

gmond傳送資料使用埠,預設8649

ttl (number; optional, for multicast or unicast)

time-to-live存活時間,該配置項對廣播環境 尤其重要,用於限制度量資訊的有效時間,越高的值,則容忍性越大。

如下是預設的接收通道配置:

udp_recv_channel {

mcast_join = 239.2.11.71

port = 8649

bind = 239.2.11.71

}

mcast_join (IP; optional, for multicast only)

當指定時,gmond將從該IP所在的廣播群組中接收廣播資訊,如果不指定廣播屬性,gmond將會通過特定埠建立UDP單播服務。

mcast_if (text; optional, for multicast only)

同上;

bind (IP; optional, for multicast or unicast)

指定後,gmond將會和本地地址繫結。

port (number; optional, for multicast or unicast)

接收埠,預設8649

family (inet4|inet6; optional, for multicast or unicast)

ip版本,預設inet4。如果想監聽ipv4和ipv6兩個網路,需要配置兩個接收渠道。

acl (ACL definition; optional, for multicast or unicast)

access control list:細粒度的接受渠道控制。詳見“Access control”章節。

 

Section: TCP Accept Channels. gmond與gmetad或者其它輪詢者互動通過TCP通道。可選如下配置項,預設如下:

tcp_accept_channel {

port = 8649

}

bind (IP; optional)

port (number)

family (inet4|inet6; optional)

interface (text; optional)

acl (ACL definition; optional)

 

Access control. 即acl,udp_recv_channel和tcp_accept_channel 的配置項。這個配置可以指定具體地址或者地址範圍來新增gmond的連線許可。如下是個ACL示例:

acl {

default = "deny"

access {

ip = 192.168.0.0

mask = 24

action = "allow"

}

access {

ip = ::ff:1.2.3.0

mask = 120

action = "deny"

}

}

配置遵從第一優先順序。mask可指定路由範圍。

 

Optional section: sFlow. sFlow是產品級的管理高速網路交換的技術。起初設想嵌入網路硬體內,現在存在於作業系統級別,如同其他應用一樣如tomcat等web容器。gmond可以配置為成為sFlow的收集器,打包sFlow的資料包併發送給gmetad。在第八章中詳細介紹。該配置全部可選,一下是預設配置:

#sflow {

# udp_port = 6343

# accept_vm_metrics = yes

# accept_jvm_metrics = yes

# multiple_jvm_instances = no

# accept_http_metrics = yes

# multiple_http_instances = no

# accept_memcache_metrics = yes

# multiple_memcache_instances = no

#}

udp_port (number; optional)

用於接收sFlow資料的埠。

其他配置詳見第八章節。

 

Section: modules. 該配置包含了載入度量模組的必須引數。gmond可收集所有動態載入的可擴充套件的度量模組。詳見第五章。

每個模組至少包含一個module子目錄。該子目錄由5個屬性組成。預設配置包括所有已安裝的度量外掛,所以除非你有新增的度量外掛,不然無需更改。示例如下:

modules {

module {

name = "example_module"

language = "C/C++"

enabled = yes

path = "modexample.so"

params = "An extra raw parameter"

param RandomMax {

value = 75

}

param ConstantValue {

value = 25

}

}

}

name (text)

如果使用c/c++實現,則該引數由模組結構決定。如果使用phthon等解釋性語言編寫,則由原始檔決定。

language (text; optional)

檔案原始碼的實現語言,預設是c/c++,目前只支援c/c++或者python。

enabled (boolean; optional)

方便該度量外掛的啟停。預設為yes;

path (text)

gmond載入度量外掛的路徑(c/c++動態載入),如果不是絕對路徑,則在前補上globals模組下的module_path屬性。

params (text; optional)

載入外掛時的string引數。

 

Section: collection_group. 該目錄指定gmond收集那些度量資訊,以及收集和廣播的頻率。你可以 儘可能多的將待收集的度量資訊分組。每個分組至少包含一個 metric 模組。

這是根據取樣間隔做的邏輯分組。在gmond.conf下的不會影響web下的分組結果,預設配置如下:

collection_group {

collect_once = yes

time_threshold = 1200

metric {

name = "cpu_num"

title = "CPU Count"

}

}

collection_group {

collect_every = 20

time_threshold = 90

/* CPU status */

metric {

name = "cpu_user"

value_threshold = "1.0"

title = "CPU User"

}

metric {

name = "cpu_system"

value_threshold = "1.0"

title = "CPU System"

}

}

collect_once (boolean)

某些度量資訊除非重啟否則不會改變,如作業系統型別,cpu核數等。這些引數只需要啟動時採集一次即可。該引數和collect_every互斥。

collect_every (seconds)

頻繁輪訓採集時間,如cpu_user,cpu_system每20秒採集一次。

time_threshold (seconds)

最大等待時間,gmond傳送collection_group資料到所有udp_send_channels的時間。

name (text)

度量資訊在度量模組中的名稱。典型的,每個度量模組定義多個度量資訊名稱,一個可選的name可以是name_match,如果使用name_match代替name,可以匹配多個度量名稱,例如:name_match = "multicpu_([a-z]+)([0-9]+)"

value_threshold (number)

每次收集度量資訊,新值會和上一次的值進行比對。如果發生變化並且當前值大於配置值,則整個收叢集組會發送到udp_send_channels定義的通道內。

title (text)

一個用於web展示的使用者友好的度量標題。

(2)gmetad:

gmetad,the Ganlia Meta Daemon,安裝在運行了收集度量資訊的gmond節點之上,負責度量資訊的收集和聚合。預設情況下,gmetad收集並聚合度量資訊儲存到RRD檔案,但可以配置gmetad向其他系統彙總資料,如Graphite。

gmetad監聽tcp埠8651,連線遠端的gmetad並提供授權節點的xml dump狀態檔案。通過8652tcp埠響應其他節點的請求。互動的裝置接受簡易的子樹和xml網格狀態的總覽。gweb通過使用這些查詢在展現不適合儲存在RRD中的資料,比如作業系統版本資訊。

 

1. gmetad拓撲

一個最簡單的拓撲結構如下圖所示,只存在一個gmetad負責輪訓多個gmond例項。

高可用性是通常的需求也比較容易實現。如圖2-5所示,兩個gmetad和多個gmond例項。gmetad如果從node1拉取不到,將會從node2拉取。兩個gmetad也會同時工作。

gmetad並未限制輪訓gmond,也可以拉取gmetad以創造另一個gmetad層級。詳見圖2-6

在更大的叢集中,IO成為效能瓶頸,rrdcached作為gmetad和RRD檔案的中間快取,如圖2-7:

 

gmetad.conf: gmetad configuration file

gmetad.conf配置檔案由單行屬性和相對應的值組成。名稱大小寫不敏感,但value不同。如下所示屬性表示的是相同的名稱:

name NAME Name NaMe

大多數屬性是可選的;另外的是必須的。有些可被定義多次,有些只能被定義一次。

1. The data_source attribute.

data_source是gmetad的核心配置。每一行data_source描述一個gmond叢集或者一個由gmetad負責收集和聚合的網路。gmetad可以自行區分是一個cluster還是一個由gmetad主導的網格,所以data_source對二者都是相等的。如果gmetad發現data_source指向一個cluster ,它從data_source將維持完成的輪訓列表。否則,gmetad會認為data_source指向網格,它只儲存RRD的相關概要資訊。

設定scalable屬性為false,會強制gmetad保持完整的RRD檔案集合以用於網格資料來源。

以預設配置檔案為例:

data_source "my cluster" 10 localhost my.machine.edu:8649 1.2.3.5:8655

data_source "my grid" 50 1.3.4.7:8655 grid.org:8651 grid-backup.org:8651

data_source "another source" 1.3.4.8:8655 1.3.4.8

每個data_source由三部分構成。第一部分唯一標識該資料來源。第二部分指定輪訓時間間隔,單位是秒。第二部分表示gmetad輪訓資料的空格分割的host地址列表,可以使用IP或者DNS識別的域名。最後一部分表示tcp埠,預設8649。

gmetad將按順序檢查列表中每個Host,帶著第一個節點的狀態資訊做出響應。所以沒必要在data_source中列舉叢集內所有節點。兩三個既能保證資料不會出錯。

2. gmetad daemon behavior.

屬性列舉如下:

gridname (text)

字串型別,唯一標識一個gmetad網格。這個字串不能與gmond集合中的名稱衝突。在gmond.conf(cluster中的配置項{name="XXX"})用於表示哪些特定的gmond例項負責收集。而gridname屬性將會用Grid標籤包裹資料來源的資料。可以定義為data_source的收集者。

 

authority (URL)

網格有效的URL,用於其他gmetad例項訪問當前資料來源的圖表資訊,預設地址為:http://hostname/ganglia/。

 

trusted_hosts (text)

gmetad的信任地址,localhost是用被信任的,空格分割。

 

all_trusted (on|off)

設定為on則重寫trusted_hosts配置,任何節點都被信任。

 

setuid_username (UID)

gmetad使用的使用者id,預設是nobody。

 

setuid (on|off)

是否禁用uid。

 

xml_port (number)

gmetad的監聽埠,預設8651.

 

interactive_port (number)

gmetad互動埠,預設8652。與上個配置項對應。

 

server_threads (number)

連線到監聽埠的最大連線數。預設為4。

 

case_sensitive_hostnames (1|0)

在早期的版本中,RRD檔案使用大小寫敏感的hostname建立,但如今已不在使用。3.2版本後預設為0。

 

3. RRDtool attributes.

配置RRD檔案的建立和處理。

 

RRAs (text)

These specify custom Round Robin Archive values. The default is (with a “step

size” of 15 seconds):

"RRA:AVERAGE:0.5:1:5856" "RRA:AVERAGE:0.5:4:20160" "RRA:AVERAGE:0.5:40:52704"

The full details of an RRA specification are contained in the manpage for

rrdcreate(1).

 

umask (number)

Specifies the umask to apply to created RRD files and the directory structure containing

them. It defaults to 022.

 

rrd_rootdir (path)

Specifies the

 

4.Graphite support.

可以將gmetad收集的度量資料全部匯出到Graphite,一個第三方的開源的度量資訊儲存和視覺化展示工具,配置引數如下:

carbon_server (address)

hostname或者ip,遠端的daemon地址。

carbon_port (number)

遠端埠號,預設2003。

graphite_prefix (text)

Graphite使用點號分割的路徑組織和引用度量資訊,所以更合適寫一個字首來表示描述度量資訊。如datacenter1.gmetad

carbon_timeout (number)

gmetad等待Graphite的響應時間,單位毫秒。這個設定十分重要,因為gmetad的sender不是執行緒的並且會產生阻塞。預設500。

 

5.gmetad interactive port query syntax.

正如前面所提,gmetad監聽tcp埠8652用於響應請求資訊。這個請求基礎的功能是獲取grid中他們感興趣的xml型別的dump狀態資訊。

通過文字協議,如SMTP和HTTP。請求有層級結構,以(/)斜線開始。比如如下請求會返回所有度量資訊:

/

如果要更明確請求內容,可以指定叢集名稱,如:

/cluster1

如果要更明確節點內容,可以指定節點名稱,如:

/cluster1/host1

請求也可以通過指定字尾引數設定過濾器來修正度量值,如你可以獲取cluster1的概要資訊:

/cluster1?filter=summary

 

(3)gweb

相比ganglia的三個部分而言,gweb是最需要配置的元件。實際上,你不需要改變任何引數,gweb即可執行完整功能的web UI。

Apache virtual host configuration

儘管gweb本身不需要配置,但一些web容器想執行gweb需要作出部分配置。每個需要支援PHP的web容器需要做以下工作,還有許多是本書中未涉及的web配置引數。Apache Web Server是常用的web容器。假設gweb安裝在/var/www/html/ganglia2,域名為myganglia.example.org,則配置如下:

NameVirtualHost *.80

<VirtualHost *:80>

ServerName myganglia.example.org

ServerAlias myganglia

DocumentRoot /var/www/html/ganglia2

# Other directives here

</VirtualHost>

這只是一個簡單的例子,更多詳見:http://httpd.apache.org/docs/2.0/vhosts/

1. gweb options

gweb的配置通過conf.php檔案。實際上這個檔案覆蓋了預設檔案conf_default.php。該檔案在web目錄的根目錄下。該文件已編寫完善,超過80個配置項不需要一一配置,只需使用時修改其中重要的幾個即可。

該檔案,正如名稱所講,是由許多引數組成的PHP指令碼,不像其他的配置檔案,引數有多行組成。這些屬性名都是以$conf這種gweb格式組成,大小寫敏感,看起來像PHP陣列。如下引數表示gweb使用的RRDtool所在目錄:

$conf['rrdtool'] = "/usr/bin/rrdtool";

所有的引數都是必須的,也有一些被定義多次,也有被定義一次,也有引用其他的變數值,如:

$conf['rrds'] = "${conf['gmetad_root']}/rrds";

 

Application settings.

該目錄下的引數影響gweb的基礎功能,它自己的家目錄,比如,RRDs或者templates。這些很少被使用者修改但偶爾會被提及。

templates (path)

指定gweb的templates路徑。就像一個站點的面板樣式。

graphdir (path)

指定定義圖表的json檔案所在路徑。如下章所講,使用者會用json自定義圖表樣式,並將其存放在該目錄下,用於web的UI展示。

rrds (path)

指定RRD檔案的所在目錄。

又如第七章所提到的,不同的Nagios的特性在gweb的conf.php檔案中整合。所以Nagios可以通過請求gweb獲取度量資訊,而不是Nagios Service Check Acceptor(NSCA)和Nagios Remote Plugin Executor (NRPE)。

 

Look and feel.

gweb可以配置一次顯示的圖表數量(max_graphs),也可以用來指定列數量和host檢視。也有一些布林型別的配置影響UI的預設行為,如metric_groups_initially_collapsed。

config.php檔案定義了大量樣式,以及自定義時間範圍。

 

Security.

該屬性引數如下:

auth_system (readonly|enabled|disabled)

gweb做了簡單的安全認證機制,允許或禁止個別使用者對部分應用功能的訪問。如果設定為enabled則為可用。

 

Advanced features.

引數如下:

rrdcached_socket (path)

指定rddcached的socket地址,用於高併發下的快取策略。

graph_engine (rrdtool|graphite)

gweb可以使用Graphite代替RRDtool作為圖形引擎。該配置要求你已安裝Graphite和Graphite webapp在該伺服器上。詳見:sourceforge.net/apps/trac/ganglia/wiki/ganglia-web-2#UsingGraphiteasthegraphingengine

 

三、Postinstallation(安裝後)

到此為止,ganglia已經安裝配置完成,是時候執行一下它們了!驗證它們的基礎功能是否完善並確保它們之間的通訊完成。

Starting Up the Processes

雖然沒必要保證啟動的先後順序,如果按此處推薦順序啟動,能避免對元資料轉換成udp聚合包的等待延遲,並且使用者不會再web端看到錯誤資料。

1.如果你使用UDP單播模式,先啟動UDP的收集節點。這樣能確保該收集器能收集到各節點第一次傳送的元資料。

2.啟動其他的gmond例項。

3.如果你使用了rddcached,啟動它。

4.從最低的層級開始啟動gmetad。

5.啟動其他層級的gmetad。

6.啟動apache web server,比gmetad後啟動,如果PHP指令碼不能連線gmetad,可通過埠8652監控。

Testing Your Installation

gmond和gmetad都監聽tcp埠,為了測試gmond,使用telnet:

[email protected]:$ telnet localhost 8649

作為回覆,gmond會輸出一段xml格式的dump資訊,包含其度量資訊。如果gmond是deaf模式或者mute模式,會返回一個空的xml文件,僅僅含有cluster標籤。

測試gmetad可以使用

[email protected]:$ telnet localhost 8651

一個有效的gmetad會返回一段xml格式的dump度量資訊。

詳見第六章,瞭解更多驗證程式狀態的方法。

Firewalls

防火牆問題是初裝ganglia最普遍的問題,我們整理問題如下:

1.gmond預設使用廣播模式,所以跨越子網的叢集需要配置單播的傳送者和監聽者,在之前的拓撲章節有介紹。如果gmond必須穿過防火牆與其他節點互動,允許埠udp/8649。對於廣播模式,路由和防火牆必須支援IGMP協議。

2.gmond從埠TCP 8649監聽gmetad連線。如果gmetad必須穿過防火牆,則保證其gmond的tcp 8649埠暢通。

3.gmetad使用tcp 8651,8652。前者類似於gmond的8649埠,後者作為“互動查詢埠”用於響應指定的查詢請求。被gweb使用,且通常與gmetad安裝在同一臺機器,所以除非你有使用更多的整合特性,如Nagios整合,或者有自定義的查詢gmetad的指令碼,不然不需要有防火牆的ACLs。

4.gweb執行在web容器中,通常監聽80或者443埠(如果你使用SSL,則443)。如果web伺服器被防火牆隔離,那麼開放Tcp80和tcp443埠。

5.如果ganglia集成了sFlow收集器,並且每個sFlow收集器都要與gmond互動 ,為gmond的監聽開放udp 6343埠。

 

 

        注: 本文為外文文件翻譯,僅供學習交流使用如有轉載請註明出處。如有任何商業用途請於本文作者以及原作者聯絡。