Не работает эластичный поиск TTL

Мне нужно установить TTL для каждого журнала, экспортированного из logstash.

Я уже создал папку mappings в папке config, в которой у меня есть папка _default, в которой у меня есть файл json default .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 секунд, но это не так. Журналы сохраняются. Где я ошибаюсь? Я полностью застрял.

Нужна помощь.


person user2359303    schedule 13.05.2013    source источник


Ответы (2)


Отличные ребята, все заработало. Просто пришлось изменить

MESSAGE %{DATA}ERR_SYSTEM%{DATA}

to

MESSAGE %{DATA}ERR_SYSTEM.*
person user2359303    schedule 14.05.2013

использовать шаблоны: { "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 минуту, автоматически удалить через минуту

person 王大锤    schedule 03.08.2015