Перейти к основному содержимому
Версия: 4.2

Траблшутинг проблем сбора данных

Задержка или потеря событий

В ситуациях когда рекомендации по сбору и парсингу данных соблюдены, но всё равно наблюдается перегрузка коллектора, которая может выражаться в задержке или потере событий, то рекомендуется изучить нижеприведенные метрики.

Backpressure

Данная метрика должна стремиться к нулю. Повышение значения возникает, когда коллектор не справляется с объемом входящих данных и начинает замедлять или приостанавливать их обработку. Это может происходить по разным причинам, например, из-за ограничений пропускной способности, высокой нагрузки на процессор или недостатка памяти. Для отслеживания метрики используется endpoint _node/stats/flow.

Throughput

Throughput (пропускная способность) — это метрика, которая отображает количество данных, обрабатываемых Logstash за единицу времени. Снижение этого показателя относительно целевого значения может свидетельствовать о проблемах в конфигурации использования ресурсов или их нехватке. Более того, данная метрика полезна для оценки нагрузки на хранилище, в которое данные попадают с коллектора. Чтобы повысить пропускную способность, вызванную низкой утилизацией доступных ресурсов, рекомендуется повысить значение pipeline.workers или pipeline.batch.size. Для отслеживания метрики используются endpoint'ы _node/stats/flow и _node/stats/pipelines для получения статистики по каждому пайплайну.

Queue

Очередь в коллекторе используется для хранения событий, ожидающих обработки. Контроль состояния очереди важен для предотвращения потерь данных. Существует два вида очередей: memory и persistent. Очередь в оперативной памяти (memory) обеспечивает быструю обработку данных, но подвержена потере данных при сбоях и перезапусках службы. Дисковая очередь (persistent), сохраняет данные на диск, что обеспечивает их сохранность, но снижает скорость обработки. Выбор типа очереди зависит от характеристик потока и требований к сохранности данных. При использовании обоих видов очередей убедитесь что выделенное под них пространство доступно в памяти и на диске соответственно. Для отслеживания состояния очередей по каждому пайплайну используется endpoint _node/stats/pipelines.