news 2026/3/5 15:27:16

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/3/4 5:18:12

为什么顶级AI实验室都在关注Open-AutoGLM?(背后隐藏的3大颠覆性创新)

第一章:Open-AutoGLM的崛起背景与行业影响随着大语言模型技术的迅猛发展,自动化生成与理解能力成为人工智能领域的重要突破点。Open-AutoGLM作为一款开源的通用语言生成模型框架,凭借其高度模块化的设计和对多场景任务的广泛支持,…

作者头像 李华
网站建设 2026/3/4 8:46:28

从零开始部署CTF题目环境(docker容器)

本教程将教会大家如何安装一台可以部署docker容器形式的CTF题目的CentOS服务器。 操作步骤 1-下载操作系统镜像文件 虚拟操作系统:CentOS 8 (CentOS 9 毛病多,先不装) 镜像文件下载地址,点击X86_64即可 CentOS St…

作者头像 李华
网站建设 2026/3/3 18:06:39

保姆级2025网安学习路线:从零到专家,一份超详细避坑指南

关键词:网络安全入门、渗透测试学习、零基础学安全、网络安全学习路线 首先咱们聊聊,学习网络安全方向通常会有哪些问题 1、打基础时间太长 学基础花费很长时间,光语言都有几门,有些人会倒在学习 linux 系统及命令的路上&#…

作者头像 李华
网站建设 2026/3/5 12:34:24

错过cogagent Open-AutoGLM等于错过AI未来:3分钟看懂技术拐点

第一章:错过cogagent Open-AutoGLM等于错过AI未来在人工智能技术飞速演进的今天,cogagent Open-AutoGLM 正在重新定义大模型自动化能力的边界。它不仅是一个开源项目,更是一场关于智能代理(Agent)自主决策与任务执行范…

作者头像 李华
网站建设 2026/3/3 20:19:14

从下载到运行只需20分钟?Open-AutoGLM一键部署脚本详解

第一章:Open-AutoGLM本地部署概述Open-AutoGLM 是一个开源的自动化代码生成与推理框架,基于 GLM 架构实现,支持自然语言到代码的智能转换。该系统可在本地环境中部署,保障数据隐私的同时提供高性能的推理能力,适用于企…

作者头像 李华