【发布时间】:2021-09-29 11:17:09
【问题描述】:
我有一个日志条目,其最后一部分会根据少数 HTTPS 条件不断变化。
示例日志:
INFO [2021-09-27 23:07:58,632] [dw-1001 - POST /abc/api/v3/pqr/options] [386512709095023:] [ESC[36mUnicornClientESC[0;39m]:
<"type": followed by 11000 characters including space words symbols <----- variable length.
grok 模式:
%{LOGLEVEL:loglevel}\s*\[%{TIMESTAMP_ISO8601:date}\]\s*\[%{GREEDYDATA:requestinfo}\]\s*\[%{GREEDYDATA:logging_id}\:%{GREEDYDATA:token}\]\s*\[(?<method>[^\]]+)\]\:\s*(?<messagebody>(.|\r|\n)*)
(.|\r|\n)*)
如果日志的可变部分很小,这可以正常工作,但是当遇到大日志时,它会抛出异常:
[2021-09-27T17:24:40,867][WARN ][logstash.filters.grok ] Timeout executing grok '%{LOGLEVEL:loglevel}\s*\[%{TIMESTAMP_ISO8601:date}\]\s*\[%{GREEDYDATA:requestinfo}\]\s*\[%{GREEDYDATA:logging_id}\:%{GREEDYDATA:token}\]\s*\[(?<method>[^\]]+)\]\:\s*(?<messagebody>(.|\r|\n)*)' against field 'message' with value 'Value too large to output (178493 bytes)! First 255 chars are: INFO [2021-09-27 11:50:14,005] [dw-398 - POST /xxxxx/api/v3/xxxxx/options] [e3acfd76-28a6-0000-0946-0c335230a57e:]
CPU 开始阻塞,持久队列增加并在 kibana 中滞后。有什么建议吗?
【问题讨论】:
标签: logstash elastic-stack logstash-grok elk