Время прохождения данных через logstash и возможные потери строк до elasticsearch

Собственно вопрос, как можно отследить данные от попадания в поле input logstash до их индексации elasicsearch.
Есть подозрение, что теряются некоторые строки из sql-запросов.
Также большие объемы данных не сразу становятся доступны в elasticsearch. Разница по времени отображения в kibana может быть до 10 минут. При этом данные приходят все.
По tcpdump на сервере логсташ по исходящему порту, данные уходят вовремя. Ошибок в логах нет. Если они становятся в очередь для индексации в эластике, как это лучше оперативно мониторить?

От безысходности пробовал построить визуализацию timestamp от row_number добавив в запросы sql postgres (SELECT row_number() OVER(), * ... ).

Подскажите, пожалуйста, что еще можно проверить и как правильно сделать?

А в настройках этого индекса параметр index.refresh_interval есть, и если есть, то какой у него значение?

Этот параметр устанавливает максимальное время ожидания для индексации?
у нас "refresh_interval":"555s"

Смотрю в тюнинге его рекомендуют отключать и в ноль устанавливать index.number_of_replicas

Elasticsearch буферизирует записи в памяти перед тем как их индексирует. Это делается для увеличения скорости индексации, так как каждый слив буфера (refresh) создает новый сегмент, который потом должен сливаться в больший сегмент и т.д. Другими словами, увеличение refresh_interval ускоряет процесс индексирования. Однако, это также означает, что новый данные могут не появляться в результатх поиска в течение этого самого refresh_interval то есть 555 секунд или, примерно, 10 минут.

Спасибо огромное! Сразу как увидел, все проверил и прочитал статью на эластике. Все работает теперь как надо!

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.