statsd_sample_rate

Задает частоту выборки для метрик, отправляемых в StatsD, что позволяет контролировать выборку статистики.

Синтаксисstatsd_sample_rate number;
По умолчаниюnone
Контекстhttp, server, location
Аргументы1

Описание

Директива statsd_sample_rate задаёт процент запросов, которые должны отбираться и отправляться на сервер StatsD. Это особенно полезно для уменьшения нагрузки на сервер StatsD при высокой нагрузке, поскольку позволяет отправлять метрики по части запросов, а не отправлять каждую отдельную метрику. Например, значение '10' означает, что в среднем будет отправлено 10% всех метрик. Директива принимает целое число в качестве аргумента, представляющее процент выборки.

При определении директивы её можно поместить в контексты http, server или location. Такая гибкость позволяет управлять выборкой в разных областях конфигурации NGINX. Если не задано, по умолчанию отправляются все метрики (100%), что может привести к высокому использованию пропускной способности и потенциальной перегрузке сервера StatsD. Значение частоты выборки трактуется как простое целое число и напрямую уменьшает объём отправляемых метрик в соответствии с указанным процентом.

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

Пример конфига

http {
    statsd_server your.statsd.server.com;
    statsd_sample_rate 10;  # Sample 10% of requests

    server {
        location / {
            statsd_count "your_product.requests" 1;
        }
    }
}

Установка sample rate в 0 остановит отправку всех metrics. Убедитесь, что используется корректный percentage.

Учтите, что percentage является integer и не должен превышать 100, поскольку значения выше 100 могут привести к undefined behavior.

← Ко всем директивам