gpt4 book ai didi

elasticsearch - 在Logstash管道配置中使用条件

转载 作者:行者123 更新时间:2023-12-03 00:47:12 32 4
gpt4 key购买 nike

我试图在管道输出配置的上下文中使用Logstash条件。
基于有效负载中device字段的存在,我想将事件转发到Elasticsearch中的适当索引名称:

output {
elasticsearch {
hosts => ["10.1.1.5:9200"]
if [device] ~= \.* {
index => "%{[device][0]}-%{+YYYY.ww}"
} else {
index => "%{[beat][name]}-%{+YYYY.ww}"
}
}
}

上面的代码将失败,并在日志中显示以下mgs指示语法错误:
...
"Expected one of #, => at line 14, column 12 (byte 326) after output {\n elasticsearch {\n hosts => [\"10.1.1.5:9200\"]\n if "
...

有人可以请教吗?

最佳答案

您应该在elasticsearch输出之前而不是在内部使用conditional

output {
if [device] ~= \.* {
elasticsearch {
hosts => ["10.1.1.5:9200"]
index => "%{[device][0]}-%{+YYYY.ww}"
}
} else {
elasticsearch {
hosts => ["10.1.1.5:9200"]
index => "%{[beat][name]}-%{+YYYY.ww}"
}
}
}

关于elasticsearch - 在Logstash管道配置中使用条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58943557/

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