组件:Ganglia
Ganglia 由 gmond、gmetad 和 gweb 三部分组成。gmond(Ganglia Monitoring Daemon)是一种轻量级服务,安装在每台需要收集指标数据的节点主机上。使用 gmond,你可以很容易收集很多系统指标数据,如 CPU、内存、磁盘、 网络和活跃进程的数据等。gmetad(Ganglia Meta Daemon)整合所有信息,并将其以 RRD 格式存储至磁盘的服务。gweb(Ganglia Web)Ganglia 可视化工具,gweb 是一种利用浏览器显示 gmetad 所存储数据的 PHP 前端。在 Web 界面中以图表方式展现集群的运行状态下收集的多种不同指标数据。
准备工作
一、规划:
hadoop102: web gmetad gmodhadoop103: gmodhadoop104: gmod
二、安装和配置文件
1、在hadoop102上进行监控,其他两台机器也要安装Ganglia
2、如果想通过Windows网页访问Ganglia的界面,需要使用VM8的IP地址来配置ip地址:
(1)sudo vim /etc/httpd/conf.d/ganglia.conf ,修改一下配置:
# Ganglia monitoring system php web frontend # Alias /ganglia /usr/share/ganglia <Location /ganglia> # Require local # 通过 windows 访问 ganglia,需要配置 Linux 对应的主机(windows)ip 地址 Require ip 192.168.10.102 # Require ip 10.1.2.3 # Require host example.org </Location>
(2)Windows端,cmd -> ipconfig,复制VM8的ip地址,修改上面的ip。
(3)如果不改ip地址,就只能在Linux里的浏览器中访问网页端。http://hadoop102/ganglia
三、操作 Flume 测试监控
1)启动 Flume 任务hadoop102端:sudo systemctl start gmond sudo systemctl start httpd sudo systemctl start gmetad bin/flume-ng agent -c conf/ -n a1 -f job/flume-netcat-logger.conf -Dflume.root.logger=INFO,console -Dflume.monitoring.type=ganglia -Dflume.monitoring.hosts=hadoop102:8649
2)发送数据观察 ganglia 监测图nc localhost 44444
四、监控信息
进去后的界面:
跳转到hadoop102:
可以看到可以监控到以下信息:
点击 flume metrics,查看flume具体的监控信息:
监控信息如下表:
怎么通过这些指标发现问题呢?
1、如果PutAttemptCount 和PutSuccessCount这两项的数据量差异较大,有可能出现内存问题,这时候可以通过修改配置信息来解决问题,配置信息路径:/flume/conf/flume-env.sh.template
进去后把下面这行注释给去掉,-Xms:最小内存,-Xmx:最大内存
最后要把文件后缀.template去掉,否则系统不会读取该文件。
2、判断数据在传输过程中是否出现丢失。
如果 channelsize = putSucess + takeSucess ,那么没有发生数据丢失,如果等式不成立,发生了数据丢失。