NiFi - ExtractGrok с несколькими регулярными выражениями и сортировкой по разным выводам

У меня есть тема какфа, которая включает в себя различные типы сообщений, отправленных из разных источников.

Я хотел бы использовать процессор ExtractGrok для извлечения сообщения на основе шаблона регулярного выражения /grok.

Как настроить или запустить процессор с несколькими регулярными выражениями?

т.е. тема Kafka содержит записи журнала INFO, WARNING и ERROR из разных приложений.

Я хотел бы разделить сообщения разных уровней журнала и поместить его в HDFS.

1 ответ

Решение

Вместо использования процессора ExtrackGrok

Используйте процессор записи раздела в NiFi для разделения в качестве этого процессора

  1. Оценивает один или несколько RecordPaths для каждой записи во входящем FlowFile.
  2. Каждая запись затем группируется с другими "похожими записями".
  3. Настроить / включить службы контроллера

    RecordReader как GrokReader

    Запись писателя в желаемом формате

Затем используйте процессор PutHDFS для хранения потокового файла на основе атрибута loglevel.

Поток:

1.ConsumeKafka processor
2.Partition Record
3.PutHDFS processor

Ссылка на эту ссылку описывает все этапы настройки процессора Partition Record.

Ссылка на эту ссылку описывает, как динамически хранить разделы в каталогах HDFS с использованием процессора PutHDFS.

Другие вопросы по тегам