Ganglia 可擴展分散式監控系統,採用 gmond (節點代理)、gmetad (彙總守護進程)、PHP Web 前端 三層架構。CentOS 5.5 建議原始碼編譯安裝以獲得最新版本。
# 1. 下載原始碼
wget https://github.com/ganglia/ganglia/releases/download/3.7.2/ganglia-3.7.2.tar.gz
tar xzf ganglia-3.7.2.tar.gz
cd ganglia-3.7.2
# 2. 安裝建構依賴
yum install gcc make apr-devel apr-util-devel libconfuse-devel expat-devel python-devel rrdtool-devel
# 3. 編譯安裝
./configure --prefix=/usr --sysconfdir=/etc --with-gmetad
make && make install
/etc/ganglia/gmond.conf (每個監控節點):
cluster {
name = "my cluster" # 修改叢集名稱
owner = "unspecified"
latlong = "unspecified"
url = "unspecified"
}
/* udp_send_channel / udp_recv_channel / tcp_accept_channel 確保多播/單播通訊正確 */
/etc/ganglia/gmetad.conf (彙總節點):
data_source "my cluster" localhost # 監控來源
gridname "MyGrid"
# RRD 資料目錄需存在且權限正確
# 預設 /var/lib/ganglia/rrds
# 需建立並授權給 nobody:
mkdir -p /var/lib/ganglia/rrds
chown nobody:nobody /var/lib/ganglia/rrds
/var/www/html/ganglia/conf.php (Web 前端):
define("RRDTOOL", "/usr/bin/rrdtool"); # 確認 rrdtool 路徑正確
service gmond start
service gmetad start
service httpd start
# 瀏覽 https://server/ganglia/

常見錯誤:gmetad dead but subsys locked多為 RRD 目錄權限錯誤;fsockopen error: Connection refused為gmond未啟動或防火牆阻擋 8649/8652 埠。檢查iptables與SELinux設定。