Prometheus中downshard是什么?Remote Write场景下何时需使用?
关于Prometheus中downshard及Remote Write场景下的触发时机
什么是Prometheus的downshard
Prometheus里的downshard是Remote Write模块的一种流量拆分机制:当要发送给远程存储的时序数据量太大,或者单批次请求负载过高时,它会把原本的一个大请求拆成多个更小的子请求(分片),分散发送给远程存储端,以此降低单请求的压力,避免请求超时、失败,同时提升数据传输的稳定性和效率。
Remote Write场景下何时需要downshard操作
- 单批次待发送的时序样本数量超过配置阈值(默认由
remote_write.shard_size控制,通常是1000个样本)时,会自动触发downshard - 远程存储返回"请求过大"类的响应(比如HTTP 413错误)时,Prometheus会触发downshard拆分请求后重试
- 当Prometheus和远程存储之间网络状况差,大请求容易超时或失败时,也会通过downshard拆分请求来提升发送成功率
- 补充说明你日志里的内容:"Not downsharding due to being too far behind"是指Prometheus已经堆积了大量未发送的历史数据,此时拆分请求会加剧数据积压,所以暂时不执行downshard,优先批量发送积压数据。
内容的提问来源于stack exchange,提问作者Ren
相关产品推荐
相关产品推荐

