Ganglia是一个监控服务器,集群的开源软件,能够用曲线图表现最近一个小时,最近一天,最近一周,最近一月,最近一年的服务器或者集群的cpu负载,内存,网络,硬盘等指标。
Ganglia的强大在于:ganglia服务端能够通过一台客户端收集到同一个网段的所有客户端的数据,ganglia集群服务端能够通过一台服务端收集到它下属的所有客户端数据。这个体系设计表示一台服务器能够通过不同的分层能够管理上万台机器。这个功能是其他mrtg,nagios,cacti所不能比拟。
Ganglia的扩展插件非常好写,无论用何种语言(shell,php,pyton)都可以写,只要把最终结果传给gmetric就可以,这样在web上就可以看到对应的数据。
0. 准备
最新的ganglia版本为3.2.0,但是我推荐安装ganglia3.0.3,因为这个版本安装比较简单,依赖包只有rrdtool。而新版本依赖包太多。
官方网站:http://ganglia.info
ganglia的下载地址 http://sourceforge.net/projects/ganglia
windows版windows客户端版和ganglia 源包:
:http://www.sajinet.com.pe/ganglia/
http://sourceforge.net/project/showfiles.php?group_id=43021&package_id=35280
ganglia的安装分为服务端和客户端和web端安装
文档帮助: http://ganglia.sourceforge.net/docs/
1) 服务端依赖包
Ganglia里的gmetad
Rrdtool(这个依赖很多包,ganglia对于rrdtool的版本不敏感,最好选择比较好安装的版本安装)
2) 客户端
ganglia里的gmond
3) Web端:
Apache,php,rrdtool,php-gd(可不用装,不装的话只是看不到一张饼图,不影响使用)
1.服务端安装 (gmetad)
服务端的服务为gmetad,安装前需要先安装RRDTool(数据库和绘图工具,服务端收集的客户端信息由其来保存),因为要绘制曲线图,所以安装RRDTool前,还必须安装好libpng,freetype,zlib这些库(也是php的gd库需要的),下载地址http://www.rrdtool.org/ 。
安装完了RRDTool,就可以安装gmetad了
点击(此处)折叠或打开
tar –zxvf ganglia3.0.3.tar.gz
cd ganglia3.0.3
./configure CFLAGS="-I/usr/local/rrdtool-1.0.50/include" CPPFLAGS="-I/usr/local/rrdtool-1.0.50/include" LDFLAGS="-L/usr/local/rrdtool-1.0.50/lib" --with-gmetad --enable-gexec
make
make install
将gmetad.init文件拷贝到 /etc/init.d/:
点击(此处)折叠或打开
cd ganglia-3.0.3/gmetad
cp gmetad.init /etc/init.d/gmetad #若是ganglia安装在别的目录,则修改gmetad.init里的gmetad路径
cp gmetad.conf /etc/gmetad.conf
chkconfig gmetad on
chkconfig --list gmetad
GMETAD 0:off 1:off 2:on 3:on 4:on 5:on 6:off
创建rrd数据存储的文件夹, 修改属性拥有者为: "nobody":
点击(此处)折叠或打开
mkdir /var/lib/ganglia/rrds
chown nobody:nobody /var/lib/ganglia/rrds
启动gmetad:
点击(此处)折叠或打开
service gmetad start
Starting GANGLIA gmetad: [ OK ]
修改 /etc/gmetad.conf文件:
点击(此处)折叠或打开
data_source "taskcenter" 1.2.3.4 #所要监控的客户端 可以写多个
setuid_username "root" #可改为其他安全用户
# default: "/var/lib/ganglia/rrds" #定义该客户端的数据保存的路径
# rrd_rootdir "/some/other/place"
rrd_rootdir "/var/lib/ganglia/rrds"
重新启动gmetad:
点击(此处)折叠或打开
service gmetad start
Starting GANGLIA gmetad: [ OK ]
验证gmetad正常工作:
点击(此处)折叠或打开
telnet localhost 8651
就可以得到监控的各个主机的状态。
2.安装客户端gmond2.1 linux版
在每台需要监控的机器上,安装gmond
安装ganglia:
点击(此处)折叠或打开
tar zxvf ganglia-3.0.3.tar.gz
cd ganglia-3.0.3
./configure --prefix=/usr/local/ganglia
make;
make install
cd gmond
./gmond –t > /etc/gmond.conf
点击(此处)折叠或打开
vi gmond.init
修改里面的GMOND 改为GMOND=/usr/local/ganglia/sbin/gmond
# cp gmond.init /etc/init.d/gmond
# chkconfig --add gmond
# chkconfig --list gmond
gmond 0:off 1:off 2:on 3:on 4:on 5:on 6:off
# service gmond start
Starting GANGLIA gmond: [ OK ] #若不成功的话,就用/usr/local/ganglia/sbin/gmond手动启动
启动失败有可能是因为多播地址没有路由
点击(此处)折叠或打开
route add -host 239.2.11.71 dev eth0
验证gmond正常工作:
点击(此处)折叠或打开
telnet localhost 8649
就可以获取机群内运行gmond的主机的信息
vi /etc/gmond.conf
配置gmond.conf:
点击(此处)折叠或打开
/etc/gmond.conf:
globals
{
setuid = no
user = nobody
cleanup_threshold = 300 /*secs */
}
#修改监控组名称
cluster
{
name = "taskcenter"
.......}
配置完成后重新启动gmond
2.2 window版
下载:http://www.sajinet.com.pe/ganglia/ganglia-3.1.0-bin.zip
解压后,运行gmond.bat
测试:telnet 127.0.0.1 8649
安装自启动:把gmond.bat加到启动项中
3.web端安装
web端用于通过web来查看监控状态。
因为web端程序是php写的,所以需要安装apache。同时需要编译php的gd库。web端需要和服务器端在一块。
# cp -a ganglia-3.0.3/web /var/www/html/ganglia
确定web server支持PHP4
对apache来说,php模块mod_php的状态应该是enabled,貌似默认就是的^_^
配制文件是/var/www/html/ganglia/conf.php
点击(此处)折叠或打开
# Where gmetad stores the rrd archives.
$gmetad_root = "/var/lib/ganglia";
$rrds = "/usr/local/rrdtool-1.0.50/"; #数据源路径
# Leave this alone if rrdtool is installed in $gmetad_root,
# otherwise, change it if it is installed elsewhere (like /usr/bin)
define("RRDTOOL", "/usr/local/rrdtool-1.0.50/bin/rrdtool"); # rrdtool执行路径
#
# If you want to grab data from a different ganglia source specify it here.
# Although, it would be strange to alter the IP since the Round-Robin
# databases need to be local to be read.
#
$ganglia_ip = "localhost";
$ganglia_port = 8652;
#$ganglia_port = 8649;
在浏览器地址栏输入http://localhost/ganglia/应该可以看到有页面显示了。
演示地址 伯克利大学的集群监控(1000多台服务器):
http://monitor.millennium.berkeley.edu/
访问web出现图片画不出来的原因:
1) rrdtool没有安装,或者conf.php里没有配置
2) gemtad没有启动
3) 没有客户端数据
4) Selinux限制apache执行rrdtool
另外ganglia还有很多插件可以监控更多的指标
其中有一个插件,安装后可以查看任意时间的曲线图
转自:
相关推荐
Ganglia是一款开源的分布式监控系统,用于集群和网格环境,可以实时监控网络中的各种性能数据,包括CPU使用率、内存使用情况、网络流量、磁盘I/O等。这款工具因其轻量级的设计和强大的数据聚合能力而在IT行业中受到...
总结,Ganglia监控系统的安装是一个涉及多个步骤的过程,需要对系统环境、依赖软件、配置文件有深入理解。通过正确的安装和配置,Ganglia能够有效地帮助我们监控和管理分布式环境的性能,为故障排查和性能优化提供...
这款系统基于多种开源监控软件,如collectd,同时支持Filedata、Ganglia、Nagios、Stress和Zabbix等插件,以实现更广泛的监控和扩展功能。 1. **Collectd插件** Collectd是LustrePerfMon的核心组件,它作为一个...
Zabbix分布式监控配置使用手册v3 Zabbix是企业级的开源分布式监控解决方案,能够监视...可以借助开源监控软件例如Zabbix、Cacti、Nagios、Ganglia等来实现对网站的7x24小时的监控,并且做到有故障及时报警通知SA解决。
8. **Ganglia监控手册-1.docx**:与上述Ganglia手册相辅相成,可能包含其他监控方面的内容。 9. **datax产品管理手册模板.docx**:可能是DataX产品的管理模板,用于指导团队如何管理和维护DataX项目,包括版本控制...
手册会讲解如何集成Zabbix、Ganglia等监控工具,实时监控集群的CPU、内存、磁盘和网络状态,以及如何配置日志聚合工具如Flume和Logstash,收集并分析集群的日志信息,以便于快速定位和解决问题。 安全性是大数据...
系统资源监控工具如Ganglia、Nagios、Prometheus可远程监控多台服务器。 八、安全与审计 Linux的安全措施包括SELinux(强制访问控制)、AppArmor、防火墙等。SSH(安全外壳协议)提供加密的远程登录。审计系统记录...
7. **集群监控与日志管理**:了解如何配置和使用Hadoop自带的监控工具,如Nagios、Ganglia,以及日志聚合工具Flume和Scribe,以便于监控集群状态和调试问题。 8. **故障排查**:提供常见问题及解决方案,帮助用户...
8. **监控和维护**:安装和配置监控工具,如Ganglia或Ambari,以便实时查看集群性能和健康状况。定期检查日志,确保所有服务运行正常。 集群搭建完成后,开发者和数据分析师可以利用Hadoop处理PB级别的数据,进行...
Hadoop作为一款开源软件框架,被广泛应用于大规模数据处理之中。而EasyHadoop则是在Hadoop基础上进行优化与封装的工具集,旨在简化大数据处理流程,降低学习和使用的门槛。 EasyHadoop通过集成一系列实用功能模块,...
- 集群监控系统: Ganglia。 **1.4 文件系统** - 所有计算节点(除console外)通过NFS挂载console的/export目录,所有节点的/home目录指向/export/home。由于文件系统性能有限,建议避免运行大规模并行或复杂I/O的...
4. **监控与调优**:使用HBase自带的监控工具或第三方工具(如Ganglia、Prometheus)监控系统性能,根据监控结果调整参数。 5. **数据压缩**:启用数据压缩可以减少存储空间,同时降低网络传输量,提高性能。HBase...
1. **Hadoop基础**:Hadoop是Apache软件基金会开发的一个开源框架,主要用于存储和处理大规模数据。它基于分布式计算模型,能够高效地处理PB级别的数据。Hadoop由两个主要部分组成:Hadoop Distributed File System ...
- **Ansible**: 无需在目标机器上安装任何软件即可进行自动化部署。 - **Puppet**: 通过定义基础设施即代码的方式进行配置管理。 - **Chef**: 另一种流行的配置管理工具,支持多种环境。 - **容器化与虚拟化** ...