我有一个 drupal 看门狗 syslog 文件,我想将其解析为两个嵌套字段,即 syslog 部分和消息部分,以便得到这个结果
syslogpart: {
timestamp: "",
host: "",
...
},
messagepart:{
parsedfield1: "",
parsedfield2: "",
...
}
我尝试制作如下所示的自定义模式:
DRUPALSYSLOG (%{SYSLOGTIMESTAMP:date} %{SYSLOGHOST:logsource} %{WORD:program}: %{URL:domain}\|%{EPOCH:epoch}\|%{WORD:instigator}\|%{IP:ip}\|%{URL:referrer}\|%{URL:request}\|(?<user_id>\d+)\|\|)
然后运行match => ['message', '%{DRUPALSYSLOG:drupal}'}
但我没有得到嵌套响应,我得到一个文本块drupal: "ALL THE MATCHING FIELDS IN ONE STRING"
,然后是所有匹配项,但不是嵌套在 drupal 下,而是在同一级别。