0 Ganglia 简介和特点:
Ganglia 是 UC Berkeley 发起的一个开源监视项目,设计用于测量数以千计的节点。是一款CS结构软件。 特点: a) 良好的扩展: 每台计算机都运行一个收集和发送度量数据(如处理器速度、内存使用量等)的名为 gmond 的守护进程。 它将从操作系统和指定主机中收集。 接收所有度量数据的主机可以显示这些数据并且可以将这些数据的精简表单传递到层次结构中。 正因为有这种层次结构模式,才使得 Ganglia 可以实现良好的扩展。 b) 消耗资源少: gmond 带来的系统负载非常少,这使得它成为在集群中各台计算机上运行的一段代码,而不会影响用户性能。
一、Ganglia组件
Ganglia 监控套件包括三个主要部分:gmond,gmetad,和网页接口,通常被称为ganglia-web。 Gmond(客户端):是一个守护进程,他运行在每一个需要监测的节点上,收集监测统计,发送和接受在同一个组播或单播通道上的统计信息 如果他是一个发送者(mute=no)他会收集基本指标,比如系统负载(load_one),CPU利用率。他同时也会发送用户通过添加C/Python模块来自定义的指标。 如果他是一个接收者(deaf=no)他会聚合所有从别的主机上发来的指标,并把它们都保存在内存缓冲区中。 Gmetad(服务端):也是一个守护进程,他定期检查gmonds,从那里拉取数据,并将他们的指标存储在RRD存储引擎中。他可以查询多个集群并聚合指标。他也被用于生成用户界面的web前端。 Ganglia-web :顾名思义,他应该安装在有gmetad运行的机器上,以便读取RRD文件。 集群是主机和度量数据的逻辑分组,比如数据库服务器,网页服务器,生产,测试,QA等,他们都是完全分开的,你需要为每个集群运行单独的gmond实例。 一般来说集群中每个节点需要一个接收的gmond,每个网站需要一个gmetad。
如下步骤 2-5,是需要在客户端,服务端都需要安装。
准备三个节点,都可以访问外网 h2single(即做主 有做从) h2single112从 h2single113从
二、安装依赖
注:建议使用超级用户安装
1.#yum install –y gcc gcc-c++ libpng freetype zlib libdbi apr* libxml2-devel pkg-config glib pixman pango pango-devel freetye-devel fontconfig cairo cairo-devel libart_lgpl libart_lgpl-devel pcre* rrdtool*
三、安装expat依赖
1.#cd /root
2.#wget http://jaist.dl.sourceforge.net/project/expat/expat/2.1.0/expat-2.1.0.tar.gz
3.#tar -xf expat-2.1.0.tar.gz && cd expat-2.1.0 && ./configure --prefix=/usr/local/expat && make && make install && cd ..
对于64位操作系统,需要手动的拷贝下动态链接库到lib64下
1.#mkdir /usr/local/expat/lib64 && cp -a /usr/local/expat/lib/* /usr/local/expat/lib64/
四、安装confuse
1.#wget http://ftp.twaren.net/Unix/NonGNU//confuse/confuse-2.7.tar.gz
2.#tar -xf confuse-2.7.tar.gz && cd confuse-2.7 && ./configure CFLAGS=-fPIC --disable-nls --prefix=/usr/local/confuse && make && make install && cd ..
64bit机器需要拷贝动态链接库:
1.#mkdir -p /usr/local/confuse/lib64 && cp -a -f /usr/local/confuse/lib/* /usr/local/confuse/lib64/
五、安装ganglia
1.#wget http://jaist.dl.sourceforge.net/project/ganglia/ganglia%20monitoring%20core/3.6.0/ganglia-3.6.0.tar.gz
2.#tar -xf ganglia-3.6.0.tar.gz && cd ganglia-3.6.0 && ./configure --with-gmetad --enable-gexec --with-libconfuse=/usr/local/confuse --with-libexpat=/usr/local/expat --prefix=/usr/local/ganglia --sysconfdir=/etc/ganglia && make && make install && cd ..
六、服务端配置
创建rrdtool数据目录,看$ganglia-3.2.0/web/conf.php里面的gmetad_root变量,并根据apache的运行用户创建权限,例如apache运行于apache用户上 (这句话可以不看 直接执行下面命令)
1.#mkdir -p /var/lib/ganglia/rrds && mkdir -p /var/lib/ganglia/dwoo && chown -R root:root /var/lib/ganglia
2 配置一个数据源,修改/etc/ganglia/gmetad.conf文件,修改如下部分:
2.1. data_source "my cluster" localhost 修改为:
data_source "h2single" 192.168.1.221:8649
2.2. # setuid_username "nobody" 修改为: 表示是用root用户操作
setuid_username "root"
说明:这里的 " h2single " 表示的是集群的名称,后面的内容是这个集群中所包含的主机信息,也就是要监控的主机ip。
3 添加自启动脚本
3,.1.#cp -f ganglia-3.6.0/gmetad/gmetad.init /etc/init.d/gmetad && cp -f /usr/local/ganglia/sbin/gmetad /usr/sbin/gmetad && chkconfig --add gmetad
4启动gmetad服务
4.1.#service gmetad start
看见Starting GANGLIA gmetad: [ OK ]就代表运行正常了。 通过telnet localhost 8651验证gmetad是否正常
七、客户端配置(gmond节点)
本机安装如下:
1.#cp -f ganglia-3.6.0/gmond/gmond.init /etc/init.d/gmond && cp -f /usr/local/ganglia/sbin/gmond /usr/sbin/gmond && chkconfig --add gmond && gmond --default_config > /etc/ganglia/gmond.conf
对于生成的默认配置文件/etc/ganglia/gmond.conf需要做适当的修改
globals {
user = root /*运行Ganglia的用户*/
host_dmax = 120 /*secs */
send_metadata_interval = 15 /*发送数据的时间间隔*/
}
cluster {
name = "h2single" /*集群主节点名称*/
owner = "root" /*运行Ganglia的用户*/
}
udp_send_channel {
# mcast_join = 239.2.11.71 /*注释掉组播*/
host = 192.168.1.221/*发送给安装gmetad主节点*/
}
udp_recv_channel { #接受UDP包配置
# mcast_join = 239.2.11.71
# bind = 239.2.11.71
}
其中name是将要在服务端进行的分组,是服务端的数据源。
将gmond.conf拷贝到 h2single112 h2single113节点上
接下来去从三个节点上开启服务
1.#service gmond start
1.#service gmond status 查看是否成功
看见Starting GANGLIA gmetad: [ OK ]代表启动成功。如果有失败,
可以讲gmond.conf中的debug从0改为100,看更多的日志,然后进行排查。
八、服务端的WEB配置(web通常配置在服务端)
PHP程序需要依赖Apache来运行,因此需要安装如下依赖
1.# yum -y install php httpd
2.# service httpd start //启动httpd 服务
九、测试安装是否成功
1.# vi /var/www/html/index.php
输入:
<?php phpinfo();?>
保存,然后浏览器 h2single/index.php
正常是看到php的信息。入下所示:
1.#cd /root
2.#wget http://jaist.dl.sourceforge.net/project/ganglia/ganglia-web/3.5.10/ganglia-web-3.5.10.tar.gz
3.#tar -xf ganglia-web-3.5.10.tar.gz && cd ganglia-web-3.5.10 && make install && cd ..
这样 在/var/www/html/下 生成了 ganglia 目录、
如下所示:
10 遇到的错误:
注:
Ganglia访问失败:
There was an error collecting ganglia data (127.0.0.1:8652): fsockopen error: Permission denied
解决:
需要关闭selinux:vi /etc/selinux/config,把SELINUX=enforcing改成SELINUX=disabled;需要重启机器。
可以使用命令setenforce 0来关闭selinux而不需要重启,刷新页面,即可访问。但此方法只是一权宜之计。要想永久修改selinux设置,还是要使用第一种方法。
这里使用第一种方法 会出现 http://jingyan.baidu.com/article/e9fb46e19c73167521f76681.html的错误,
请看这个链接错误和处理方式。
重启httpd服务器即可看到效果
1.#service httpd restart
使用http://h2single/ganglia查看对应的ganglia信息。(注:h2single为运行gmetad的主机的hostname)
报错处理方式参考链接:
http://rscpass.blog.51cto.com/771159/1289876/
http://www.2cto.com/os/201308/237573.html
11 ganglia 命令:
服务端命令
#service gmetad start
#service gmetad status
#service gmetad stop
#service gmetad restart
客户端命令
#service gmond start
#service gmond status
#service gmond stop
#service gmond restart
相关推荐
### Ganglia安装与配置详解 #### 一、前言 Ganglia是一种分布式监控系统,主要用于监测集群中的各个节点的状态,比如CPU使用率、内存占用情况等。它能够有效地帮助管理员掌握系统的整体运行状况,及时发现潜在的...
### Ganglia 安装与配置详解 #### 一、Ganglia简介 Ganglia 是一个高性能、可扩展的分布式监控系统,它主要用于监控大型计算集群的资源使用情况。Ganglia 可以实时地收集并展示服务器节点的 CPU 使用率、内存使用量...
### Ganglia安装与配置详解 #### 一、Ganglia简介 Ganglia是一个用于监控高性能计算集群(HPC)的开源系统。它能够收集、分析并展示集群中各节点的资源利用情况,如CPU使用率、内存使用量、磁盘空间等。Ganglia的...
《Ganglia安装配置详解》 Ganglia是一款开源的分布式监控系统,它能够收集并显示网络中的各种节点(如服务器、工作站等)的性能数据,包括CPU使用率、内存使用情况、磁盘I/O、网络流量等。本文将详细介绍在Red Hat ...
### 云监控Ganglia安装步骤详解 #### 一、环境准备 为了确保Ganglia在CentOS 6.4环境中正确安装与运行,我们首先需要了解并准备好所需的硬件及软件环境。 **主机配置信息** - **duangr-1(主节点)** - IP: 192...
零基础Ganglia安装教程,详细介绍安装过程
在Linux环境中,通常通过RPM(Red Hat Package Manager)包来安装Ganglia。RPM是一种软件包管理器,它使得软件的安装、升级和卸载过程变得简单。 在这个场景中,提到的四个RPM包分别是: 1. `yum-3.2.29-40.el6....
在本文中,我们将详细探讨Ganglia的安装过程以及CGILIB的相关知识。 首先,我们来看如何在Linux环境中通过YUM安装Ganglia。YUM(Yellowdog Updater, Modified)是Fedora和RHEL系列操作系统中常用的包管理器,它能...
本教程将详细讲解Ganglia的安装过程,以及所需的依赖和软件包。 一、Ganglia依赖 在安装Ganglia之前,必须确保系统中已经安装了以下关键依赖项: 1. **编译工具**:如GCC,用于编译源代码。通常,这些工具在`...
在安装Ganglia之前,你需要了解以下关键知识点: 1. **系统要求**:Ganglia适用于多种操作系统,包括Linux(如Ubuntu、CentOS)、FreeBSD等。确保你的服务器支持这些操作系统,并且是最新稳定版本。 2. **组件组成...
在本文中,我们将详细探讨如何在CentOS 6.6环境下安装Ganglia监控系统,这是一个广泛用于Linux集群性能监控的开源工具。首先,我们确保系统是64位的CentOS基本服务器版本。 1. **Ganglia简介** Ganglia是一个...
3. **安装Ganglia**: 使用`yum install`或`rpm -ivh`命令安装Ganglia的RPM包,包括gmetad、gmond及相关依赖。 4. **配置Gmond**: 修改`/etc/ganglia/gmond.conf`,配置gmond监听的端口、上报数据的gmetad地址以及...
expat是一个用C语言编写的XML解析器库,是Ganglia安装所需的基础之一。 ``` wget http://downloads.sourceforge.net/project/expat/expat/2.1.0/expat-2.1.0.tar.gz tar -zvxf expat-2.1.0.tar.gz cd expat-2.1.0 ....
本安装文档将指导你如何在基于CentOS 5.6的环境中安装Ganglia来监控Hadoop集群。 首先,确保你的系统满足必要的依赖。在开始安装前,需要安装一些基础的开发库,如zlib、freetype、libart_lgpl和libpng。你可以通过...
5. **安装和启动服务**:使用`make install`将Ganglia安装到系统中。然后,启动Gmetad(数据聚合服务器)和Gmond(数据收集代理)。在Debian/Ubuntu上: ``` sudo make install sudo service gmond start sudo ...
这里包括ganglia安装需要的所有安装包,源码安装,包括教程,亲自在centos上测试可以安装,在编译ganglia时需要将/usr/local/apr/include/apr-1下的所有文件拷贝到/usr/local/apr/include/下才可以成功哦!
在所有依赖安装完成后,可以继续安装Ganglia本身,配置相应的`gmond.conf`和`gmetad.conf`文件以适应特定的集群环境。安装完成后,启动gmond和gmetad服务,并确保它们能够正确通信和更新数据。 总之,Ganglia是一个...
### 在CentOS 6.2 64位系统上安装Ganglia-3.4 #### 一、环境准备 为了确保安装过程顺利进行,首先需要确保系统的基础环境已搭建好,包括Apache服务器、PHP环境等。以下是安装Ganglia前的一些基本步骤: 1. **安装...
测试Ganglia安装是否成功,可以通过访问Web界面查看。如果能正常显示各个节点的状态和性能数据,那么Ganglia监控系统就已经成功安装并运行。总的来说,Ganglia提供了一个高效、可扩展的分布式监控解决方案,对于大型...
三、Ganglia安装与配置 1. **系统准备**:确保所有节点都安装了必要的库,如开发工具、PHP、RRDTool等。 2. **安装gmond**:在所有节点上安装gmond,配置文件`/etc/ganglia/gmond.conf`需指定集群名称、端口等信息...