Logstash - 解析嵌套的 KV 日志

问题描述 投票:0回答:0

这种日志我有问题:

<183>Apr 26 12:53:53 host.example tag_audit_log: type=USER_ACCT msg=audit(1989212.965:15124458): pid=20982 uid=0 auid=427890281 ses=4294967295 subj=system_u:system_r:init_t:s0 msg='op=PAM:accounting grantors=pam_unix acct="root" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success'

我认为解析它的最简单方法是使用

grok
然后将其传递给
KV filter

filter {

  grok {
    match => { "message" => "%{SYSLOG5424PRI}%{SYSLOGTIMESTAMP:date} %{NOTSPACE:hostname} %{NOTSPACE:location}: %{GREEDYDATA:kv_message}" }
    overwrite => [ message ]
  }

  kv {
    source => [ "kv_message" ]
  }
}

一切都解析得很好,除了

msg
字段内的日志。 KV 创建了一个数组:

 "msg" => [
[0] "audit(1989212.965:15124458):",
[1] "\\'op=PAM:accounting"
  ]

我想知道如何解析

msg[1]
内的进一步消息。 我试过
field_split_pattern
,但我不确定如何正确包装它。 有些日志不包含这些嵌套字段,因此也必须考虑。

elasticsearch logstash elastic-stack logstash-configuration elk
© www.soinside.com 2019 - 2024. All rights reserved.