Поток, который вы предложили в конце своих вопросов, находится на правильном пути, в основном вы хотите объединить много сообщений в один файл потока.
В зависимости от того, какую версию NiFi вы используете, более новые версии имеют Syslog5424Reader:
Это, вероятно, будет проще использовать, чем GrokReader, щелкните по ссылка на дополнительную информацию, чтобы увидеть схему, которую он производит.
Кроме того, есть ListenTCPRecord и ListenUDPRecord, с которыми вы могли бы поэкспериментировать вместо ListenSyslog. Таким образом, вы можете использовать ListenTCPRecord / ListenUDPRecord с Syslog5424Reader и AvroWriter, а затем продолжить предложенный поток. Вам нужно будет провести некоторое тестирование, чтобы увидеть, лучше ли просто использовать ListenSyslog или использовать варианты записи.
Другие вещи, которые следует учитывать при настройке ListenSyslog / ListenTCP / ListenUDP:
Используйте .capitalize (без удара) - если Вам на самом деле не нужен он для изменения источника.
Так как Ваш оператор не изменяет значение fullname, просто делает:
fname = fullname[0...fullname.index(' ')].capitalize
Который не возвращает ноль, если никакое изменение не внесено.