【发布时间】:2017-03-07 10:01:38
【问题描述】:
在我的 logstash 配置中,我需要使用多种模式。我的应用程序以 3 种模式生成日志。我尝试将数组用于多种模式,但它不起作用。
filter{
grok{
match=>{
"message"=>[
"\[%{TIMESTAMP_ISO8601:timestamp}\] COMMTRACE user=\[%{GREEDYDATA:userId}\]\, sessionId\=\[%{GREEDYDATA:sessionId}\]\, ip\=\[%{HOSTNAME:ip}\]\, event\=\[%{GREEDYDATA:event}\]",
"\[%{TIMESTAMP_ISO8601:timestamp}\] COMMTRACE user\=\[%{GREEDYDATA:user}\], sessionId\=\[%{GREEDYDATA:sessionId}\], ip\=\[%{IP:ip}\]\, type\=\[%{GREEDYDATA:type}\]\, msg\=\[%{GREEDYDATA:msg}\]"
]
}
}
}
请帮忙
【问题讨论】:
-
你没有在第二个模式中转义逗号(在 GREEDYDATA:user 之后),也许这是错误?
-
GREEDYDATA:sessionId 后面的逗号也是
-
感谢@AndreaRomagnoli。它现在工作
-
如果这解决了问题,请将我的答案标记为解决方案
标签: filter logstash logstash-grok