如果想要了解一个新概念,我觉得最快的方式,就是明白以下几个问题:
一问:它(Ganglia)是什么?
Ganglia是UC Berkeley发起的一个开源集群监视项目,设计用于测量数以千计的节点。
二问:它(Ganglia)有什么作用?
Ganglia主要是用来监控系统性能,如:cpu 、mem、硬盘利用率, I/O负载、网络流量情况等,通过曲线很容易见到每个节点的工作状态,对合理调整、分配系统资源,提高系统整体性能起到重要作用。
三问:它由哪些重要的组成部分?
Ganglia的核心包含gmond、gmetad以及一个Web前端。
四问:它(Ganglia)的原理是什么?
Ganglia包括如下几个程序,他们之间通过XDR(xml的压缩格式)或者XML格式传递监控数据,达到监控效果。集群内的节点,通过运行gmond收集发布节点状态信息,然后gmetad周期性的轮询gmond收集到的信息,然后存入rrd数据库,通过web服务器可以对其进行查询展示。
五、关于安装使用的详细步骤
5.1 安装 httpd 服务与 php
# yum -y install httpd php
5.2 安装其他依赖
# yum -y install rrdtool perl-rrdtool rrdtool-devel
# yum -y install apr-devel
5.3 安装 ganglia
# rpm -Uvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
# yum -y install ganglia-gmetad
# yum -y install ganglia-web
# yum install -y ganglia-gmond
5.4 修改配置文件
# vi /etc/httpd/conf.d/ganglia.conf
修改为:
# vi /etc/ganglia/gmetad.conf
修改为:
# vi /etc/ganglia/gmond.conf
修改为
# vi /etc/selinux/config
修改为:
5.5 启动ganglia
service httpd start
service gmetad start
service gmond start
5.6 打开网页浏览 ganglia页面
http://上面修改的host/ganglia
5.7 如果上面操作提示权限不足,执行以下赋权命令
chmod -R 777 /var/lib/ganglia
5.8 操作Flume测试监控
-
修改flume-env.sh 配置如下:
JAVA_OPTS="-Dflume.monitoring.type=ganglia JAVA_OPTS="- Dflume.monitoring.type=ganglia
-Dflume.monitoring.hosts=192.168.216.20:8649
-Xms100m
-Xmx200m"
-
启动 flume任务
./flume-ng agent
–conf conf/ \
–name a1 \
–conf-file job/group-job0/flume-telnet.conf \
-Dflume.root.logger==INFO,console \
-Dflume.monitoring.type=ganglia \
-Dflume.monitoring.hosts=192.168.216.20:8649
- 发送数据观察 ganglia 监测图
telnet localhost 44444
4.结果如下:
怎么样,挺好玩的吧!