2016-05-25 29 views
5

Chcę wiedzieć, czy istnieje sposób na przechwytywanie komunikatów biuletynów (w zasadzie błędów), które pojawiają się w interfejsie Nifi i zapisują je w jakimś atrybucie/pliku, aby można było na nie spojrzeć później. Ekran jest odświeżany co 5 minut, a jeśli wystąpi awaria któregokolwiek z procesorów, chciałbym poznać przyczynę.jak przechwytywać komunikaty biuletynu w apache nifi

Nie mówię tu w szczególności o części do logowania.

Odpowiedz

5

Jak wiadomo, biuletyny odzwierciedlają wiadomości, które są już zarejestrowane. Tak więc cała ta zawartość jest już przechowywana w katalogu {NIFI_HOME} /logs/nifi-app.log. Jednakże, jeśli chcesz skonsumować biuletyn bezpośrednio, masz kilka różnych opcji.

  • Można spożywać biuletyny z interfejsu API REST. Istnieje kilka punktów końcowych dostępu do biuletynów.

HTTP [s]: // {gospodarza}: {port}/nifi, API/regulator/procesowo/grupy {proces grupę ID}/stan rekurencyjne = prawda

To żądanie otrzyma status (w tym biuletyny) wszystkich komponentów w określonej grupie procesów. Możesz użyć aliasu "root" dla grupy procesów o poziomie katalogu głównego. Flaga rekursywna wskaże, czy zwrócić tylko dzieci z tej grupy procesów lub wszystkie składniki potomne.

http [s]: // {gospodarz}: {port}/nifi-api/kontroler/status

Ten wniosek otrzyma status (w tym biuletynach) komponentów poziomie kontrolera. Obejmuje to wszelkie zgłoszone biuletyny z usług Controller Services, Reporting Tasks i samego NiFi Framework (wiadomości klastrowe itp.).

HTTP [s]: // {gospodarza}: {port}/nifi, API/kontroler/Tablica pokładzie limit = n & sourceid = {id} & wiadomość = {str}

To żądanie spowoduje dostęp do wszystkich biuletynów i obsługuje komponenty oparte na filtrowaniu, wiadomości i ograniczenia liczby zwróconych biuletynów.

  • Można również utworzyć implementację zadania raportowania, która ma dostęp do repozytorium biuletynów. Zgłaszanie Zadania są punktem rozszerzenia, który służy do zgłaszania szczegółów z tej instancji NiFi. Wymagałoby to trochę kodu Java, ale pozwoliłoby ci raportować biuletyn, jak chcesz. Oto przykład raportujący dane do Ambari [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

Dzięki za te sugestie. Wypróbuje je wkrótce i poinformuje, czy zadziałało. –