Ganglia是一個集群監控軟件,底層使用RRDTool獲得數據。Ganglia分為ganglia-monitor和gmetad兩部分,前 者運行在集群每個節點上,收集RRDTool產生的數據,后者運行在監控服務器上,收集每個ganglia-monitor的數據,通過Web UI可以看到直觀的各種圖表。
在Ubuntu上安裝Ganglia非常簡單,首先安裝下面三個包。因為要使用Web服務器才能看到圖表,所以如果沒有安裝apache的話,會自動安裝apache服務器.
?
1、sudo apt-get install ganglia-monitor ganglia-webfrontend
安裝完成之后,啟動apache2服務器,gmetad和gmond兩個服務會運行起來,使用下面的命令可以啟動這兩個服務。
view sourceprint?
2、sudo service gmetad start
?
啟動成功:Starting Ganglia Monitor Meta-Daemon: gmetad.
sysv-rc-conf gmetad on? (ubuntu 下sysv-rc-conf 命令等同redhat 下的chkconfig 命令) sysv-rc-conf --list gmetad GMETAD 0:off 1:off 2:on 3:on 4:on 5:on 6:off 驗證gmetad 正常工作:telnet localhost 8651就可以得到監控的各個主機的狀態。 |
3、sudo service ganglia-monitor start
???
啟動成功 Starting Ganglia Monitor Daemon: gmond
sysv-rc-conf gmond on? (ubuntu 下sysv-rc-conf命令等同redhat下chkconfig命令) sysv-rc-conf —list gmond gmond 0:off 1:off 2:on 3:on 4:on 5:on 6:off service gmond start Starting GANGLIA gmond: [ OK ]? 驗證gmond正常工作:telnet localhost 8649 就可以獲取機群內運行gmond的主機的信息 |
4、 sudo /etc/init.d/apache2 restar
*Restartingwebserver apache2???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????? apache2: Could not reliably determine the server's fully qualified domain name, using 172.16.205.55 for ServerName
?... waiting apache2: Could not reliably determine the server's fully qualified domain name, using 172.16.205.55 for ServerName |
???
因為ganglia-webfront這個包默認將Web相關的代碼安裝在”/usr/share/ganglia-webfrontend/”路徑下,這樣apache訪問不到。可以使用軟鏈接,或者直接將目錄移到”/var/www/”目錄下。
view sourceprint
sudo?ln?-s?/usr/share/ganglia-webfrontend/?/var/www/ganglia?
或者:? sudo?mv?/usr/share/ganglia-webfrontend/?/var/www/ganglia |
?
接著在瀏覽器輸入”http://localhost/ganglia”就可以看到Web UI了。使用Chrome時,總是會將index.php主頁下載下來,不知道為何。使用Firefox一切都很正常。Web UI如下:
?
這里只有一個Grid,并且這個Grid只有一個節點。往Grid里面添加節點是很簡單的,只需要在該節點的/etc/ganglia/gmond.conf指明加入cluster的名字和該cluster多播地址就可以了。
?
配置服務器端
1、修改 sudo vi gmetad.conf 文件
????? 配置集群的服務器IP及相應的名稱
?
#?data_source?"my?grid"?50?1.3.4.7:8655?grid.org:8651?grid-backup.org:8651??
· #?data_source?"another?source"?1.3.4.7:8655??1.3.4.8??
· ??
· data_source?"cloudsearch-server"?localhost??
· data_source?"cloudsearch-crawler"?172.16.205.55??
?
?2、配置集群監控的名稱
# The name of this Grid. All the data sources above will be wrapped in a GRID # tag with this name. # default: unspecified? gridname "cloudsearch"
?
配置完成后重新啟動sudo service gmetad restart
配置客戶端
1、全局配置參數
????? 注意user=nobody這個屬于要與服務端的 setuid_username "nobody" 名稱一致
globals {
daemonize = yes
setuid = yes
user = nobody
debug_level = 0
max_udp_msg_len = 1472
mute = no
deaf = no
host_dmax = 0 /*secs */
cleanup_threshold = 300 /*secs */
gexec = no
send_metadata_interval = 0
}
?
?
2、修改監控組名稱
· #?tag?with?this?name.??
· #?default:?unspecified?
· ?gridname?"cloudsearch"
?
?
配置完成后重新啟動sudo service ganglia-monitor restart
?
安裝期間遇到的問題及解決方案:
?
異常 提示說要把rrd的權限設置給nobody用戶組:
Starting Ganglia Monitor Meta-Daemon: Please make sure that /var/lib/ganglia/rrds is owned by nobody
解決方案
1、sudo chown -R nobody /var/lib/ganglia/rrds
2、sudo service gmetad restart
?
異常:
There was an error collecting ganglia data (127.0.0.1:8652): fsockopen error: Connection refused
解決方案
1、檢查監控的服務器端的ganglia是否正常安裝啟動,并且能輸入http://localhost/ganglia能訪問到相關的信息
2、或者重新啟動sudo service gmeta restar
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
