Flume作为一个日志收集工具,在数据采集方面,展现出了非常强大的能力。它的Source、Sink、Channel三大组件这种模式,来完成数据的接收、缓存、发送这个过程,拥有非常完美的契合度。
Flume作为一个强大的数据收集工具,虽然功能非常强大实用,但是却无法看到flume收集数据的详细信息,所以需要一个能展示flume实时收集数据动态信息的界面,包括flume成功收集的日志数量、成功发送的日志数量、flume启动时间、停止时间、通道容量以及flume一些具体的配置信息,有了这些数据,在遇到数据收集瓶颈或者数据丢失的时候,通过分析监控数据来分析、解决问题。
Ganglia 3安装参考:https://my.oschina.net/u/2378323/blog/3022532
1、Flume监控方式:Ganglia
在本地虚拟机(192.168.154.132)上做试验 ,flume的配置文件内容如下:
[admin@mylinux2 apache-flume-1.9.0-bin]$ cat conf/flume-source.conf
a1.sources = r1
a1.channels = c1
a1.sinks = k1
##################### Source #####################
a1.sources.r1.type =
a1.sources.r1.channels = c1
######## Memory Channel
a1.channels.c1.type = memory
a1.channels.c1.capacity = 10000
a1.channels.c1.transactionCapacity = 10000
a1.channels.c1.byteCapacity = 419430400
######## File Roll Sink
a1.sinks.k1.type = file_roll
a1.sinks.k1.sink.directory = /home/admin/logs
a1.sinks.k1.sink.pathManager.prefix = flume-test-
a1.sinks.k1.sink.rollInterval = 0
a1.sinks.k1.batchSize = 100
a1.sinks.k1.channel = c1
使用ganglia监控方式(ganglia服务端=192.168.154.132),需要在启动flume的时候在启动参数上添加监控配置,如下:
[admin@mylinux2 ~]$ cd /home/admin/apache-flume-1.9.0-bin/bin
### 启动flume时在启动参数中添加Ganglia的监控配置
[admin@mylinux2 bin]$ ./flume-ng agent -c ../conf/ -f ../conf/flume-source.conf -n a1 -Dflume.root.logger=DEBUG,console -Dflume.monitoring.type=ganglia -Dflume.monitoring.hosts=192.168.154.132:8649
--------------------------------- 参数详解 ---------------------------------
-Dflume.monitoring.type=ganglia :表示使用ganglia的方式来监控flume。
-Dflume.monitoring.hosts=ip:port :表示ganglia服务端安装的ip和启动的端口号(默认8649)。
也可以将Ganglia监控配置添加到flume.env.sh文件中,这样每次启动flume时都会自动交由Ganglia来监控:
[admin@mylinux2 ~]$ cd /home/admin/apache-flume-1.9.0-bin/conf
### 在flume-env.sh文件中添加Ganglia的监控配置
[admin@mylinux2 conf]$ vi flume-env.sh
export JAVA_OPTS="-Xms100m -Xmx200m -Dcom.sun.management.jmxremote -Dflume.monitoring.type=ganglia -Dflume.monitoring.hosts=192.168.154.132:8649"
启动flume后,在Ganglia Web UI页面(http://192.168.154.132/ganglia/)上查看flume的监控信息,如下图: