1

来自消息字段的源日志示例:

{"log":"2022/02/15 22:47:07 insert into public.logs (time, level, message, hostname, loggerUID, appmodule) values ('2022-02-15 22:47:07.494330952','ERROR','GetRequestsByUserv2 :pq: column \"rr.requestdate\" must appear in the GROUP BY clause or be used in an aggregate function','ef005e6da6f6','ba282127-6ef6-4238-9287-d7127a8d1996','eReturn')\n","stream":"stderr","time":"2022-02-15T14:47:07.495133571Z"}

尝试使用 Elastic 中的摄取管道从上述日志中提取“级别:错误”作为单独的字段,以便可以根据日志的级别(例如错误、警告、信息)对其进行隔离

尝试使用拆分处理器,但无法获得所需的输出。任何帮助,将不胜感激。

4

1 回答 1

1

您可以使用grok 处理器,将其语法用于正则表达式:

%{DATA:preerror} values \('%{DATA:date}','%{DATA:error}'%{GREEDYDATA:posterror}

preerror, date, posterror然后您可以删除不需要的字段。

于 2022-02-15T16:14:57.673 回答