目前FlumeNG支持以下的几种监控方式:
JMX
Ganglia
Json
1、开启JMX方式
在flume-env.sh的JAVA_OPTS中添加如下配置:
-Dcom.sun.management.jmxremote
-Dcom.sun.management.jmxremote.port=54321(未用的端口号)
-Dcom.sun.management.jmxremote.authenticate=false
-Dcom.sun.management.jmxremote.ssl=false
在window端可以通过jconsole YOUR_HOSTNAME: 54321 来访问FlumeNG的jmx信息
2、开启Ganglia方式
在启动agent时需要传递flume.monitoring.type和flume.monitoring.hosts两个属性,启动命令如下:
bin/flume-ng agent --conf-file example.conf --name a1 -Dflume.monitoring.type=ganglia -Dflume.monitoring.hosts=com.example:1234,com.example2:5455
我们实战的使用方式如下:
flume-ng agent -n a1 -c conf/ -f conf/tt -Dflume.monitoring.type=http -Dflume.monitoring.port=8888
3、Json服务器方式
当启动agent时,我们可以传递flume.monitoring.type和flume.monitoring.port两个属性,从而实现在port指定的端口上启动一个server
bin/flume-ng agent --conf-file example.conf --name a1 -Dflume.monitoring.type=http -Dflume.monitoring.port=34545
之后,我们可以通过http://<hostname>:<port>/metrics来取得metrics信息
Json串的格式如下:
{"typeName1.componentName1" : {"metric1" : "metricValue1", "metric2" : "metricValue2"},"typeName2.componentName2" : {"metric3" : "metricValue3", "metric4" : "metricValue4"}}demo:
{"CHANNEL.fileChannel":{"EventPutSuccessCount":"468085",
"Type":"CHANNEL",
"StopTime":"0",
"EventPutAttemptCount":"468086",
"ChannelSize":"233428",
"StartTime":"1344882233070",
"EventTakeSuccessCount":"458200",
"ChannelCapacity":"600000",
"EventTakeAttemptCount":"458288"},"CHANNEL.memChannel":{"EventPutSuccessCount":"22948908",
"Type":"CHANNEL",
"StopTime":"0",
"EventPutAttemptCount":"22948908",
"ChannelSize":"5",
"StartTime":"1344882209413",
"EventTakeSuccessCount":"22948900",
"ChannelCapacity":"100",
"EventTakeAttemptCount":"22948908"}}