2013-05-13 59 views
0

我需要为每个从logstash导出的日志添加一个TTL。TTL弹性搜索不起作用

我已经创建config文件夹下的文件夹“映射”,其下我有一个文件夹_default下,我有JSON文件默认以.json,其中有:

{ 
    "_default_" : { 
     "_ttl" : { "enabled" : true, "default" : "10s" } 
    } 
} 

我我正在使用logstash将日志导出到弹性服务器。配置文件是:

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

    grok { 
    type => "stdin-type" 
    pattern => "I am %{USERNAME:username}" 
add_tag=>"{username}" 
    } 

} 
output { 
    stdout { debug => true debug_format => "json"} 
    elasticsearch 
{ 
} 
} 

我应该预计日志在10秒后从ELastic Search中删除,但情况并非如此。日志持续存在。 我哪里错了?我完全卡住了。

需要帮助。

回答

0

好家伙,把它工作。只是不得不改变

MESSAGE %{DATA}ERR_SYSTEM%{DATA} 

MESSAGE %{DATA}ERR_SYSTEM.* 
0

使用的模板:后来 { "template_1" : { "template" : "logstash-*", "settings" : { "number_of_shards" : 5, "number_of_replicas" : 1, "index.cache.field.type" : "soft", "index.refresh_interval" : "5s", "index.store.compress.stored" : true, "index" : { "store" : { "compress" : { "stored" : true }} } }, "mappings" : { "nginxlog" : { "_ttl" : {"enabled" : true, "default" : "1m"}, "properties" : { "@timestamp": { "type": "date", "format" : "dateOptionalTime"} } } } } }

集1分钟后,自动删除一分钟