You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何为Docker中运行的本地Prometheus填充指定时间戳的测试数据?

解决方案:为Prometheus推送带指定时间戳的测试数据

针对你需要给Docker中的Prometheus填充带精确时间戳的测试数据的需求,这里提供两种高效的Python实现方案,完全解决PushGateway无法自定义时间戳、生成长序列慢以及时间戳不精确的问题。

方法1:使用远程写入API(推荐)

通过Prometheus的远程写入端点直接推送结构化数据,支持批量写入,效率极高,且能精准指定每个样本的时间戳。

步骤1:修改Docker中Prometheus的启动参数

运行Prometheus时需开启远程写入接收功能,添加--enable-feature=remote-write-receiver参数:

docker run -d -p 9090:9090 -v /你的本地配置路径/prometheus.yml:/etc/prometheus/prometheus.yml prom/prometheus --enable-feature=remote-write-receiver

步骤2:Python代码实现

先安装依赖库:

pip install prometheus-remote-write

编写推送代码:

from prometheus_remote_write import Client, Metric, Sample

# 连接到本地Prometheus的远程写入端点
client = Client("http://localhost:9090/api/v1/write")

# 构造指标及指定时间戳的样本数据
test_metric = Metric(
    name="my_metric",
    labels={"my_label": "label_value"},
    samples=[
        Sample(value=1, timestamp=1518008444.819),
        Sample(value=2, timestamp=1518008454.819),
        Sample(value=3, timestamp=1518008464.819),
    ]
)

# 批量推送数据
client.write([test_metric])

方法2:通过文本格式导入API

无需额外安装第三方库,直接构造Prometheus文本格式的指标数据,通过/api/v1/import端点导入,同样支持精确时间戳。

Python代码实现

import requests

# 构造带时间戳的指标文本,每行格式为「指标名{标签} 数值 @时间戳」
metric_content = """
my_metric{my_label="label_value"} 1 @1518008444.819
my_metric{my_label="label_value"} 2 @1518008454.819
my_metric{my_label="label_value"} 3 @1518008464.819
"""

# 发送导入请求
response = requests.post(
    url="http://localhost:9090/api/v1/import",
    data=metric_content.strip(),
    headers={"Content-Type": "text/plain"}
)

# 验证结果
if response.ok:
    print("测试数据导入成功")
else:
    print(f"导入失败: {response.status_code} - {response.text}")

关键说明

  • 两种方法均要求Prometheus启动时添加--enable-feature=remote-write-receiver参数,否则对应API端点无法访问。
  • 时间戳需为Unix时间戳(秒级浮点数),与你提供的格式完全匹配。
  • 生成长序列数据时,只需在样本列表/文本中添加更多条目即可,批量写入效率不受系统负载或抓取策略影响。

内容的提问来源于stack exchange,提问作者Maxim Suslov

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.28 16:33:32