Thanos
简介
特点
架构
组件
这张图中包含了 Thanos 的几个核心组件:
- Thanos Query:实现了 Prometheus API,将来自下游组件提供的数据进行聚合最终返回给查询数据的 client(如 Grafana),类似数据库中间件。
- Thanos Sidecar:连接 Prometheus,将其数据提供给 Thanos Query 查询,并且/或者将其上传到对象存储,以供长期存储。
- Thanos Store Gateway:将对象存储的数据暴露给 Thanos Query 去查询。
- Thanos Ruler:对监控数据进行评估和告警,还可以计算出新的监控数据,将这些新数据提供给 Thanos Query 查询并且/或者上传到对象存储,以供长期存储。
- Thanos Compact:将对象存储中的数据进行压缩和降低采样率,加速大时间区间监控数据查询的速度。
配置
prometheus
Sidecar 启动时,需要prometheus 每个实例设置唯一的external_labels
|
|
sidecar
Sidecar与prometheus部署在同一个节点上,采集prometheus指标
|
|
query
Query 组件用来聚合sidecar,提供统一的查询
|
|
Ruler
通过查询 Thanos Query 获取全局数据,然后根据 rules 配置计算新指标并存储,同时也通过 Store API 将数据暴露给 Thanos Query,同样还可以将数据上传到对象存储以供长期保存(这里上传到对象存储中的数据一样也是通过 Thanos Store Gateway 暴露给 Thanos Query)
Thanos Ruler 为 Thanos Query 提供计算出的新指标数据,而 Thanos Query 为 Thanos Ruler 提供计算新指标所需要的全局原始指标数据。
grafana
grafana datasource 选择prometheus url: <thanos_query_http_addr>