- 文档首页
云监控
最佳实践
导出监控数据到 Prometheus
回填历史数据到 Prometheus
导出监控数据到 Prometheus
回填历史数据到 Prometheus
回填历史数据到 Prometheus
Exporter 提供历史数据回填功能,若导出监控数据到 Prometheus 时存在数据丢失的情况,支持手动回填数据。本文为您介绍如何回填历史数据。
说明
历史数据回填和导出监控数据到自建 Prometheus 功能目前均处于公测阶段,如需使用,请开通按量计费,然后联系您的客户经理。
回填任务会根据配置指定的产品/指标范围,按照当前时刻的实例列表,进行历史的监控数据的查询及导出。其中,指标点间隔为 DataFreshIntervalSeconds (默认值:60s),时间范围 [StartTime,EndTime) 按左闭右开处理。此外,若配置开启独立元数据指标 MetaLabelWithNewMetric (默认关闭),将额外导出一份当前时间的元数据序列。
已经安装 Exporter。提供 Kubernetes 安装、Docker 安装和虚拟机安装 3 种方式,详细说明参见:安装 Exporter。 - 若配置的回填时间范围未对齐指标间隔 QueryPeriodSeconds (默认为系统内置的指标间隔),会导致查询间隔偏移。因此,系统会自动对齐开始和结束时间到查询间隔的整数倍,例如:当指标间隔为 30s 时,对齐后的开始时间和结束时间为 xx:xx:30 或 xx:xx:00。
- 为确保查询结果中每个序列的数据间隔和常规导出一致,会根据当前配置文件中的 DataFreshIntervalSeconds(默认值:60s)进行分段,并对每段窗口内的数据点使用 StatisticsType 进行聚合计算。
- 回填任务将忽略 QueryDelaySeconds (默认为系统内置的指标延迟),指定回填时间范围时,需自行确保结束时间以避免数据延迟上报的问题。
步骤一:允许 RemoteWrite 并开启乱序写入
Prometheus 限制数据的写入规则,不允许写入早于 Prometheus 最后采集数据点的数据。因此,数据补点和 BackFilling 需要通过乱序写入来完成。
out_of_order_time_window: 10m
- 开启 Prometheus 的 RemoteWrite 能力。
./prometheus --web.enable-remote-write-receiver
说明
- 若配置文件和启动参数同时配置历史数据回填相关参数,命令行的优先级更高。
- 命令行快速启动中的 -n 启动参数,提供运行后不主动退出进程,配置文件暂不支持此配置。
- 在配置文件(默认为 "/conf/config.yaml")中添加历史数据回填相关核心配置,示例如下:
StartTime: "2026-01-01T00:00:00+08:00"
EndTime: "2026-01-01T01:00:00+08:00"
EndPoint: http://prometheus-ip:prometheus-port/api/v1/write
- 执行 Exporter 启动命令 ./exporter --config='your_config.yaml',运行配置并开始历史数据回填。
在 Exporter 启动命令中添加历史数据回填相关启动参数,快速启动并进行历史数据回填,示例命令如下:
./exporter --config='your_config.yaml' --backfill --backfill-start "2026-01-05T00:00:00+08:00" --backfill-end "2026-01-05T12:00:00+08:00" -n
- 执行 Exporter 启动命令后,可通过日志中的进度条,查看详细回填进度。
- 在日志中获取 Exporter 启动监听端口根路径,登录控制台可视化查看回填进度。
最近更新时间:2026.01.19 11:51:28