2016-05-25 4 views
5

Я хочу знать, есть ли способ захватить сообщения бюллетеней (в основном ошибки), которые появляются в пользовательском интерфейсе Nifi, и хранить его в каком-либо атрибуте/файле, чтобы можно было смотреть на него позже. Экран обновляется каждые 5 минут, и если в любом из процессоров есть сбой, я бы хотел узнать причину этого.Как собирать сообщения бюллетеней в apache nifi

Я не особо говорю о части регистрации.

ответ

5

Как вы знаете, бюллетени отражают сообщения, которые уже зарегистрированы. Итак, весь этот контент уже сохранен в {NIFI_HOME} /logs/nifi-app.log. Однако, если вы хотите использовать бюллетень прямо, у вас есть пара различных вариантов.

  • Вы можете использовать бюллетени из API REST. Есть несколько конечных точек доступа к бюллетеням.

HTTP [с]: // {хост}: {порт}/Nifi-апи/контроллер/Процесс-групп/{Процесс-групповой идентификатор}/статус рекурсивная = истина

Этот запрос получит статус (включая бюллетени) всех компонентов в указанной группе процессов. Вы можете использовать псевдоним «root» для корневого уровня Process Group. Рекурсивный флаг указывает, следует ли возвращать только дочерние элементы этой группы процессов или всех компонентов-потомков.

HTTP [с]: // {хост}: {порт}/Nifi-апи/контроллер/состояние

Этот запрос получит статус (в том числе бюллетеней) компонентов уровня контроллера. Сюда входят любые сообщенные бюллетени из служб диспетчера, задачи отчетности и сама структура NiFi (сообщения кластеризации и т. Д.).

HTTP [с]: // {хост}: {порт}/Nifi-апи/контроллер/доска объявлений предел = п = & SourceId {ID} & сообщение = {ул}

Этот запрос получит доступ ко всем бюллетеням и поддерживает компоненты на основе фильтрации, сообщения и ограничение количества возвращенных бюллетеней.

  • Вы также можете создать реализацию задачи отчетности, которая имеет доступ к репозиторию бюллетеней. Задачи отчетности - это точка расширения, которая предназначена для сообщения деталей из этого экземпляра NiFi. Для этого потребуется некоторый код Java, но он позволит вам сообщать о бюллетене, как вам нравится. Вот пример, который сообщает метрики Амбари [1].

[1] https://github.com/apache/nifi/blob/master/nifi-nar-bundles/nifi-ambari-bundle/nifi-ambari-reporting-task/src/main/java/org/apache/nifi/reporting/ambari/AmbariReportingTask.java

+0

Спасибо за эти предложения. Скоро попробуете их и сообщите, если это сработает. –