注:以下操作都只是在一台机器上操作
1. 安装php支持
yum install php-common php-cli php-gb php
2. 安装ganglia及其相关组件
server端:yum install rrdtool rrdtool-devel ganglia-web ganglia-gmetad ganglia-gmond ganglia-gmond-python httpd apr-devel zlib-devel libconfuse-devel expat-devel pcre-devel
client端:yum install ganglia-gmond
3. 相关配置
修改/etc/ganglia/gmond.conf
globals{
user = root
}
cluster {
name = "mycluster" //这个是整个集群的名字
own = "root"
}
dup_send_channel {
host = 127.0.0.1 // host为单播模式 mcast_join为多播模式 gmetad 的地址
}
udp_recv_channel {
port = 8649 // 如果是用单播模式则要删除mcast_join和bind两个选项
}
客户端
修改文件/etc/ganglia/gmetad.conf
data_source "mycluster" localhost //mycluster是gmond.conf中cluster里name的名字 localhost则需要是服务器端的ip
setuid_username "root"
4. 创建rrds目录
mkdir -p /var/lib/ganglia/rrds
chown root:root/var/lib/ganglia/rrds
chmod a+w /var/lib/ganglia/rrds
5. 关闭SELinux不然无法访问监控的web的页面
vi /etc/selinux/config
SELINUX=disable
以上方法需要重启机器
可以在终端上直接输入setenforce 0即可
6. 启动相关服务
service gmond start
service gmetad start
service httpd restart
7. 浏览器中输入127.0.0.1/ganglia检验是否成功
8.出现的问题
查看gmetad状态:servicegmetad status
gmetad dead but subsys locked
在gmetad.conf中修改了用户 setuid_username "root" 这里需要username和rrd数据目录的owner一致
gmond dead but subsys locked
netstat -nlp |grep 8649 占用就kill掉进程号
还可能是没有配置网关或者cluster的owner配置有问题
3、
here was an error collecting ganglia data (127.0.0.1:8652): fsockopen error: Connection refused
解决代码:
# mkdir -p /var/lib/ganglia/rrds
# chown root:root/var/lib/ganglia/rrds