一、Ganglia分布式监控系统简介
Ganglia是UC Berkeley发起的一个开源集群监视项目。它主要是用来监控系统性能,如:CPU 、Memory、硬盘利用率, I/O负载、网络流量情况等。Ganglia通过图形化的方式展示每个节点的状态信息,这对合理调整、分配系统资源,提高系统整体性能起到重要作用。Ganglia包含三个核心组件:Ganglia Monitoring Daemon(gmond)、Ganglia
Meta Daemon(gmetad)以及Ganglia PHP Web Frontend。
Gmond组件
Gmond组件部署于集群中各个被监控的节点。其主要功能是从操作系统或指定的主机收集状态信息。其收集主机状态信息的方式灵活,状态信息均以XML格式进行传输。Gmond组件可以级联形成层次结构,这种层次结构使得Ganglia拥有良好的可扩展性。另外,Gmond组件带来的系统负载非常少,对用户的影响非常小。Gmond组件的工作模式有两种:单播和多播。单播模式下,Gmond组件发送其收集的主机状态信息到指定的一个或多个节点,可以跨网段;多播模式下,Gmond组件发送其监控的主机状态信息到同一网段内的所有节点,同时还接收同一网段内其他节点发送的状态信息。
Gmetad组件
Gmetad组件可以部署于集群中的某一节点,也可以部署于集群外的某一专门服务器,其主要功能是周期性地从指定的Gmond组件或其他Gmetad组件拉取数据,并将拉取的数据存储在本地数据库。这些存储的状态信息供Ganglia-Web组件使用。
Ganglia-Web组件
Ganlgia-Web组件和Gmetad组件须部署于同一节点,它通过数据库轮询的方式从Gmetad组件中获取状态信息,并以web形式图形化地展示各个节点的状态信息。
Overview of Ganglia Node
Details of Ganglia Node
Ganglia Cluster Data Flow
二、CentOS下搭建Ganglia分布式监控系统
1、安装依赖
1) Ganglia依赖于以下系统软件包,请先检查这些软件包是否正确安装。所缺软件包建议通过YUM源方式安装。安装这些包,需要CentOS-Base.repo。后续安装步骤中可能用到源epel.repo。
yum install apr-develapr-util check-devel cairo-devel pango-devel libxml2-devel rpmbuild glib2-develdbus-devel freetype-devel fontconfig-devel gcc-c++ expat-devel python-devellibXrender-devel
2) 安装confuse
rpm –ivhlibconfuse-2.6-2.el5.rf.x86_64.rpm
rpm –ivhlibconfuse-devel-2.6-2.el5.rf.x86_64.rpm
tar zxvf confuse-2.7.tar.gz
./confuse-2.7/configure CFLAGS=-fPIC --disable-nls
./confuse-2.7/make&& make install
在以源码编译方式安装confuse时,如果环境是64位操作系统,则configure参数不可以省略,否则源码编译安装Ganglia时会出错。
3) 安装RRDTool(Ganglia依赖于RRDTool数据库轮询工具来更新Ganglia-Web页面)
tar zxvfrrdtool-1.4.6.tar.gz
./rrdtool-1.4.6/configure--prefix=/usr
./rrdtool-1.4.6/make&& make install
在以源码编译方式安装时,configure的参数--prefix用来指定安装目录,便于后续安装指定路径。
4) 安装Apache+PHP(仅gmetad组件和ganglia-web组件所在节点须配置此项)
yum install httpd php apr
2、安装Ganglia
安装前请先检查/usr/include/rrd.h和/usr/lib/librrd.a文件是否存在。如不存在,可分别创建指向这两个文件的软链接。
yum install gangliaganglia-gmond ganglia-gmetad ganglia-web
tar zxvfganglia-3.4.0.tar.gz
./ganglia-3.4.0/configure--with-gmetad
./ganglia-3.4.0/make&& make install
在以源码编译方式安装时,configure如果不指定参数--with-gmetad则只安装gmond组件。
3、配置Ganglia
1) 获取Ganglia配置文件
- 如果通过YUM源方式安装,则配置文件已自动生成,配置文件存放于/etc目录。
- 如果通过源码编译方式安装,Ganglia的配置信息需要手动生成。
首先需要创建配置文件存储目录
Gmond组件的默认配置文件可自动生成
gmond –t | tee/etc/ganglia/gmond.conf
Gmetad组件的配置文件为源码包中的package/gmetad/gmetad.conf
cp<package>/gmetad/gmetad.conf /etc/ganglia/gmetad.conf
2) 配置文件。不管采用哪种安装方法,其配置方法如下:
/*配置集群信息,主要配置集群名称*/
cluster {
name = "Flume"
owner = "Cooper"
latlong = "unspecified"
url = "unspecified"
}
/*配置UPD发送管道,用于发送UPD单播或多播状态信息*/
udp_send_channel {
host = 111.111.111.***
port = 8649
ttl = 1
}
/*配置UPD接收端口,用于接收其他节点发送到UPD单播或多播状态信息*/
udp_recv_channel {
port = 8649
}
/*配置Gmond组件收集的信息,可配置状态信息采集时间,最大采集时间间隔和监控值阈等*/
/*Gmond组件的状态信息收集项已经默认配置完成,可根据实际需要更改收集时间阈和值阈*/
collection_group {
collect_once = yes
time_threshold = 20
metric {
name = "heartbeat"
}
}
/*配置周期性拉取信息的数据源*/
data_source"Flume" 111.111.111.***:8649
/*可配置拉取周期、拉取节点等,如果gmetad需要拉取多个节点的信息,以空格分隔配置*/
# data_source"cluster" 10 localhost my.machine.edu:8649 1.2.3.5:8655
# data_source"grid" 50 1.3.4.7:8655 grid.org:8651 grid-backup.org:8651
# data_source"source" 1.3.4.7:8655 1.3.4.8
- 配置文件完成后,将gmond和gmetad注册为系统服务
chkconfig –-add gmond
chkconfig –-add gmetad
service gmond start
service gmetad start
service httpd srart
附1、使用Gmetric定制监控信息
Gmetric组件是可选组件,所以配置之前,请确认Gmetric组件已经正确安装。Gmetric组件通过执行定制的脚本,将返回结果返回给Gmond组件。
ll /usr/bin/gmetric
vi/root/gmetric_scripts.sh
chmod 755/root/gmetric_scripts.sh
/root/gmetric_scripts.sh
/*将脚本服务添加到crontab,设置周期性运行*/
crontab –e
/1 * * * * /root/mcd_gmetric.sh
在此提供一个共享的脚本库【猛击这里】
附2、监控Hadoop集群
/*配置Hadoop文件*/
/*这里所配置的IP地址,是指Gmond组件指定的多播地址,不是Gmetad组件所在地节点地址*/
# Configuration of the"dfs" context for ganglia
dfs.class=org.apache.hadoop.metrics.ganglia.GangliaContext
dfs.period=10
dfs.servers=10.224.192.***:8649
# Configuration of the"mapred" context for ganglia
mapred.class=org.apache.hadoop.metrics.ganglia.GangliaContext
mapred.period=10
mapred.servers=10.224.192.***:8649
# Configuration of the"jvm" context for ganglia
jvm.class=org.apache.hadoop.metrics.ganglia.GangliaContext
jvm.period=10
jvm.servers=10.224.192.***:8649
分享到:
相关推荐
Ganglia分布式集群监控系统安装手册 - 千秋大业奋当先 - 博客频道
Ganglia是一款强大的系统状态监控软件,主要用于监测各种性能指标,包括CPU利用率、内存使用、硬盘I/O...总的来说,Ganglia提供了一个高效、可扩展的分布式监控解决方案,对于大型集群或数据中心的管理和维护至关重要。
6. **扩展性**:Ganglia支持多级集群监控,可以通过配置Gmetad来汇总不同层次的监控数据。 7. **故障排查**:如果在安装或使用过程中遇到问题,可以通过日志文件(如`/var/log/messages`或`/var/log/ganglia*`)...
《Ganglia监控系统安装与配置详解》 Ganglia是一款开源的分布式监控系统,用于收集、聚合并展示网络中的各个节点(如服务器、虚拟机等)的性能数据。本篇将详细介绍Ganglia监控系统的安装步骤,以及相关组件的配置...
### Hadoop集群自动化安装手册知识点解析 #### 一、Ambari简介与功能 ##### 1.1 Ambari概述 - **来源**: Apache Ambari项目源自Apache官方,其官方网站为http://ambari.apache.org/。 - **目标**: 通过开发一系列...
手册的版本为3.0,它详细阐述了与Transwarp相关的重要知识点,涵盖了安装前的准备工作、集群配置步骤、系统服务角色的理解、监控和告警设置、系统配置管理以及日常运维等各个方面。 文档分为若干章节,每个章节详细...
手册会讲解如何集成Zabbix、Ganglia等监控工具,实时监控集群的CPU、内存、磁盘和网络状态,以及如何配置日志聚合工具如Flume和Logstash,收集并分析集群的日志信息,以便于快速定位和解决问题。 安全性是大数据...
8. **监控和维护**:安装和配置监控工具,如Ganglia或Ambari,以便实时查看集群性能和健康状况。定期检查日志,确保所有服务运行正常。 集群搭建完成后,开发者和数据分析师可以利用Hadoop处理PB级别的数据,进行...
本手册涵盖了一系列关键主题,包括环境配置、集群运行、组件安装与配置、监控以及故障排查等方面。以下是各章节主要内容的详细阐述: 1. **第3章:平台的基础环境配置** - 这一章主要讲解大数据平台所需的底层环境...
7. **大数据框架搭建**:这部分内容将指导你如何安装、配置和管理Hadoop集群,包括单节点模式、伪分布式模式和完全分布式模式。同时,还会介绍如何在集群上部署和运行HBase、Hive等组件,实现大数据环境的搭建。 8....
7. **集群监控与日志管理**:了解如何配置和使用Hadoop自带的监控工具,如Nagios、Ganglia,以及日志聚合工具Flume和Scribe,以便于监控集群状态和调试问题。 8. **故障排查**:提供常见问题及解决方案,帮助用户...
4. **Ganglia监控手册-2.docx**:Ganglia是一个分布式监控系统,用于实时监控网络中的硬件和软件性能。手册的两部分可能详细介绍了Ganglia的安装、配置、数据收集和性能分析。 5. **oozie配置开发规范.docx**:...
4. **监控与调优**:使用HBase自带的监控工具或第三方工具(如Ganglia、Prometheus)监控系统性能,根据监控结果调整参数。 5. **数据压缩**:启用数据压缩可以减少存储空间,同时降低网络传输量,提高性能。HBase...
4. **大数据监控与调优**:掌握Ambari、Ganglia、Zabbix等监控工具,进行集群性能监控和故障排查。了解如何进行资源调度优化,提升大数据处理效率。 5. **大数据安全**:理解大数据平台的安全性需求,如用户权限...
《HBase维护操作手册》是针对分布式大数据存储系统HBase的一份详尽指南,主要面向Java开发者和系统管理员。HBase是建立在Apache Hadoop文件系统之上的非关系型数据库,它提供了高可靠性、高性能、分布式的列式存储...
集群监控与维护 - **监控工具**:利用Nagios、Ganglia等第三方监控工具实时监测集群状态。 - **故障排查**: - 分析日志文件定位问题原因; - 使用命令行工具查询节点状态和任务进度。 - **性能调优**: - 根据...
在集群监控部分,介绍了HBase如何利用Ganglia、JMX、Nagios等工具进行性能监控和故障检测。同时,提供了运维人员日常管理所需的一系列任务列表,包括数据导入导出、日志级别调整、问题排查等,以确保HBase集群的稳定...
8. **Metrics和JMX**:HBase内置了丰富的监控指标和JMX服务,允许运维人员通过监控系统或第三方工具(如Ganglia、Prometheus)实时了解集群的性能和健康状况。 9. **Log Analysis**:通过分析HBase的日志文件,可以...