日志存储筛选器自定义消息



我正在尝试解析Logstash中的一堆字符串,输出设置为ElasticSearch。

示例输入字符串为: 2016 年 5 月 24 日 10:20:15 用户 1 创建"创建新文件夹"

格罗克过滤器为:

match => { "message" => "%{SYSLOGTIMESTAMP:timestamp} %{WORD:user} %{WORD:

action_performed} %{WORD:action_description} "}

在 Elasticsearch 中,我无法看到不同字段的单独列,例如 timstamp、user、action_performed 等。

相反,整个字符串位于单个列"消息"下。

我想将信息存储在单独的字段中,而不仅仅是一列。

不确定在日志存储过滤器中更改什么以实现所需的目的。

谢谢!

你需要

用这个改变你的 grok 模式,即使用 QUOTEDSTRING 而不是 WORD它会起作用!

match => { "message" => "%{SYSLOGTIMESTAMP:timestamp} %{WORD:user} %{WORD:action_performed} %{QUOTEDSTRING:action_description}"}

最新更新