Remote Write和Remote Read地址使用说明
更新时间:2026-06-12
概述
本文档介绍如何在百度云 Prometheus 监控服务中获取 Remote Write 和 Remote Read 地址,配置开源 Prometheus 将监控数据写入百度云 Prometheus 监控服务,并在 Grafana 中查看写入后的监控数据。
前提条件
- 已部署开源 Prometheus,并确保其运行正常。
- 已创建百度云 Prometheus 监控实例,且目标实例处于 运行中 状态。
- 拥有目标实例的可用 Token,或具备为目标实例生成 Token 的权限。
Remote Write和Remote Read接口暂不支持 HTTP/2。
操作场景
百度云 Prometheus 监控服务 CProm 提供了 Remote Write 和 Remote Read 两个标准接口。Remote Write 用于将 Prometheus 的实时数据写入外部存储,Remote Read 用于从外部存储读取历史数据,从而实现存储与计算解耦,支持长期数据保留和高可用架构。
本文以开源 Prometheus 将监控数据写入百度云 Prometheus 监控服务为例,介绍如何获取并使用 Remote Write 和 Remote Read 地址。
步骤一:获取 Remote Write 和 Remote Read 地址
导航路径:产品服务->容器->Prometheus 监控服务
- 登录 百度智能云控制台,进入 产品服务->容器->Prometheus 监控服务。
- 在监控实例列表中,单击目标实例,进入实例信息页。
- 在实例信息页复制
Remote Write和Remote Read公网地址。 - 单击 【生成 Token】 生成 Token;若已有可用 Token,单击 【更多Token】 复制已有 Token。



步骤二:配置开源 Prometheus
导航路径:Prometheus 安装目录->prometheus.yml
- 安装 Prometheus,安装方法请参见 Prometheus 下载地址。
- 打开 Prometheus 配置文件,例如
prometheus.yml。 - 将上一步获取到的公网地址补全为完整接口路径,并在文件末尾增加以下配置后保存文件。
- 配置
headers.authorization时,值必须写为Bearer <your-token>,不能省略Bearer前缀。
YAML
1global:
2 scrape_interval: 15s
3 evaluation_interval: 15s
4
5scrape_configs:
6 - job_name: 'prometheus'
7 static_configs:
8 - targets: ['localhost:9090']
9
10remote_write:
11 - url: "<remote-write-public-address>/prometheus/api/v1/write"
12 headers:
13 instanceId: "<your-instance-id>"
14 authorization: "Bearer <your-token>"
15
16remote_read:
17 - url: "<remote-read-public-address>/prometheus/api/v1/query"
18 read_recent: true
19 headers:
20 instanceId: "<your-instance-id>"
21 authorization: "Bearer <your-token>"
注意:
- 配置
Remote Read的 Prometheus 需谨慎配置global.external_labels:external_labels会被附加在Remote Read的查询条件中,不正确的 label 可能导致查询不到需要的数据。- 避免出现相同的 series:对于完全相同的两个 series,Prometheus 会在查询合并时在每个时间点随机从一个 series 取值组成新的 series 作为查询结果,这会导致查询结果不准确。
步骤三:Remote Write 完整配置项
说明:
[]中的配置项为可选项。本文展示Prometheus v2.40版本配置,低版本可能缺少部分配置项,Remote Read的完整配置项详见 Prometheus 官方文档。
Text
1# remote write 目标 Prometheus 实例的 API 地址
2url: <string>
3
4# 标识一个唯一的 remote write 配置名称
5[ name: <string> ]
6
7# remote 查询超时时间
8[ remote_timeout: <duration> | default = 30s ]
9
10# 自定义 remote write 请求中附带的 headers,无法覆盖 Prometheus 原本添加的 headers
11headers:
12 [ <string>: <string> ... ]
13
14# 为每个 remote 请求添加 Authorization header,password 与 password_file 二选一
15basic_auth:
16 [ username: <string> ]
17 [ password: <secret> ]
18 [ password_file: <string> ]
19
20# 自定义 Authorization header 配置
21authorization:
22 # 认证类型
23 [ type: <string> | default: Bearer ]
24 # 认证密钥,credentials 与 credentials_file 二选一
25 [ credentials: <secret> ]
26 # 密钥从文件中获取
27 [ credentials_file: <filename> ]
28
29# OAuth2.0 认证,不能与 basic_auth、authorization 同时使用
30oauth2:
31 [ <oauth2> ]
32
33# TLS 配置
34tls_config:
35 [ <tls_config> ]
36
37# 代理 URL
38[ proxy_url: <string> ]
39
40# 查询请求是否接受 3XX 跳转
41[ follow_redirects: <boolean> | default = true ]
42
43# 是否启用 HTTP2
44[ enable_http2: <bool> | default: true ]
45
46metadata_config:
47 # 是否将度量元数据发送到远程存储
48 [ send: <boolean> | default = true ]
49 # 将度量元数据发送到远程存储的频率
50 [ send_interval: <duration> | default = 1m ]
51 # 每次发送的最大样本数
52 [ max_samples_per_send: <int> | default = 500 ]
步骤四:查看写入的开源 Prometheus 的监控数据
运行开源 Prometheus 后,您可以在对应监控实例内置的 Grafana 中查看监控数据。
导航路径:产品服务->容器->Prometheus 监控服务->目标实例->Grafana 服务->Explore
- 登录 百度智能云控制台,进入 产品服务->容器->Prometheus 监控服务。
- 单击目标实例的 【Grafana 服务】,登录对应的 Grafana。
- 单击 【Explore】,选择对应配置的数据源。
- 单击 【Metrics】,选择开源 Prometheus 已采集的指标。
- 单击 【Run query】,查看查询结果。



评价此篇文章
