我想使用if-else根据筛选条件进行grok模式。我试过了,但是得到了错误的输出。请帮助我识别这里的错误。
filter {
if ([service] =~ /service-name/) {
grok {
match => { "message" => "\[%{TIMESTAMP_ISO8601:time}\] "}
}
}
else{
grok {
match => { "message" => "\[%{TIMESTAMP_ISO8601:time}\] \[%{WORD:logLevel}\] \[\{\"id\":%{DATA:id},\"data\":%{DATA:response}\]"}
}
}
}
}
下面是我想做grok模式的日志
[11/Jul/2022:09:20:09 +0000]|| 00.0.0.000 || "-" || "POST /api/v1/path/subpath HTTP/1.1" || 200 || 630 || 0.005 || "okhttp/4.9.0"
1条答案
按热度按时间guicsvcw1#
在你的第一个grok中时间戳是HTTPDATE格式而不是ISO8601格式,你必须改变它。也删除
\]
后面白色我的建议