简介:我想在logstash中附加一个带有日志的TTL字段,并将它们发送到Elastic搜索.
我已经阅读了文档,但由于不太清楚,因此无法获得大量文档.
这是我在logstash中的配置文件.
input { stdin { type => "stdin-type" } } output { stdout { debug => true debug_format => "json"} elasticsearch {} }
现在假设对于每个读取的日志,我想附加一个TTL,比如5天.
我知道如何在弹性搜索中激活TTL选项.但是我必须在弹性搜索配置文件中做出哪些更改对我来说不是很清楚.文档要求查找映射文件夹,但弹性搜索下载文件夹中没有.
寻求专家帮助.
如果您想将映射放在文件系统上,请查看此处.您必须转到该config
文件夹并在此处创建一个名为的文件夹mappings
,另一个名称中包含索引名称mappings
.由于logstash默认情况下每天创建一个索引_default
,因此最好使用该文件夹的名称,以便映射将应用于所有索引.您在该文件夹下创建的文件必须具有要应用映射的类型的名称.我不记得logstash使用的确切类型,因此我将使用_default_
映射定义.只需调用该文件_default_.json
并将以下内容放入其中:
{ "_default_" : { "_ttl" : { "enabled" : true } } }
如您所见,该类型的名称必须同时出现在文件名和内容中.
否则,你可以避免把东西放在文件系统上.您可以创建包含自定义映射的索引模板,如下所示:
{ "template" : "logstash-*", "mappings" : { "_default_" : { "_ttl" : { "enabled" : true } } } }
然后,映射将应用于名称与模板模式匹配的所有索引.如果使用_default_
映射定义,则映射将默认应用于将要创建的所有类型.