gpt4 book ai didi

elasticsearch - 为什么 Logstash 不会基于 grok'd 字段合并行?

转载 作者:行者123 更新时间:2023-11-29 02:56:26 24 4
gpt4 key购买 nike

我正在尝试让 logstash multiline 与以下测试文件一起工作:

val=abc
123 abc
test

并为过滤器使用以下配置:

filter
{
if [message] =~ "val"
{
match => ["message", "val=%{WORD:calc}"
}
multiline
{
pattern => [calc]
what => "next"
}
}

输出显示如下(删除了其他字段):

"message" => "val=abc"
"calc" => "abc"
...
"message" => "123 abc"

以上内容让我知道 grok 匹配(因此出现“calc”字段)但我不确定为什么多行不合并第一行和第二行

最佳答案

你的意思是如果 calc 字段存在,第一行和第二行将合并为一个 envet?

如果是,以下答案可以帮助您。您的多行模式不正确。请引用这个配置:

input {
stdin{}
}

filter {
if [message] =~ "val"
{
grok {
match => ["message", "val=%{WORD:calc}"]
}
}
multiline
{
pattern => "(val)"
what => "next"
}
}

output {
stdout {
codec => "rubydebug"
}
}

multiline 模式是当message 字段有val 字时,你遇到这个模式,它会multiline 合并到第二行。在您的示例中,您使用 [cal] 这意味着当 message 字段具有 cal 单词时,但是,没有任何 cal message 字段中。

关于elasticsearch - 为什么 Logstash 不会基于 grok'd 字段合并行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24919351/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com