gpt4 book ai didi

elasticsearch - Elasticsearch每个节拍有多个索引?

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

我正在使用filebeat,我还想介绍metricbeat。 Filebeat输出在logstash- *中建立了索引,但是我只需要来自metricbeat的数据(例如metricbeat-test-%{+ YYYY.MM.dd})就需要一个不同的索引,它们将一起在单个服务器上运行。

如何指示logstash索引logstash- *中的filebeat内容,并且如果继续进行metricbeat并使用其他索引,该如何指示?

我或多或少需要一个IF语句,但是我不确定应该在其中包含什么!

我的logstash配置如下所示:

output { elasticsearch { hosts => "10.0.0.5:9200" manage_template => "true" index => "logstash-test-%{+YYYY.MM.dd}" document_type => "apache" } }

最佳答案

当任何Beat发送数据到Logstash时,它将把目标索引添加到[@metadata][beat]字段。默认情况下,Beat将将此值设置为其自己的名称(例如filebeat)。而且,如果您要自定义值,则可以设置output.logstash.index配置选项。

要利用Beats所有事件中存在的元数据,您必须在Logstash中配置elasticsearch输出,如下所示:

output {
if [@metadata][beat] {
elasticsearch {
hosts => "localhost:9200"
manage_template => false
index => "%{[@metadata][beat]}-%{+YYYY.MM.dd}"
document_type => "%{[@metadata][type]}"
}
}
}

这是来自 Beats documentation的有关如何将它们与Logstash一起使用的信息。我添加了条件,以便此输出仅用于您的Beats数据。您将为通过管道的其他数据配置另一个elasticsearch输出。

最后,由于您使用的是 filebeat-*metricbeat-*索引 ,因此必须手动安装提供的索引模板。下载包中为每个Beat提供了索引模板。有一个适用于Elasticsearch 2.x和5.x的模板,请使用适当的模板。

您可以使用curl( docs)安装模板。例如,
curl -XPUT 'http://localhost:9200/_template/filebeat' -d@/etc/filebeat/filebeat.template.json

关于elasticsearch - Elasticsearch每个节拍有多个索引?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41188521/

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