statsd_sample_rate

为发送到 StatsD 的指标设置采样率,以便对统计数据进行受控采样。

语法statsd_sample_rate number;
默认值none
上下文http, server, location
参数1

说明

statsd_sample_rate 指令指定应被采样并发送到 StatsD 服务器的请求百分比。在高流量场景下,这对于减少 StatsD 服务器的负载尤其有用,因为它允许你仅对请求的子集报告指标,而不是发送每个指标。例如,采样率为 '10' 表示平均会发送 10% 的所有指标。该指令接受一个整数值作为参数,表示采样率的百分比。

在定义该指令时,可以将其放置在 httpserverlocation 上下文中。这一灵活性允许用户在 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;
        }
    }
}

将采样率设置为 0 会停止所有指标的发送。请确保使用有效的百分比。

请注意,百分比为整数且不应超过 100,因为超过 100 的值可能导致未定义的行为。

← 返回所有指令