文档
https://github.com/thanos-io/thanos/tree/main
https://thanos.io/v0.33/thanos/getting-started.md/
组件:
边车组件(Sidecar)
:连接 Prometheus,并把 Prometheus 暴露给查询网关(Querier/Query),以供实时查询,并且可以上传 Prometheus 数据给云存储,以供长期保存(相当于可以连接本地prometheus以及查询器的)查询网关(Querier/Query)
:实现了 Prometheus API,与汇集底层组件(如边车组件 Sidecar,或是存储网关 Store Gateway)的数据(可以去查询sidecar里面的数据,或者是程查询存储网关里面的一个数据,有一部分的数据可能还在本地,因为sidecar还没有将数据上传上去,这个时候去查询的时候会根据查询时间会去路由到本地的sidecar,如果数据在远程存储上面,那么就会从存储网关上面去读取)存储网关(Store Gateway)
:将云存储中的数据内容暴露出来压缩器(Compactor)
:将云存储中的数据进行压缩和下采样接收器(Receiver)
:从 Prometheus 的 remote-write WAL(Prometheus 远程预写式日志)获取数据,暴露出去或者上传到云存储(和sidecar是两种不同的方式)规则组件(Ruler)
:针对监控数据进行评估和报警Bucket
:主要用于展示对象存储中历史数据的存储情况,查看每个指标源中数据块的压缩级别,解析度,存储时段和时间长度等信息。
Component | Interface | Port |
---|---|---|
Sidecar | gRPC | 10901 |
Sidecar | HTTP | 10902 |
Query | gRPC | 10903 |
Query | HTTP | 10904 |
Store | gRPC | 10905 |
Store | HTTP | 10906 |
Receive | gRPC (store API) | 10907 |
Receive | HTTP (remote write API) | 10908 |
Receive | HTTP | 10909 |
Rule | gRPC | 10910 |
Rule | HTTP | 10911 |
Compact | HTTP | 10912 |
Query Frontend | HTTP | 10913 |
从使用角度来看有两种方式去使用 Thanos,sidecar模式(remote read API,与 Prometheus server 部署于同一个 pod或主机 中)和 receiver 模式( Prometheus Remote Write API)。
- Thanos: read and write
https://artifacthub.io/packages/helm/banzaicloud-stable/thanos
1 |
Deployment with Receive
Thanos Receive 模式是 Thanos 响应社区用户 Remote Write 的需求新增的模式,其原理是:
- Prometheus 或 Prometheus Agent 通过 Remote Write 将监控数据发送到 Thanos Receive Router;
- Thanos Receive Router 根据租户信息将数据发送给响应的 Thanos Receive Ingestor,其中 Router 是无状态的,Ingestor 是有状态的;
- Thanos Receive Ingestor 相当于在一个没有数据抓取能力和告警能力的 Prometheus 之上增加了 Store API 的支持用于和 Thanos Query/Thanos Ruler 交互,增加了 Shipper 组件将落盘 Block 上传对象存储;
- Thanos Query 可以统一查询 Thanos Ingestor、Thanos Store Gateway;
- 其他组件作用和 Thanos Sidecar 模式类似。
配置
s3
- thanos-store-gateway
- thanos-compact
- thanos-receive-ingestor
- thanos-rule
objstoreConfig https://thanos.io/v0.17/thanos/storage.md
1 | type: S3 |
grafana
访问grafana,新增数据源prometheus,请求地址为query的 http://thanos-query.thanos.svc:10902