Кажется, мой парсер регулярных выражений не работает. Я предполагаю, что это как-то связано с журналами, поступающими с Docker и не экранированными. Но я не могу заставить его работать, даже если я сначала включаю парсер Docker.
Я проверил это в рубрике: https://rubular.com/r/l6LayuI7MQWIUL
fluent-bit.conf
[SERVICE]
Flush 5
Daemon Off
Log_Level debug
Parsers_File parsers.conf
[INPUT]
Name forward
Listen 0.0.0.0
Port 24224
[FILTER]
Name grep
Match *
Regex log ^.*{.*}$
[FILTER]
Name parser
Match *
Key_Name log
Parser springboot
[OUTPUT]
Name stdout
Match *
parsers.conf
[PARSER]
Name springboot
Format regex
Regex (?<time>\d{4}-\d{1,2}-\d{1,2} \d{1,2}:\d{1,2}:\d{1,2}.\d{1,3}) (?<level>[^ ]*) (?<number>\d*) --- (?<thread>\[[^ ]*) (?<logger>[^ ]*) *: (?<message>[^ ].*)$
Time_Key time
Time_Format %Y-%m-%d %H:%M:%S.%L
[PARSER]
Name docker
Format json
Time_Key time
Time_Format %Y-%m-%dT%H:%M:%S.%L
Time_Keep On
# Command | Decoder | Field | Optional Action
# =============|==================|=================
Decode_Field_As escaped log
полный вывод
[0] docker-container: [1584997354.000000000, {"log"=>"2020-03-23 21:02:34.077 TRACE 1 --- [nio-8080-exec-1] org.zalando.logbook.Logbook : {...}", "container_id"=>"5a1251dcf9de3f0e2b8b7b0bce1d35d9c9285726b477606b6448c7ce9e818511", "container_name"=>"/xxxx", "source"=>"stdout"}]
Спасибо