У меня возникла проблема при работе с ночным журналом партии.
Как протолкнуть многострочный журнал как одно событие? Я застрял с одним файлом журнала, который превышает 26000 строк ...
NxLog в какой-то момент застрял - я не виню его - но как я могу заставить его работать с такими многострочными файлами?
Мой файл conf:
<Extension json>
Module xm_json
</Extension>
<Extension multiline>
Module xm_multiline
Exec if $raw_event =~ /^\s*$/ drop();
HeaderLine /^\#\#\#$/
EndLine /\* CODE FIN JOB/
</Extension>
<Input in1>
Module im_file
File '/opt/XXX/YYYY/logs/*.nxlog'
SavePos FALSE
ReadFromLast FALSE
InputType multiline
Exec if $raw_event =~ s/^\#\#\#\\n// {}
Exec $nxlog_message = $raw_event;
Exec $nxlog_tags = "YYYY";
Exec $nxlog_hostname = hostname();
Exec $nxlog_filename = file_name();
Exec file_remove($nxlog_filename);
Exec to_json();
</Input>
<Extension fileop>
Module xm_fileop
</Extension>
<Output logstash>
Module om_tcp
Port PPPP
Host ZZZZZZZ
</Output>
Вот файл, который я помещаю в nxlog.
Каждый файл представляет собой одно задание / событие. Первый заставил NxLog зависнуть на все выходные.
# find /opt/XXXX/YYYYY/logs/ -name "*.nxlog" -exec wc -l {} \;
26477 /opt/XXXX/YYYYY/logs/ZZZZZZ_WWWW.nxlog
104 /opt/XXXX/YYYYY/logs/ZZZZZZ_WWWW.nxlog
113 /opt/XXXX/YYYYY/logs/ZZZZZZ_WWWW.nxlog
93 /opt/XXXX/YYYYY/logs/ZZZZZZ_WWWW.nxlog
49 /opt/XXXX/YYYYY/logs/ZZZZZZ_WWWW.nxlog
136 /opt/XXXX/YYYYY/logs/ZZZZZZ_WWWW.nxlog
65 /opt/XXXX/YYYYY/logs/ZZZZZZ_WWWW.nxlog
278 /opt/XXXX/YYYYY/logs/ZZZZZZ_WWWW.nxlog
311 /opt/XXXX/YYYYY/logs/ZZZZZZ_WWWW.nxlog
95 /opt/XXXX/YYYYY/logs/ZZZZZZ_WWWW.nxlog
598 /opt/XXXX/YYYYY/logs/ZZZZZZ_WWWW.nxlog
307 /opt/XXXX/YYYYY/logs/ZZZZZZ_WWWW.nxlog
45 /opt/XXXX/YYYYY/logs/ZZZZZZ_WWWW.nxlog
191 /opt/XXXX/YYYYY/logs/ZZZZZZ_WWWW.nxlog
94 /opt/XXXX/YYYYY/logs/ZZZZZZ_WWWW.nxlog
97 /opt/XXXX/YYYYY/logs/ZZZZZZ_WWWW.nxlog
91 /opt/XXXX/YYYYY/logs/ZZZZZZ_WWWW.nxlog
Есть идеи, как это решить?