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

能否绕过Prometheus,通过REST API直接向Thanos写入数据?

能否不借助Prometheus直接向Thanos写入数据?

嘿,这个问题问得很实在!其实Thanos本身并没有专门的独立REST API来直接写入指标,但咱们有个靠谱的变通方案——利用它兼容Prometheus的**远程写入(remote write)**接口来实现,完全不需要依赖完整的Prometheus实例。

具体怎么操作呢?给你拆解下:

  • 首先得部署Thanos Receiver组件,它就是专门用来接收远程写入数据的角色。配置的时候要确保开启对应的端口(默认是10908),同时配置好存储后端(比如S3、GCS或者本地磁盘)来持久化这些写入的指标数据。
  • 接下来,你只需要构造符合Prometheus远程写入格式的HTTP请求,发送到Thanos Receiver的/api/v1/receive端点就行。请求体可以用Protocol Buffers格式(这是官方推荐的,性能更好),也可以用JSON格式(调试起来更方便)。
  • 给你贴个用curl发送JSON请求的简单例子,你可以直接参考:
curl -X POST -H "Content-Type: application/json" http://<thanos-receiver-ip>:10908/api/v1/receive -d '{
  "timeseries": [
    {
      "labels": [
        {"name": "__name__", "value": "custom_app_metric"},
        {"name": "env", "value": "production"}
      ],
      "samples": [
        {"value": 67.8, "timestamp": '"$(date +%s%N)"'}
      ]
    }
  ]
}'
  • 这里要注意几个细节:Thanos Receiver会严格校验指标格式是否符合Prometheus规范,比如必须包含__name__标签(这是指标的名称),标签名称不能有非法字符(比如空格、特殊符号)。

要是你不想部署Thanos Receiver的话,那确实没有其他直接写入Thanos的方式了——因为Thanos的其他组件(比如Query、Store Gateway)都是只读角色,只负责查询和读取存储里的指标,不支持写入操作。

内容的提问来源于stack exchange,提问作者Альберт Александров

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.07 18:27:39