码迷,mamicode.com
首页 > 其他好文 > 详细

ganglia的搭建以及添加被监控主机

时间:2016-02-29 20:04:09      阅读:551      评论:0      收藏:0      [点我收藏+]

标签:ganglia安装、添加监控主机

一、Ganglia的简介     

   Ganglia是UC Berkeley发起的一个开源集群监视项目,设计用于测量数以千计的节点。Ganglia的核心包含gmond、gmetad以及一个Web前端。主要 是用来监控系统性能,如:cpu 、mem、硬盘利用率, I/O负载、网络流量情况等,通过曲线很容易见到每个节点的工作状态,对合理调整、分配系统资源,提高系统整体性能起到重要作用。

   Ganglia由gmond、gmetad和gweb三部分组成

   gmond(Ganglia Monitoring Daemon)是一种轻量级服务,安装在每台需要收集指标数据的节点主机上。gmond在每台主机上完成实际意义上的指标数据收集工作,并通过侦听/通告 协议和集群内其他节点共享数据。使用gmond,你可以很容易收集很多系统指标数据,如CPU、内存、磁盘、网络和活跃进程的数据等。
    gmetad(Ganglia Meta Daemon)是一种从其他gmetad或gmond源收集指标数据,并将其以RRD格式存储至磁盘的服务。gmetad为从主机组收集的特定指标信息提供了简单的查询机制,并支持分级授权,使得创建联合监测域成为可能。
    gweb(Ganglia Web)gweb是一种利用浏览器显示gmetad所存储数据的PHP前端。在Web界面中以图表方式展现集群的运行状态下收集的多种不同指标数据。


二、ganglia的快速安装

安装前提:需要httpd、php服务

1.查看相关依赖包是否已经安装上去

rpm -q gcc glibc glibc-common rrdtool rrdtool-devel apr  apr-devel expat expat-devel  pcre pcre-devel dejavu-lgc-sans-mono-fonts dejavu-sans-mono-fonts
没有安装的安装上去

2.安装相应的包

cd /home/rrdtool
rpm -ivh *.rpm
cd ..
cd ganglia
tar -zxvf expat-2.0.1.tar.gz
cd expat-2.0.1
./configure --prefix=/usr/local/expat
make
make install

cd ..
tar -zxvf apr-util-1.5.4.tar.gz
cd apr-util-1.5.4
./configure --with-apr=/usr/local/apr --with-expat=/usr/local/expat
make
make install

cd ..
tar -zxvf confuse-2.6.tar.gz
cd confuse-2.6
./configure CFLAGS=-fPIC --disable-nls --prefix=/usr/local/confuse
make
make install
cd ..
tar -zxvf pcre-8.12.tar.gz
cd pcre-8.12
./configure
make
make install
cd ..

3.安装gmetad(主节点)

tar zxvf ganglia-3.5..tar.gz
cd ganglia-3.1.7
./configure --prefix=/usr/local/ganglia --with-librrd=/usr/local/rrdtool --with-libapr=/usr/local/apr --with-libexpat=/usr/local/expat --with-libconfuse=/usr/local/confuse --with-python=/usr/local/lib/python2.7  --with-gmetad --enable-gexec --enable-status --sysconfdir=/etc/ganglia
make
make install
mkdir -p /var/lib/ganglia/rrds
chown -R nobody:nobody /var/lib/ganglia/rrds
cp gmetad/gmetad.init /etc/init.d/gmetad
cp /usr/local/ganglia/sbin/gmetad /usr/sbin/
chkconfig --add gmetad
cd /home/ganglia-web
rpm -ivh *.rpm
#cp gmond/gmond.init /etc/init.d/gmond
#cp /usr/local/ganglia/sbin/gmond /usr/sbin/
#mkdir -p /etc/ganglia
#gmond --default_config>/etc/ganglia/gmond.conf
#chkconfig --add gmond

4.安装gmontd(各个节点)

cd ./ganglia-gmond/ganglia_dep
rpm -ivh *.rpm
tar zxf confuse-2.7.tar.gz
cd confuse-2.7
./configure CFLAGS=-fPIC --disable-nls
make && make install
mkdir /usr/local/confuse/lib64
cd ..
tar -zxvf zlib-1.2.3.tar.gz
cd zlib-1.2.3
./configure
make && make install
cd ../../
tar zxvf ganglia-3.6.0.tar.gz
cd ganglia-3.6.0
./configure --prefix=/usr/local/ganglia --enable-gexec --with-python=/usr/local
make && make install
cp gmond/gmond.init /etc/init.d/gmond
cp /usr/local/ganglia/sbin/gmond /usr/sbin
mkdir -p /usr/local/ganglia/etc
./gmond/gmond -t > /usr/local/ganglia/etc/gmond.conf
cp -r ../conf.d /usr/local/ganglia/etc
cp -f ../gmond.conf /usr/local/ganglia/etc
chkconfig --add gmond
cd ..
cp modpython.so /usr/local/ganglia/lib64/ganglia
mkdir -p /usr/lib64/ganglia/python_modules
cp temp.py  /usr/lib64/ganglia/python_modules
cd psutil-0.6.1 && python setup.py install
service gmond start

5.配置httpd

添加如下代码,并启动httpd服务

[root@cjx conf]# vim httpd.conf
[root@cjx conf]# cd /etc/httpd/conf

# ganglia
Alias /ganglia "/export/home/ganglia/ganglia-web-3.5.10"
<Directory "/export/home/ganglia/ganglia-web-3.5.10">
     AuthType Basic
     Options None
     AllowOverride None
     Order allow,deny
     Allow from all
</Directory>

6.打开ganglia-web界面就可以看到监控界面

http://localhostIP/ganglia

7.添加监控主机

根据上面的gmond(客户端)的安装方法,安装好gmond

在 gmetad配置文件添加需要监控的主机

技术分享

修改被监控主机配置

# cd /usr/local/ganglia/etc
# vim gmond.conf
cluster {  name = "my cluster"  owner = "nobody"  latlong = "unspecified"  url = "unspecified"}

技术分享

8.打开ganglia-web界面可以看到被添加的主机已经成功添加上去

技术分享

本文出自 “9470860” 博客,请务必保留此出处http://9480860.blog.51cto.com/9470860/1746122

ganglia的搭建以及添加被监控主机

标签:ganglia安装、添加监控主机

原文地址:http://9480860.blog.51cto.com/9470860/1746122

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!