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