statsd_sample_rate
为发送到 StatsD 的指标设置采样率,以便对统计数据进行受控采样。
NGINX module for sending stats to statsd
·
httpserverlocation
语法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;
}
}
}⚠
将采样率设置为 0 会停止所有指标的发送。请确保使用有效的百分比。
⚠
请注意,百分比为整数且不应超过 100,因为超过 100 的值可能导致未定义的行为。