首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >thanos之receive组件

thanos之receive组件

原创
作者头像
大侠之运维
发布2025-09-26 11:24:23
发布2025-09-26 11:24:23
1270
举报

除了前面描述的sidecar模式外,thanos还提供了一种数据接收模式,就是今天要介绍的receive组件。

关于thanos的receive组件

thanos的receive组件是一个支持远程写入的接收组件,它可以专门用来接收prometheus的数据,对于prometheus来讲只需要添加一行配置。

它会把接收到的时序数据写成 TSDB block,也可以上传到对象存储,就像 Sidecar 做的事情一样。

启动一个thanos的receive组件

前提你需要至少有一套在运行的prometheus

代码语言:bash
复制
docker run -d --rm     -v $(pwd)/receive-data:/receive/data     --net=host     --name receive     quay.io/thanos/thanos:v0.28.0     receive     --tsdb.path "/receive/data"     --grpc-address 172.17.0.1:10907     --http-address 172.17.0.1:10909     --label "receive_replica=\"0\""     --label "receive_cluster=\"wayne-enterprises\""     --remote-write.address 172.17.0.1:10908

然后还需要启动一个查询组件

代码语言:bash
复制
 docker run -d --rm     --net=host     --name query     quay.io/thanos/thanos:v0.28.0     query     --http-address "0.0.0.0:39090"     --store "172.17.0.1:10907"

启动完成后,需要修改prometheus的配置文件,添加如下配置

代码语言:yml
复制
 remote_write:
- url: 'http://172.17.0.1:10908/api/v1/receive'

然后reload一下prometheus,就可以看到数据已经写入到receive组件中了

代码语言:bash
复制
curl -X POST http://172.17.0.1:9090/-/reload

什么场景下需要用到该组件

  • 集中式监控平台:多个 Prometheus 实例只负责采集数据,不需要存储,直接 remote_write 到 Thanos Receive。
  • 多租户环境:比如 SaaS 平台,每个客户一套指标,通过 tenant 分隔,写到 Receive。
  • 希望减少数据延迟:相比 Sidecar 模式,Receive 几乎是实时接收数据(Prometheus 采集到 → 立即 remote_write 到 Receive)。

Thanos Receive 就像是一个“大号远程存储服务”,可以集中接收多 Prometheus 的指标,支持多租户,实时性更好,非常适合规模化场景。

前面的文章中,我们已经介绍过了thanos的Sidecar、Query、Store Gateway、Receive、Compactor组件,它还有一些别的组件,后面的文章中,也会有介绍,包括规则告警组件、还有一些工具类组件。

这边文章就介绍到这里了!

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 关于thanos的receive组件
  • 启动一个thanos的receive组件
  • 什么场景下需要用到该组件
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档