NiFi - ExtractGrok с несколькими регулярными выражениями и сортировкой по разным выводам
У меня есть тема какфа, которая включает в себя различные типы сообщений, отправленных из разных источников.
Я хотел бы использовать процессор ExtractGrok для извлечения сообщения на основе шаблона регулярного выражения /grok.
Как настроить или запустить процессор с несколькими регулярными выражениями?
т.е. тема Kafka содержит записи журнала INFO, WARNING и ERROR из разных приложений.
Я хотел бы разделить сообщения разных уровней журнала и поместить его в HDFS.
1 ответ
Вместо использования процессора ExtrackGrok
Используйте процессор записи раздела в NiFi для разделения в качестве этого процессора
- Оценивает один или несколько RecordPaths для каждой записи во входящем FlowFile.
- Каждая запись затем группируется с другими "похожими записями".
Настроить / включить службы контроллера
RecordReader как GrokReader
Запись писателя в желаемом формате
Затем используйте процессор PutHDFS для хранения потокового файла на основе атрибута loglevel.
Поток:
1.ConsumeKafka processor
2.Partition Record
3.PutHDFS processor
Ссылка на эту ссылку описывает все этапы настройки процессора Partition Record.
Ссылка на эту ссылку описывает, как динамически хранить разделы в каталогах HDFS с использованием процессора PutHDFS.