一,問題描述
Ganglia的各個組件安裝情況(不是我裝的,只知道這些信息):
集群一共有4台機器,分別是192.168.121.34-37。Gmetad、Gweb和httpd 安裝在 192.168.121.34 上;Gmond安裝在34,35,36,37機器上。
訪問Ganglia-web主頁:http://192.168.121.34/ganglia-web/ 出現如下錯誤:
There was an error collecting ganglia data (127.0.0.1:8652): fsockopen error: Connection refused
查看gmetad狀態,提示:gmetad dead but subsys locked

而查看192.168.121.34、35、36、37 上的gmond狀態:service gmond status ,都是正常的:gmond (pid 30260) is running...
這篇文章說是/var/lib/ganglia/rrds/ 目錄存在權限的問題:說是用戶權限為nobody,組權限是root。
但是我的這個目錄用戶權限就是nobody,組權限就是root。因此,與之無關。

在192.168.121.35機器上 運行:telnet 192.168.121.34 8652 提示: Connection refused
在root用戶下使用:netstat -anp | grep 8652 未找到任何關於8652端口的信息。
其他文章中說的各種修改配置文件的問題,未嘗試。
后面發現rrds目錄太大了,整個分區已經占了97%了。

安裝的集群HDFS也報磁盤空間不足警告。清理一下磁盤之后:

然后再重啟gmetad服務(service gmetad restart),居然就好了。真是奇怪。

此時,訪問Ganglia-web主頁 就能看到各種監控圖片了。
二,Ganglia的一些基礎知識
①Ganglia監控系統主要由三部分組成,gmond、gmetad、和 web接口(ganglia-web)。
gmond安裝在每一台待監控的機器上,負責收集各種監控指標,它即可以是sender,也可以是receiver。也就是說:它即可以收集本機上的一些監控指標(metrics,比如cpu利用率、系統負載),也可以把它收集到的信息發送給安裝在其他機器上的gmond。
gmetad周期性地輪詢各個gmond,將各個gmond收集到的監控指標(metric)存儲到RDD文件中。

ganglia-web需要與gmetad安裝在同一台機器上,因為它需要訪問gmetad的RDD文件,從而將RDD文件中的各種指標以web界面的形式展示出來。
②默認情況下,gmond使用UDP端口8649通信,gmetad使用TCP端口8649從各種gmond中下載監控指標(metric)。
其他一些基礎參考:https://github.com/ganglia/monitor-core/wiki/Ganglia-Quick-Start
里面還介紹了如何安裝 Ganglia 監控多個集群。
