elasticsearch 将通过logstash发送的每个日志附加到Elasticsearch的TTL字段,elasticsearch,ttl,logstash,elasticsearch,Ttl,Logstash" /> elasticsearch 将通过logstash发送的每个日志附加到Elasticsearch的TTL字段,elasticsearch,ttl,logstash,elasticsearch,Ttl,Logstash" />

elasticsearch 将通过logstash发送的每个日志附加到Elasticsearch的TTL字段

elasticsearch 将通过logstash发送的每个日志附加到Elasticsearch的TTL字段,elasticsearch,ttl,logstash,elasticsearch,Ttl,Logstash,小结:我想在logstash中附加一个带有日志的TTL字段,并将它们发送到Elastic search 我已经阅读了文档,但由于不太清楚,无法获得大部分内容 这是我在logstash中的配置文件 input { stdin { type => "stdin-type" } } output { stdout { debug => true debug_format => "json"} elasticsearch {} } 现在假设对于读取的每个日志

小结:我想在logstash中附加一个带有日志的TTL字段,并将它们发送到Elastic search

我已经阅读了文档,但由于不太清楚,无法获得大部分内容

这是我在logstash中的配置文件

input {
  stdin {
    type => "stdin-type"
  }
}

output {
  stdout { debug => true debug_format => "json"}
  elasticsearch {}
}
现在假设对于读取的每个日志,我想附加一个TTL,比如说,5天

我知道如何在弹性搜索中激活TTL选项。但我对弹性搜索配置文件需要做哪些更改还不是很清楚。 文档要求查找mappings文件夹,但弹性搜索下载文件夹中没有

正在寻找专家帮助

如果要将映射放在文件系统上,请查看。您必须转到
config
文件夹,并在此处创建一个名为
mappings
的文件夹,以及另一个名为
mappings
内索引的文件夹。由于logstash默认每天创建一个索引,因此最好使用文件夹的
\u default
名称,这样映射将应用于所有索引。 在该文件夹下创建的文件必须具有要应用映射的类型的名称。我不记得logstash使用的确切类型,因此我将使用映射定义。只需调用文件
\u default\u.json
,并将以下内容放入其中:

{
    "_default_" : {
        "_ttl" : { "enabled" : true }
    }
}
正如您所见,类型的名称必须同时出现在文件名和内容中

否则,您可以避免将内容放在文件系统上。您可以创建包含自定义映射的映射,如下所示:

{
    "template" : "logstash-*",
    "mappings" : {
        "_default_" : {
            "_ttl" : { "enabled" : true }
        }
    }
}

然后,映射将应用于名称与模板模式匹配的所有索引。如果使用映射定义,映射将作为默认值应用于将要创建的所有类型。

@javanna…thanx以获取帮助。。。但是我想知道我应该把你提到的这些文件放在哪里。假设我使用第一种方法,我必须在config下创建两个文件夹,映射和_default,对吗?那么我在哪里指定TTL呢?我必须创建一个json文件吗?如果是,那么它将包含什么,它的名称是什么?文档上写着[映射名称]。请你澄清一下这一切好吗?我真的很困惑,谢谢。只是文件夹_default必须在mappings下,而不是直接在config文件夹下,对吗?@javanna它仍然不起作用。。。请帮助我,我已经创建了default.json(即模板文件)文件,并在default.json{“template”:“logstash-*”,“mappings”:{“default”:{“\u ttl”:{“enabled”:true}}现在,在弹性搜索中把这个文件放在哪里,在哪里为该模板提供条目,以便它自动调用??