thanos storage

文档

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)。

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
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
type: S3
config:
bucket: "tsdb"
endpoint: "minio.ui.k8s.cn:9000"
region: ""
access_key: "blGDf93r2z7JI7LHpfop"
insecure: false
signature_version2: false
secret_key: "TJUl16aHrjMdFGHx1oId6ZQBDPBSzdhbFWyFRmEN"
# put_user_metadata: {}
http_config:
idle_conn_timeout: 1m30s
response_header_timeout: 2m
insecure_skip_verify: true
trace:
enable: false
list_objects_version: ""
part_size: 134217728

grafana

访问grafana,新增数据源prometheus,请求地址为query的 http://thanos-query.thanos.svc:10902

点击打赏
文章目录
  1. 1. 文档
  2. 2. 组件:
  3. 3. 配置
    1. 3.1. s3
  4. 4. grafana
载入天数...载入时分秒... ,