Как отслеживать статус агентов Apache Flume?

Я знаю способ Enterprise (например, Cloudera), используя CM (через браузер) или Cloudera REST API, можно получить доступ к средствам мониторинга и настройки.

Но как запланировать (запустить и перезапустить) жизненный цикл агентов Flume и отслеживать их состояние работы/сбоя без CM? Есть ли такие вещи в дистрибутиве Flume?


person egor7    schedule 19.08.2019    source источник


Ответы (2)


API отчетов Flume JSON можно использовать для мониторинга работоспособности и производительности. Ссылка

person Saravanan Elumalai    schedule 21.08.2019

Я попытался добавить 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
person egor7    schedule 28.08.2019