Как вы знаете, бюллетени отражают сообщения, которые уже зарегистрированы. Итак, весь этот контент уже сохранен в {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
Спасибо за эти предложения. Скоро попробуете их и сообщите, если это сработает. –