我不明白为什么这个简单的配置会出现grokparse失败:
input {
file {
path => "/var/log/*.log"
codec => json {
}
}
}
filter {
grok {
add_tag => ["test"]
}
}
output {
elasticsearch {
/.../
}
}
将日志正确发送到elasticsearch,正确解析json,但是添加的标签不起作用,相反,我有一个标签“ _grokparsefailure”。我想要的是将静态值作为标记传递。
我肯定会缺少一些愚蠢的东西,但我找不到。
您的grok
过滤器不执行任何操作,没有要匹配的模式,仅在成功匹配后才应用标记。
要添加标签,您可以在输入中使用tags
选项或mutate
过滤器。
要使用tags
选项,只需在此输入中添加更改输入即可:
input {
file {
path => "/var/log/*.log"
codec => json
tags => ["test"]
}
}
要使用mutate
过滤器,请将波纹管配置放入filter
块中。
mutate {
add_tag => ["test"]
}
这两种配置都会在您的所有消息中添加一个test
标签。