前言

在前文中,prometheus基本的用法都简单的描述一遍,最后本文来讨论一下prometheus高可用的问题

环境准备

组件 版本
操作系统 Ubuntu 22.04.4 LTS
docker 24.0.7
thanos 0.36.1

1. 双prometheus架构

  • 2个prometheus采集同一份metrics,一旦有一个出问题,另外一个补上去就行了
  • 该架构保证了prometheus服务的可用性以及数据的可用性
  • 但是会有数据冗余,始终采集了一份数据作为备用,并且prometheus单点压力过大

2. 做横向拆分的多prometheus架构

  • 将数据拆分组,并且有不同的prometheus采集,并且prometheus也进行拆分,减少单点的压力
  • 该架构既保证了prometheus服务可用性和数据可用性,又减少了prometheus单点压力
  • 数据依然有冗余,始终采集了一份数据作为备用,并且数据入口很分散,分组越多,会导致数据入口越分散

3. 多prometheus+数据统一查询架构

  • 有了统一的数据查询入口,使得web可以实时查询任一时刻的监控数据,如果数据已经超出了prometheus保留期,那也可以去外部存储上获取历史数据
  • 该架构继承了架构2的优点,并且解决了:1)查询入口分散的问题;2)查询历史数据的问题
  • 该架构的配置复杂度与日常的维护成本就很高了

4. 更复杂的架构

以下思考纯属个人观点,抛砖引玉而已

监控的本质问题,就在于准确获取metrics,并且对其进行分析,所有的架构都是围绕着这个目标来进行的,小到单点,大到多区域多中心,都不例外

对于获取metrics,比较关注获取速度、数据准确度以及覆盖范围

  • 获取速度,需要考虑:内网采集?跨公网vpn隧道采集?直接公共网络采集?
  • 数据准确度,需要考虑:多机器的时间是否统一?采集资源是否充足?
  • 覆盖范围,需要考虑:所选的exporter是否准确?

对于分析metrics,比较关注数据持久性、数据安全、分析实时性

  • 数据持久性,需要考虑:历史数据要保存多久?新鲜数据和老数据分别去什么地方获取?
  • 数据安全,需要考虑:数据是否是敏感数据?怎么防止数据泄露?
  • 分析实时性,需要考虑:多中心部署下怎么保证数据获取速度?多备份下采用哪一个备份的数据是最合理的?

小结

至此,k8s prometheus监控系列结束,期待下一个系列见,谢谢大家

联系我

  • 联系我,做深入的交流


至此,本文结束

在下才疏学浅,有撒汤漏水的,请各位不吝赐教...

重剑无锋--从零开始建设k8s监控之总结(八)的更多相关文章

  1. [转帖]从零开始入门 K8s:应用编排与管理:Job & DaemonSet

    从零开始入门 K8s:应用编排与管理:Job & DaemonSet https://www.infoq.cn/article/KceOuuS7somCYbfuykRG 陈显鹭 阅读数:193 ...

  2. k8s监控api调用

    k8s监控api调用 curl -s --cacert /etc/kubernetes/ssl/ca.pem -basic -u fengjian:fengjian --insecure -X GET ...

  3. 从零开始搭建前端监控系统(三)——实现控制iframe前进后退

    前言 本系列文章旨在讲解如何从零开始搭建前端监控系统. 项目已经开源 项目地址: https://github.com/bombayjs/bombayjs (web sdk) https://gith ...

  4. [转帖]从零开始入门 K8s | 手把手带你理解 etcd

    从零开始入门 K8s | 手把手带你理解 etcd https://zhuanlan.zhihu.com/p/96721097 导读:etcd 是用于共享配置和服务发现的分布式.一致性的 KV 存储系 ...

  5. 从零开始入门 K8s | Kubernetes 存储架构及插件使用

    本文整理自<CNCF x Alibaba 云原生技术公开课>第 21 讲. 导读:容器存储是 Kubernetes 系统中提供数据持久化的基础组件,是实现有状态服务的重要保证.Kubern ...

  6. Kubernetes_从零开始搭建k8s集群(亲测可用)

    一.前言 本文讲述从零开始搭建k8s集群,均使用国内镜像,版本均统一,使用两个虚拟机,一个主节点,一个从节点,保证k8s一次搭建成功. 注意:Kubernetes,简称K8s,是用8代替名字中间的8个 ...

  7. 【高德地图API】从零开始学高德JS API(八)——地址解析与逆地址解析

    原文:[高德地图API]从零开始学高德JS API(八)——地址解析与逆地址解析 摘要:无论是百度LBS开放平台,还是高德LBS开放平台,其调用量最高的接口,必然是定位,其次就是地址解析了,又称为地理 ...

  8. 从零开始入门 K8s | 可观测性:监控与日志

    作者 | 莫源  阿里巴巴技术专家 一.背景 监控和日志是大型分布式系统的重要基础设施,监控可以帮助开发者查看系统的运行状态,而日志可以协助问题的排查和诊断. 在 Kubernetes 中,监控和日志 ...

  9. prometheus和metrucs-server (k8s监控)

    资源指标:metrucs-server 自定义指标:prometheus, k8s-prometheus-adapter(转换prometheus数据的格式) 新一代架构: 核心指标流水线:由kube ...

  10. 从零开始入门 K8s | 应用编排与管理:Job & DaemonSet

    一.Job 需求来源 Job 背景问题 首先我们来看一下 Job 的需求来源.我们知道 K8s 里面,最小的调度单元是 Pod,我们可以直接通过 Pod 来运行任务进程.这样做将会产生以下几种问题: ...

