statsd_sample_rate
Задает частоту выборки для метрик, отправляемых в StatsD, что позволяет контролировать выборку статистики.
Описание
Директива 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.