如何监控 Apache Flume 代理状态?
How to monitor Apache Flume agents status?
我知道企业(例如 Cloudera)方式,通过使用 CM(通过浏览器)或 Cloudera REST API 可以访问监控和配置工具。
但是如何在没有 CM 的情况下安排 (运行 和重新 运行) flume 代理生命周期,并监控他们的 running/failure 状态? Flume分布中有这样的东西吗?
Flume 的 JSON 报告 API 可用于监控运行状况和性能。
Link
我尝试在开始时将 flume.monitoring.type/port
添加到 flume-ng
。而且完全符合我的需求。
让我们创建一个简单的代理 a1
例如。它监听 localhost:44444
并作为接收器记录到控制台:
# flume.conf
a1.sources = s1
a1.channels = c1
a1.sinks = d1
a1.sources.s1.channels = c1
a1.sources.s1.type = netcat
a1.sources.s1.bind = localhost
a1.sources.s1.port = 44444
a1.sinks.d1.channel = c1
a1.sinks.d1.type = logger
a1.channels.c1.type = memory
a1.channels.c1.capacity = 100
a1.channels.c1.transactionCapacity = 10
运行 它带有附加参数 flume.monitoring.type/port
:
flume-ng agent -n a1 -c conf -f flume.conf -Dflume.root.logger=INFO,console -Dflume.monitoring.type=http -Dflume.monitoring.port=44123
然后在 localhost:44123/metrics
处在浏览器中监视输出
{"CHANNEL.c1":{"ChannelCapacity":"100","ChannelFillPercentage":"0.0","Type":"CHANNEL","EventTakeSuccessCount":"570448","ChannelSize":"0","EventTakeAttemptCount":"570573","StartTime":"1567002601836","EventPutAttemptCount":"570449","EventPutSuccessCount":"570448","StopTime":"0"}}
只是尝试一些负载:
dd if=/dev/urandom count=1024 bs=1024 | base64 | nc localhost 44444
我知道企业(例如 Cloudera)方式,通过使用 CM(通过浏览器)或 Cloudera REST API 可以访问监控和配置工具。
但是如何在没有 CM 的情况下安排 (运行 和重新 运行) flume 代理生命周期,并监控他们的 running/failure 状态? Flume分布中有这样的东西吗?
Flume 的 JSON 报告 API 可用于监控运行状况和性能。 Link
我尝试在开始时将 flume.monitoring.type/port
添加到 flume-ng
。而且完全符合我的需求。
让我们创建一个简单的代理 a1
例如。它监听 localhost:44444
并作为接收器记录到控制台:
# flume.conf
a1.sources = s1
a1.channels = c1
a1.sinks = d1
a1.sources.s1.channels = c1
a1.sources.s1.type = netcat
a1.sources.s1.bind = localhost
a1.sources.s1.port = 44444
a1.sinks.d1.channel = c1
a1.sinks.d1.type = logger
a1.channels.c1.type = memory
a1.channels.c1.capacity = 100
a1.channels.c1.transactionCapacity = 10
运行 它带有附加参数 flume.monitoring.type/port
:
flume-ng agent -n a1 -c conf -f flume.conf -Dflume.root.logger=INFO,console -Dflume.monitoring.type=http -Dflume.monitoring.port=44123
然后在 localhost:44123/metrics
{"CHANNEL.c1":{"ChannelCapacity":"100","ChannelFillPercentage":"0.0","Type":"CHANNEL","EventTakeSuccessCount":"570448","ChannelSize":"0","EventTakeAttemptCount":"570573","StartTime":"1567002601836","EventPutAttemptCount":"570449","EventPutSuccessCount":"570448","StopTime":"0"}}
只是尝试一些负载:
dd if=/dev/urandom count=1024 bs=1024 | base64 | nc localhost 44444