gpt4 book ai didi

elasticsearch - 无法在Logstash过滤器中访问Elasticsearch索引名称元数据

转载 作者:行者123 更新时间:2023-12-02 23:27:43 27 4
gpt4 key购买 nike

我想在Logstash中处理时在事件中将Elasticsearch索引名称添加为字段。假设这很简单,但是索引名称未打印出来。这是完整的Logstash配置。

input {
elasticsearch {
hosts => "elasticsearch.example.com"
index => "*-logs"
}
}
filter {
mutate {
add_field => {
"log_source" => "%{[@metadata][_index]}"
}
}
}
output {
elasticsearch {
index => "logstash-%{+YYYY.MM}"
}
}

这将导致 log_source设置为 %{[@metadata][_index]}而不是索引的实际名称。我已经尝试过使用_id且不带下划线,但是它将始终只输出引用而不是值。

仅执行 %{[@metadata]}会导致Logstash崩溃,并显示错误消息,它试图正确访问列表,因此正在设置 [@metadata],但似乎索引或任何值均丢失。

有没有人为事件分配索引名称的另一种方法?

我正在使用Logstash和Elasticsearch的5.0.1。

最佳答案

您快到了,只是缺少了 docinfo setting,默认情况下为false:

input {
elasticsearch {
hosts => "elasticsearch.example.com"
index => "*-logs"
docinfo => true
}
}

关于elasticsearch - 无法在Logstash过滤器中访问Elasticsearch索引名称元数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40821487/

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