主要是三个地方需要修改,cluster name,udp_send_channel,udp_recv_channel。注意单播与多播模式的区别,在多播模式下,加入该多播组的节点都会收到组内所有其他节点的数据,所以每个相当于一个备份。单播模式下,只是点到点的发送数据,数据只会发向特定的那个host,这种模式下通常具有一个中央收集节点。
cluster {
name = "Cluster1" #本节点属于哪个cluster
owner = "chifeng" #谁是该节点的所有者
latlong = "unspecified" #在地球上的坐标,经度、纬度?
url = "unspecified"
}
udp_send_channel { #udp包的发送通道
mcast_join = 239.2.11.71 #多播,工作在239.2.11.71通道下。如果使用单播模式,则要写host = host1(接受数据的目标主机),单播模式下也可以配置多个udp_send_channel
port = 8649 #监听端口
ttl = 1
}
udp_recv_channel { #接收udp包配置
mcast_join = 239.2.11.71 #同样工作在239.2.11.71通道下,如果使用单播模式,则要写host = localip,就是必须是本机的ip
port = 8649 #监听端口
bind = 239.2.11.71 #绑定
}
tcp_accept_channel {
port = 8649 #通过tcp协议监听的端口,远端可以通过链接8649端口得到监控数据,gmetad就是通过该端口得到xml数据
}
还有其他的一些配置项,通常情况下不需要修改,其含义如下:
Collection_group section:
collect_once – Specifies that the group of static metrics
collect_every – Collection interval (only valid for non-static)
time_threshold – Max data send interval
Metric section:
Name – Metric name (see “gmond –m”)
Value_threshold – Metric variance threshold (send if exceeded)
实例如下:
collection_group {
collect_every = 80
time_threshold = 950
metric {
name = "proc_run"
value_threshold = "1.0"
}
metric {
name = "proc_total"
value_threshold = "1.0"
}
}
1.3 命令集合
说明:命令集合,是指我在安装配置时所使用的那些命令行命令,这些可以作为自动化部署脚步的一个基础。后面可以考虑编写自动化部署的脚步。
服务端:
1)安装expat-2.0.1.tar.gz
tar xvzf expat-2.0.1.tar.gz
cd expat*;./configure --prefix=/usr/local/apr;make;make install
2)安装confuse-2.6
./configure --prefix=/usr/local/confuse-2.6 CFLAGS=-fPIC --disable-nls;make;make install
3)安装apr
tar xvjf apr-1.3.2.tar.bz2
cd apr-1.3.2;./configure --prefix=/usr/local/apr;make;make install
安装apr-util-1.3.2.tar.bz2
tar xvjf apr-util-1.3.2.tar.bz2
cd apr-util-1.3.2;./configure --with-apr=/usr/local/apr --with-expat=/usr/local/expat
make;make install
cp /usr/local/apr-1.3.2/include/apr-1/* /usr/local/apr-1.3.2/include/目录,因为ganglia安装时默认会去/usr/local/apr/include下寻找apr的库文件。
4)安装rrdtool-1.2.27.tar.gz
tar xvzf rrdtool-1.2.27.tar.gz
cd rrdtool-1.2.27;./configure --prefix=/usr/local/rrdtool
make;make install
5)cp /usr/local/apr/bin/apr-1* /usr/local/bin/拷过这个后 OK否则会编译出问题
报错如下:
Checking for apr
checking for apr-1-config... no
configure: error: apr-1-config binary not found in pat
6)安装ganglia
./configure --with-librrd=/opt/rrdtool-1.4.4 --with-gmetad --prefix=/usr/local/ganglia --with-libconfuse=/usr/local/confuse-2.6
7)make;make install
8)安装apache服务器和php支持
yum -y install httpd mysqld php-mysql php
客户端:
wget
wget
scp apr-*.* 10.250.13.45:~/
scp libconfuse-*.* 10.250.13.45:~/
scp ganglia-*.gz 10.250.13.45:~/
scp ganglia-devel-*.rpm 10.250.13.45:~/
scp *.conf 10.250.13.45:~/
ssh 10.250.13.45
sudo su -
yum install expat
cd /home/admin
tar -xvf apr-1.4.*.gz
cd apr*
./configure --prefix=/usr/local/apr
make
make install
cd ..
tar -xvf apr-util-1.3.9.*
cd apr-util*
./configure --with-apr=/usr/local/apr
make
make install
cd ..
rpm -ivh libconfuse-2.5-4.el5.x86_64.rpm
rpm -ivh libconfuse-devel-2.5-4.el5.x86_64.rpm
tar -xvf ganglia-3.1.*.gz
cd ganglia*
cp /usr/local/apr/bin/apr-1* /usr/local/bin/
./configure --with-apr=/usr/local/apr
find / -name "libpython2.5*"
cp /usr/local/lib/libpython2.5.so /usr/lib/libpython2.5.so
make
make install
cd ..
rpm -ivh ganglia-devel-3.1.1-1.x86_64.rpm --nodeps
cd /etc
mkdir ganglia
cp /home/admin/*.conf /etc/ganglia/
cd /etc/ganglia
vi gmond.conf ;edit udp send and recv host.
vi /usr/local/etc/gmond.conf
gmond --debug=10
ps -e|grep gmond
kill -9 id
gmond
如果必要需要重新修改gmond.conf
scp test 10.250.13.42:~/
scp test 10.250.13.43:~/
scp test 10.250.13.44:~/
scp test 10.250.13.45:~/
vi /etc/profile
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:"/usr/local/lib64/"
source /etc/profile
1.4 问题及解决
1.4.1 安装问题
◎缺少库文件,通常在make过程中出现该错误,ld找不到对应的库比如libpython2.5.so
解决方法:find命令查找这两个文件,并ln –s 创建指向这两个文件的软链接引用。find / -name libpython*
◎如果安装过程中出现依赖错误,通常在configure时出现