重剑无锋--从零开始建设k8s监控之总结(八)
前言
在前文中,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监控之总结(八)的更多相关文章
- [转帖]从零开始入门 K8s:应用编排与管理:Job & DaemonSet
从零开始入门 K8s:应用编排与管理:Job & DaemonSet https://www.infoq.cn/article/KceOuuS7somCYbfuykRG 陈显鹭 阅读数:193 ...
- k8s监控api调用
k8s监控api调用 curl -s --cacert /etc/kubernetes/ssl/ca.pem -basic -u fengjian:fengjian --insecure -X GET ...
- 从零开始搭建前端监控系统(三)——实现控制iframe前进后退
前言 本系列文章旨在讲解如何从零开始搭建前端监控系统. 项目已经开源 项目地址: https://github.com/bombayjs/bombayjs (web sdk) https://gith ...
- [转帖]从零开始入门 K8s | 手把手带你理解 etcd
从零开始入门 K8s | 手把手带你理解 etcd https://zhuanlan.zhihu.com/p/96721097 导读:etcd 是用于共享配置和服务发现的分布式.一致性的 KV 存储系 ...
- 从零开始入门 K8s | Kubernetes 存储架构及插件使用
本文整理自<CNCF x Alibaba 云原生技术公开课>第 21 讲. 导读:容器存储是 Kubernetes 系统中提供数据持久化的基础组件,是实现有状态服务的重要保证.Kubern ...
- Kubernetes_从零开始搭建k8s集群(亲测可用)
一.前言 本文讲述从零开始搭建k8s集群,均使用国内镜像,版本均统一,使用两个虚拟机,一个主节点,一个从节点,保证k8s一次搭建成功. 注意:Kubernetes,简称K8s,是用8代替名字中间的8个 ...
- 【高德地图API】从零开始学高德JS API(八)——地址解析与逆地址解析
原文:[高德地图API]从零开始学高德JS API(八)——地址解析与逆地址解析 摘要:无论是百度LBS开放平台,还是高德LBS开放平台,其调用量最高的接口,必然是定位,其次就是地址解析了,又称为地理 ...
- 从零开始入门 K8s | 可观测性:监控与日志
作者 | 莫源 阿里巴巴技术专家 一.背景 监控和日志是大型分布式系统的重要基础设施,监控可以帮助开发者查看系统的运行状态,而日志可以协助问题的排查和诊断. 在 Kubernetes 中,监控和日志 ...
- prometheus和metrucs-server (k8s监控)
资源指标:metrucs-server 自定义指标:prometheus, k8s-prometheus-adapter(转换prometheus数据的格式) 新一代架构: 核心指标流水线:由kube ...
- 从零开始入门 K8s | 应用编排与管理:Job & DaemonSet
一.Job 需求来源 Job 背景问题 首先我们来看一下 Job 的需求来源.我们知道 K8s 里面,最小的调度单元是 Pod,我们可以直接通过 Pod 来运行任务进程.这样做将会产生以下几种问题: ...
随机推荐
- TVM:解析TVM算子
在对TVM:编译流程一文中,从ONNX模型中读取模型并转换为relay IR,其中调用_convert_operator函数关于将onnx算子转换成Relay算子,其中如何实现当时直接跳过去了,本节将 ...
- RPC实战与核心原理之健康检测
健康检测:这个节点都挂了,为啥还要疯狂发请求 回顾 超大规模集群"服务发现"的挑战,服务发现的作用就是实时感知集群 IP 的变化,实现接口跟服务集群节点 IP 的映射.在超大规模集 ...
- svchost.exe占用端口
事情是这样的,我写的某个程序基于tcp协议与其他程序进行通信,但每隔一段时间,该程序就不能与其他程序正常交流,用 telnet 127.0.0.1 1000 显示连接失败,但是程序的确开启,应该在监听 ...
- 9 easybr指纹浏览器https代理认证教程
目的 在高匿名浏览环境中,代理是关键组件之一.相比普通 HTTP 代理,HTTPS 代理(HTTP over TLS) 支持加密传输,在保障隐私.防止中间人攻击方面更具优势. Chromium 浏览器 ...
- AtCoder Beginner Contest 372 补题记录
A - delete 题意: 输出删除字符串中 . 后的字符串 思路: 只输出字符串中不是 . 的字符 void solve() { string s = sread(); for(auto it:s ...
- HarmonyOS NEXT开发教程:全局悬浮窗
今天跟大家分享一下HarmonyOS开发中的悬浮窗. 对于悬浮窗,可能有的同学会想到使用层叠布局是否可以实现,将悬浮窗叠在导航栏组件Tabs上,像这样: Stack({alignContent:Ali ...
- maven导入org.apache.pdfbox
PDF和图片相互转换用到的maven依赖如下: <dependency> <groupId>org.apache.pdfbox</groupId> <arti ...
- 对比Jira/禅道后,我们为什么选择Leangoo做敏捷项目管理?
一.敏捷团队的3大隐形痛点 我曾带领过一个6人的Scrum团队,迭代经常遇到: 需求变更黑洞:客户口头需求未及时同步,开发完成后才发现理解偏差(案例:某次迭代因此浪费32人日) 进度监控盲区:用Exc ...
- 关于js中的toLocaleDateString()方法
toLocaleDateString()方法是JavaScript Date对象的一个内建方法,它将日期转换为符合特定地区习惯的字符串格式. 基本用法: 如果没有传入任何参数,toLocaleDate ...
- CAN304 W1
CAN304 W1 Definition The protection afforded to an automated information system in order to attain t ...
