Logstash с эластичным индексом всего 10 000 документов

Я работаю с Filebeat и Logstash для загрузки журналов в Elastic (все версии 7.3-oss). Мой файл журнала содержит миллиарды строк, но эластичный показывает только 10K документов. При добавлении вывода stdout кажется, что все данные поступают в Logstash, но по какой-то причине Logstash загружает только 10 000 документов.

Я добавил еще один выходной stdout {codec => rubydebug} для вывода на экран. Кажется, что данные поступают из Filebeat, но по какой-то причине Logstash загружает только 10 000 документов. Также попытался удалить фильтр Json в Logstash, но проблема все еще возникает.

Конфигурация Filebeat

filebeat.inputs:
- type: log
  paths:
    \\some-path\my.json
output.logstash:
  hosts: ["localhost:5044"]

Конвейер Logstash

input {
  beats {
    port => 5044
  }
}

filter{
    json{
        source => "message"
    }
}

output {
    stdout {
    codec => rubydebug 
    }
    elasticsearch {
        hosts => [ "machine-name:9200" ]
    }
}

Logstash.yml

пусто как установка по умолчанию


person Maya    schedule 04.09.2019    source источник


Ответы (1)


Я обнаружил, что это был мой поиск, который вызвал замешательство. Согласно https://www.elastic.co/guide/en/elasticsearch/reference/7.3/search-request-body.html#request-body-search-track-total-hits, просто эластичный не вернул точных попаданий (только что заявил, что больше 10000).

Изменение моего поискового запроса

GET logstash-*/_search
{
  "track_total_hits": true
}

вернул нужный размер.

person Maya    schedule 04.09.2019