Flume做为一个日志收集工具,在数据采集方面,展示出了很是强大的能力。它的Source、Sink、Channel三大组件这种模式,来完成数据的接收、缓存、发送这个过程,拥有很是完美的契合度。linux
Flume做为一个强大的数据收集工具,虽然功能很是强大实用,可是却没法看到flume收集数据的详细信息,因此须要一个能展现flume实时收集数据动态信息的界面,包括flume成功收集的日志数量、成功发送的日志数量、flume启动时间、中止时间、通道容量以及flume一些具体的配置信息,有了这些数据,在遇到数据收集瓶颈或者数据丢失的时候,经过分析监控数据来分析、解决问题。apache
Ganglia 3安装参考:https://my.oschina.net/u/2378323/blog/3022532缓存
在本地虚拟机(192.168.154.132)上作试验 ,flume的配置文件内容以下:bash
[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来监控:spa
[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的监控信息,以下图:
.net