http://imyin.xyz/2017/03/23/ganglia-on-CentOS/
今天介绍一下如何在CentOS服务器中部署Ganglia
至于什么是ganglia,就不在这里装逼赘述了,给个官网地址
预装软件
安装ganglia需要不少预装软件,最好自己在本地配置一个yum源,以方便安装。yum源就不在这里描述如何配置了,比较简单,看这里,写的比较全的一篇
yum -y install apr-devel apr-util check-devel cairo-devel pango-devel libxml2-devel rpmbuild glib2-devel dbus-devel freetype-devel fontconfig-devel gcc-c++ expat-devel python-devel libXrender-devel
装完以上这些还不算完,还有confuse需要用源码安装,rrdtool可以用源码或者rpm包来安装。pcre用源码安装。
部署
创建用户
通常为了和其他服务区分开来,推荐在这里创建一个ganglia用户
groupadd ganglia useradd -g ganglia ganglia
创建软件安装目录
mkdir /usr/local/src cd /usr/local/src@H_301_54@ 源码安装confuse
tar -xzvf confuse-2.7.tar.gz cd confuse-2.7 ./configure CFLAGS=-fPIC --disable-nls make -j8 make install
安装 rdtool
rpm -ivh rrdtool-1.3.8-6.el6.x86_64.rpm rpm -ivh rrdtool-devel-1.3.8-6.el6.x86_64.rpm
安装 pcre
tar zxpf pcre-8.12.tar.gz cd pcre-8.12 ./configure make make insta
安装 ganglia
cd /usr/local/src tar zxpf ganglia-3.6.1.tar.gz cd ganglia-3.6.1 ./configure --prefix=/usr/local/ganglia --with-gMetad --enable-gexec --with-python=/usr/bin --with-librrd=/usr/bin make -j8 make install
from IPython.display import Image
Image('configured.PNG')
配置 ganglia
创建 ganglia 的配置目录
mkdir /etc/ganglia
复制 gMetad 的配置文件样本
cp gMetad/gMetad.conf /etc/ganglia/
构建 gmond 的初始配置
gmond -t | tee /etc/ganglia/gmond.conf
Copy the initial startup script,change the binary and config path and enable it on boot:
cp gMetad/gMetad.init /etc/rc.d/init.d/gMetad cp gmond/gmond.init /etc/rc.d/init.d/gmond vi /etc/init.d/gMetad #GMetaD=/usr/sbin/gMetad GMetaD=/usr/local/sbin/gMetad #daemon $GMetaD daemon $GMetaD -c /etc/ganglia/gMetad.conf vi /etc/init.d/gmond #GMOND=/usr/sbin/gmond GMOND=/usr/local/sbin/gmond # daemon $GMOND daemon $GMOND -c /etc/ganglia/gmond.conf chkconfig --add gMetad chkconfig --add gmond
为rrdtool创建存储目录,并确保有写入权限
mkdir -p /var/lib/ganglia/rrds chown ganglia:ganglia /var/lib/ganglia/rrds
修改 gMetad 的配置文件参数
vi /etc/ganglia/gMetad.conf data_source "Ganglia Test Setup" 60 FQDN Name of Ganglia Server:8649 setuid_username "ganglia" case_sensitive_hostnames 0
注意:将“FQDN Name of Ganglia Server”替换为你的DNS服务名称
修改 gmond 的配置文件参数
vi /etc/ganglia/gmond.conf user = ganglia cluster { name = "Ganglia Test Setup" owner = "ganglia" latlong = "unspecified" url = "unspecified" } udp_send_channel { host = FQDN Name of Ganglia Server port = 8649 ttl = 1 } udp_recv_channel { port = 8649 } tcp_accept_channel { port = 8649 }
注意:将“FQDN Name of Ganglia Server”替换为你的DNS服务名称
复制 python 依赖
mkdir -p /usr/local/lib64/ganglia/python_modules cp ./gmond/python_modules/*/*.py /usr/local/lib64/ganglia/python_modules
至此,有关gmond、gMetad的配置已经完成,启动它们的服务:
service gmond start service gMetad start
通过以下命令来查看服务是否启动正常
ps -ef | grep -v grep | grep gm netstat -plane | egrep 'gmon|gme'
会看到一下信息,表示服务正在运行:
ganglia 40661 1 0 11:11 ? 00:00:02 /usr/local/sbin/gMetad -c /etc/ganglia/gMetad.conf ganglia 41371 1 0 12:52 ? 00:00:01 /usr/local/sbin/gmond -c /etc/ganglia/gmond.conf ############# tcp 0 0 0.0.0.0:8651 0.0.0.0:* LISTEN 506 10953496 40661/gMetad tcp 0 0 0.0.0.0:8652 0.0.0.0:* LISTEN 506 10953497 40661/gMetad tcp 0 0 0.0.0.0:8649 0.0.0.0:* LISTEN 506 10971994 41371/gmond udp 0 0 172.30.4.252:47764 172.30.4.252:8649 ESTABLISHED 506 10971996 41371/gmond udp 0 0 0.0.0.0:8649 0.0.0.0:* 506 10971993 41371/gmond unix 2 [ ] DGRAM 10971950 41371/gmond
部署 ganglia web
安装 httpd、PHP
使用yum安装会显得非常简单:
yum -y install httpd PHP
安装 ganglia-web
cd /var/local/src tar zxpf ganglia-web-3.6.2.tar.gz cd ganglia-web-3.6.2
修改另外配置文件
vi conf.PHP $conf['gweb_confdir'] = "/opt/app/ganglia/ganglia-web"; $conf['gMetad_root'] = "/opt/app/ganglia"; $conf['rrds'] = "${conf['gMetad_root']}/rrds"; vi header.PHP ini_set('date.timezone','PRC'); cd ./dwoo mkdir cache compiled chmod 777 cache chmod 777 compiled
复制到httpd
cd ../ mkdir /var/www/html/ganglia cp -r ./* /var/www/html/ganglia/
启动服务
service httpd start
如果想添加节点到监控集群中,只需在机器中按照上面的步骤部署gmond服务即可
之后就可以通过访问http://(your host)/ganglia
查看监控界面: