Как получить логи с помощью rest api в apache nifi - PullRequest
0 голосов
/ 20 сентября 2019

Я просмотрел несколько руководств и не смог найти способ получения журналов со связанной информацией, такой как размер данных потокового файла (показан на рисунке), с использованием API api (или в противном случае, если API api невозможно). Даже nifiзаписывает эти журналы в журналы приложений, другие связанные детали не могут найти оттуда.Как я могу это сделать? image

РЕДАКТИРОВАТЬ

Согласно комментарию от daggett, у меня есть остальные api - http://localhost:8080/nifi-api/flow/bulletin-board,, который решил мою половину вопроса.Теперь мне нужно знать, кто может получить подробные сведения о файле потока, которые были переданы в бюллетень.

1 Ответ

1 голос
/ 22 сентября 2019

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

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

Вот данные json, которые возвращает вышеуказанная служба контроллера -

{
  "type" : "record",
  "name" : "provenance",
  "namespace" : "provenance",
  "fields": [
    { "name": "eventId", "type": "string" },
    { "name": "eventOrdinal", "type": "long" },
    { "name": "eventType", "type": "string" },
    { "name": "timestampMillis", "type": "long" },
    { "name": "durationMillis", "type": "long" },
    { "name": "lineageStart", "type": { "type": "long", "logicalType": "timestamp-millis" } },
    { "name": "details", "type": ["null", "string"] },
    { "name": "componentId", "type": ["null", "string"] },
    { "name": "componentType", "type": ["null", "string"] },
    { "name": "componentName", "type": ["null", "string"] },
    { "name": "processGroupId", "type": ["null", "string"] },
    { "name": "processGroupName", "type": ["null", "string"] },
    { "name": "entityId", "type": ["null", "string"] },
    { "name": "entityType", "type": ["null", "string"] },
    { "name": "entitySize", "type": ["null", "long"] },
    { "name": "previousEntitySize", "type": ["null", "long"] },
    { "name": "updatedAttributes", "type": { "type": "map", "values": "string" } },
    { "name": "previousAttributes", "type": { "type": "map", "values": "string" } },
    { "name": "actorHostname", "type": ["null", "string"] },
    { "name": "contentURI", "type": ["null", "string"] },
    { "name": "previousContentURI", "type": ["null", "string"] },
    { "name": "parentIds", "type": { "type": "array", "items": "string" } },
    { "name": "childIds", "type": { "type": "array", "items": "string" } },
    { "name": "platform", "type": "string" },
    { "name": "application", "type": "string" },
    { "name": "remoteIdentifier", "type": ["null", "string"] },
    { "name": "alternateIdentifier", "type": ["null", "string"] },
    { "name": "transitUri", "type": ["null", "string"] }
  ]
}

entityId, entitySize - это то, что вы можете искать.

...