elasticsearch 将通过logstash发送的每个日志附加到Elasticsearch的TTL字段
小结:我想在logstash中附加一个带有日志的TTL字段,并将它们发送到Elastic search 我已经阅读了文档,但由于不太清楚,无法获得大部分内容 这是我在logstash中的配置文件
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 {} } 现在假设对于读取的每个日志
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}}现在,在弹性搜索中把这个文件放在哪里,在哪里为该模板提供条目,以便它自动调用??