ganglia试用

ganglia是一个使用比较广泛的网络监控组件,可以用于集群中多台机器的内存、硬盘、CPU使用情况的监控。

在ganglia看来,一个集群是由N台机器组成的,而这N台机器又有m个分组(不同的分组可以认为属于不同的网段的机器)。它是基于这样的理念进行监控的。

ganglia重要的组成部分有3个:

gmond:它会运行在集群的每一台机器上,监控本机器的情况,并且将情况广播;同时它也会监听到其他gmond广播的信息,从而同步到其他机器的情况。所以,分组中每一个gmond对于机器的了解情况会是相同的。

gmetad:统计来自gmetad和gmond的信息,并将其持久化。由于一个分组内的gmond对于机器的了解会是相同的,所以gmetad不需要跟集群中的n台机器进行交互,而只需要跟m台(即一个分组选一台gmond进行交互)机器进行交互即可。

ganglia-web:用php开发的web,可以展示对于机器的cpu,内存,硬盘进行监控的统计图表。

下面详细描述一下ganglia的安装过程:

1.安装rrdtool
sudo yum install rrdtool
sudo yum install rrdtool-devel

2.安装apr
sudo yum install apr
sudo yum install apr-devel

3.安装libconfuse
wget http://download.savannah.gnu.org/releases/confuse/confuse-2.7.tar.gz  
tar -zxvf confuse-2.7.tar.gz
cd confuse-2.7/
./configure CFLAGS=-fPIC --disable-nls --prefix=/home/pijing/confuse
make  
make install
cd /home/pijing/confuse
mkdir lib64
cp -R lib/* lib64/
并在LD_LIBRARY_PATH中加入/home/pijing/confuse/lib

4.安装expat
sudo yum install expat
sudo yum install expat-devel

5.安装pcre
sudo yum install pcre
sudo yum install pcre-devel


安装完上述依赖后,再开始编译安装ganglia:
./configure --prefix=/home/pijing/ganglia --with-gmetad --enable-gexec --with-libconfuse=/home/pijing/confuse
make
sudo make install(需要sudo权限)

进入/home/pijing/ganglia/sbin
运行
./gmond -t>/home/pijing/ganglia/etc/gmond.conf
即可以生成gmond.conf默认文件(在/home/pijing/ganglia/etc目录下)

然后:
sudo mkdir /var/lib/ganglia
sudo mkdir /var/lib/ganglia/rrds
sudo chown nobody:nobody /var/lib/ganglia
sudo chown nobody:nobody /var/lib/ganglia/rrds
建立的目录用于存储ganglia监控得到的数据。

最后,如果需要使用ganglia-web,可以单独下载ganglia-web的tar包。并安装好apache2.2和php5.4.10,将ganglia-web解压到apachehttpd.conf指定的web目录下。
需要修改之处为:
修改conf.php:
#$conf['gweb_confdir'] = "/var/lib/ganglia-web";    //注释掉
$conf['gweb_confdir'] = "/home/pijing/workspace/ganglia";

#$conf['gmetad_root'] = "/var/lib/ganglia";   //注释掉
$conf['gmetad_root'] = "/home /pijing/ganglia";

修改header.php:
<?php
session_start();
ini_set('date.timezone', 'PRC');  //添加,-修改时区为本地时区

最后,运行:
sudo /home/pijing/ganglia/sbin/gmond start
sudo /home/pijing/ganglia/sbin/gmetad start
/home/pijing/apache2.2/bin/httpd -k start

然后访问相应的url即可以看到关于memory,disk等的监控统计图表。

ganglia试用_第1张图片


另外,bin下有gstat可以用命令行查看机器的监控信息。

监控数据都存储在/var/lib/ganglia/rdds中,也可以了解下,知道如何读取以便使用。

gmond和gmetad都是用C语言开发的,ganglia-web是用php开发的。然后gmond的监控指标也可以通过C/python进行扩展。

你可能感兴趣的:(ganglia试用)