news 2026/5/11 6:24:45

Thanos高可用监控Prometheus联邦与长期存储实战

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Thanos高可用监控Prometheus联邦与长期存储实战

问题背景

单机Prometheus用着挺好,直到遇到这些问题:

  1. 存储空间有限:本地存储撑不了多久,15天的数据就把磁盘塞满了
  2. 单点故障:Prometheus挂了,监控数据就没了
  3. 多集群查询难:每个K8s集群一个Prometheus,想看全局数据得挨个登录
  4. 数据不能跨实例聚合:不同Prometheus的数据没法一起算

Prometheus官方的联邦方案解决不了长期存储,而且联邦本身也是单点。

Thanos的出现解决了这些问题:

  • 无限期存储(用对象存储)
  • 全局查询(跨Prometheus实例)
  • 高可用(多副本去重)
  • 向下采样(长期数据压缩)

Thanos架构

Thanos由几个组件构成:

┌─────────────────┐ ┌─────────────────┐ │ Prometheus 1 │ │ Prometheus 2 │ │ + Sidecar │ │ + Sidecar │ └────────┬────────┘ └────────┬────────┘ │ │ │ ┌──────────────────┤ │ │ │ ▼ ▼ ▼ ┌─────────────┐ ┌─────────┐ │ Querier │◄────────│ Store │ └──────┬──────┘ │ Gateway │ │ └────┬────┘ │ │ ▼ ▼ ┌─────────────┐ ┌─────────┐ │ Query │ │ Object │ │ Frontend │ │ Storage │ └─────────────┘ └─────────┘
  • Sidecar:挂在Prometheus旁边,上传数据到对象存储
  • Store Gateway:从对象存储读取历史数据
  • Querier:全局查询入口,聚合所有数据源
  • Query Frontend:查询缓存和分片
  • Compactor:数据压缩和向下采样
  • Ruler:分布式告警规则评估

部署实战

用Helm部署最方便。假设对象存储用MinIO(生产环境用云厂商的OSS)。

准备对象存储

先创建存储配置:

# thanos-storage.yamltype:S3config:bucket:thanosendpoint:minio.monitoring.svc.cluster.local:9000access_key:thanossecret_key:thanos123456insecure:true

创建Secret:

kubectl create secret generic thanos-objstore-config\--from-file=objstore.yml=thanos-storage.yaml\-n monitoring

配置Prometheus + Sidecar

修改Prometheus配置,添加external_labels和Sidecar:

# prometheus-values.yaml (kube-prometheus-stack)prometheus:prometheusSpec:replicas:2retention:6hretentionSize:10GB# 外部标签,用于去重externalLabels:cluster:prod-cluster-1replica:$(POD_NAME)# 启用Thanos Sidecarthanos:image:quay.io/thanos/thanos:v0.32.5objectStorageConfig:existingSecret:name:thanos-objstore-configkey:objstore.yml# 禁用本地规则评估(用Thanos Ruler)ruleSelector:{}# Sidecar的grpc端口thanosService:enabled:truethanosServiceMonitor:enabled:true

部署Thanos组件

# thanos-components.yaml---apiVersion:apps/v1kind:Deploymentmetadata:name:thanos-querynamespace:monitoringspec:replicas:2selector:matchLabels:app:thanos-querytemplate:metadata:labels:app:thanos-queryspec:containers:-name:thanos-queryimage:quay.io/thanos/thanos:v0.32.5args:-query---log.level=info---query.replica-label=replica---query.auto-downsampling# 连接所有Sidecar---endpoint=dnssrv+_grpc._tcp.prometheus-thanos.monitoring.svc.cluster.local# 连接Store Gateway---endpoint=dnssrv+_grpc._tcp.thanos-store.monitoring.svc.cluster.localports:-containerPort:10902name:http-containerPort
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/7 13:12:01

初次上手如何快速开发基于大模型+function call的agent应用?

初次上手如何快速开发基于大模型function call的agent应用? 最近主导了一款ai agent系统的开发,在定架构的时候选择了MCP协议,在期间遇到不少坑点,记录顺分享一下相关内容。此篇是系列的第四篇:读完预计能对怎么快速搭…

作者头像 李华
网站建设 2026/4/17 18:18:39

GISer必看系列⑦|地信测绘就业单位类型

专业GIS公司专业GIS公司跟GIS从业者比较对口的,既有GIS平台研发单位,如:中地数码、易智瑞、超图;还有专门做项目的企业,像数据公司、系统平台、数字城市公司比比皆是。这些单位进去的门槛相对低些,薪资不高…

作者头像 李华
网站建设 2026/4/30 11:31:19

域名过期多久会被删除?完整时间线说明

很多人发现心仪的域名显示“已过期”,却不知道什么时候才能重新注册。实际上,域名从过期到真正删除,有一套相对固定的流程,不同阶段的操作空间也不一样。第一阶段:到期日(Expiration Date)域名到…

作者头像 李华
网站建设 2026/5/1 11:15:00

【短视频效率提升300%】:Open-AutoGLM自动化生成实战全解析

第一章:Open-AutoGLM与短视频创作的融合趋势随着人工智能技术的快速发展,大语言模型在内容生成领域的应用不断深化。Open-AutoGLM作为一种具备自动化推理与多模态理解能力的开源语言模型,正逐步渗透至短视频创作流程中,推动内容生…

作者头像 李华