随机推荐

  1. TVM:解析TVM算子

    在对TVM:编译流程一文中,从ONNX模型中读取模型并转换为relay IR,其中调用_convert_operator函数关于将onnx算子转换成Relay算子,其中如何实现当时直接跳过去了,本节将 ...

  2. RPC实战与核心原理之健康检测

    健康检测:这个节点都挂了,为啥还要疯狂发请求 回顾 超大规模集群"服务发现"的挑战,服务发现的作用就是实时感知集群 IP 的变化,实现接口跟服务集群节点 IP 的映射.在超大规模集 ...

  3. svchost.exe占用端口

    事情是这样的,我写的某个程序基于tcp协议与其他程序进行通信,但每隔一段时间,该程序就不能与其他程序正常交流,用 telnet 127.0.0.1 1000 显示连接失败,但是程序的确开启,应该在监听 ...

  4. 9 easybr指纹浏览器https代理认证教程

    目的 在高匿名浏览环境中,代理是关键组件之一.相比普通 HTTP 代理,HTTPS 代理(HTTP over TLS) 支持加密传输,在保障隐私.防止中间人攻击方面更具优势. Chromium 浏览器 ...

  5. AtCoder Beginner Contest 372 补题记录

    A - delete 题意: 输出删除字符串中 . 后的字符串 思路: 只输出字符串中不是 . 的字符 void solve() { string s = sread(); for(auto it:s ...

  6. HarmonyOS NEXT开发教程:全局悬浮窗

    今天跟大家分享一下HarmonyOS开发中的悬浮窗. 对于悬浮窗,可能有的同学会想到使用层叠布局是否可以实现,将悬浮窗叠在导航栏组件Tabs上,像这样: Stack({alignContent:Ali ...

  7. maven导入org.apache.pdfbox

    PDF和图片相互转换用到的maven依赖如下: <dependency> <groupId>org.apache.pdfbox</groupId> <arti ...

  8. 对比Jira/禅道后,我们为什么选择Leangoo做敏捷项目管理?

    一.敏捷团队的3大隐形痛点 我曾带领过一个6人的Scrum团队,迭代经常遇到: 需求变更黑洞:客户口头需求未及时同步,开发完成后才发现理解偏差(案例:某次迭代因此浪费32人日) 进度监控盲区:用Exc ...

  9. 关于js中的toLocaleDateString()方法

    toLocaleDateString()方法是JavaScript Date对象的一个内建方法,它将日期转换为符合特定地区习惯的字符串格式. 基本用法: 如果没有传入任何参数,toLocaleDate ...

  10. CAN304 W1

    CAN304 W1 Definition The protection afforded to an automated information system in order to attain t ...