參考:https://blog.csdn.net/agent_x/article/details/78660128
主節(jié)點安裝
- epel包的安裝:yum install -y epel-release(解決不能yum安裝某些安裝包的問題)
- gmetad的安裝:yum install -y ganglia-gmetad ganglia-devel
- gmond的安裝:yum install -y ganglia-gmond
- rrdtool的安裝:yum install -y rrdtool
- httpd服務器的安裝:yum install -y httpd
- ganglia-web及php安裝:yum install -y ganglia-web php
被監(jiān)控節(jié)點安裝
- epel包的安裝:yum install -y epel-release(解決不能yum安裝某些安裝包的問題)
- gmond的安裝:yum install -y gmond(提示找不到芬首,感覺應該換成上面那個yum install -y ganglia-gmond)
Ganglia配置
安裝目錄說明:
- ganglia配置文件目錄:/etc/ganglia
- rrd數(shù)據(jù)庫存放目錄:/var/lib/ganglia/rrds
- ganglia-web安裝目錄:/usr/share/ganglia
- ganglia-web配置目錄:/etc/httpd/conf.d/ganglia.conf
- 將ganglia-web的站點目錄連接到httpd主站點目錄
$ ln -s /usr/share/ganglia /var/www/html
# - 修改httpd主站點目錄下ganglia站點目錄的訪問權(quán)限 ,將ganglia站點
目錄訪問權(quán)限改為apache:apache,否則會報錯
$ chown -R apache:apache /var/www/html/ganglia
$ chmod -R 755 /var/www/html/ganglia
3.修改rrd數(shù)據(jù)庫存放目錄訪問權(quán)限 贺拣,將rrd數(shù)據(jù)庫存放目錄訪問權(quán)限改為nobody:nobody,否則會報錯
$ chown -R nobody:nobody /var/lib/ganglia/rrds
- 修改ganglia-web的訪問權(quán)限:
修改/etc/httpd/conf.d/ganglia.conf:
Alias /ganglia /usr/share/ganglia
<Location /ganglia>
Require all granted
#Require ip 10.1.2.3
#Require host example.org
</Location>
注意下2.4和2.2版本的不一樣輸入:
- 修改dwoo下面的權(quán)限
$ chmod 777 /var/lib/ganglia/dwoo/compiled
$ chmod 777 /var/lib/ganglia/dwoo/cache
- 配置/etc/ganglia/gmetad.conf
data_source "cluster" 1 10.11.6.52:8649 #中間的1是采樣間隔,不設置的話默認是15s
RRAs "RRA:AVERAGE:0.5:1:3660" "RRA:AVERAGE:0.5:360:244" "RRA:AVERAGE:0.5:2520:244" "RRA:AVERAGE:0.5:10080:244" "RRA:AVERAGE:0.5:86400:374" #不設置的話默認RRA保存是15s格式的數(shù)據(jù),這邊修改成1s的,詳細記錄最近61分鐘的數(shù)據(jù)
- 配置/etc/ganglia/gmond.conf
cluster {
name = "cluster"
...
}
udp_send_channel {
# the host who gather this cluster's monitoring data and send these data to gmetad node
#注釋掉多播模式的,以下出現(xiàn)這個都要注釋掉
#mcast_join = 239.2.11.71
#添加單播模式的
host = 192.168.26.139
port = 8649
}
udp_recv_channel {
port = 8649 #別的都注釋掉
}
tcp_accept_channel {
port = 8649
gzip_output = no
}
····
collection_group {
collect_every = 1 #我修改成CPU成1秒采集和1秒發(fā)送儿子,注意要搭配修改 gmetad.conf
time_threshold = 1
/* CPU status */
metric {
name = "cpu_user"
value_threshold = "1.0"
title = "CPU User"
}
metric {
name = "cpu_system"
value_threshold = "1.0"
title = "CPU System"
}
metric {
name = "cpu_idle"
value_threshold = "5.0"
title = "CPU Idle"
}
- 被測節(jié)點的配置,可以直接復制主節(jié)點配置好的/etc/ganglia/gmond.conf
- 主節(jié)點啟動
$ systemctl start httpd.service #service httpd start
$ systemctl start gmetad.service #service gmetad start
$ systemctl start gmond.service #service gmond start
$ systemctl enable httpd.service
$ systemctl enable gmetad.service
$ systemctl enable gmond.service
- 測試節(jié)點
$ systemctl start gmond.service
$ systemctl enable gmond.service
- 訪問網(wǎng)頁
瀏覽器訪問 {namenode的ip}/ganglia即可
如果出現(xiàn)錯誤:
There was an error collecting ganglia data (127.0.0.1:8652):fsockopen error: Permission denied
可能原因1:SELINUX配置問題
關閉selinux砸喻,vi /etc/selinux/config柔逼,把SELINUX=enforcing改成SELINUX=disable蒋譬;該方法需要重啟機器。
可以使用命令setenforce 0來關閉selinux而不需要重啟愉适,刷新頁面犯助,即可訪問;不過此法只是權(quán)宜之計维咸,如果想永久修改selinux設置也切,還是要使用第一種方法
可能原因2:rrds目錄的訪問權(quán)限未正確配置
給/var/lib/ganglia/rrds目錄賦予nobody:nobody的可訪問權(quán)限
如果服務正常,但是UI里沒有節(jié)點腰湾,可能是RRD里面的時間更新錯誤了,系統(tǒng)錯誤導致的疆股,解決:刪除主節(jié)點的RRD目錄下的所有文件费坊,重啟