Etcd几个关键的监控指标

简介: Etcd是一个高可靠、分布式的键值存储系统,Kubernetes的设计基本都是围绕Etcd设计的,可谓成也Etcd,败也Etcd。Etcd负责Kubernetes集群的数据存储,提供了集群数据一致性保证及监测(watch)等机制,是整个集群的核心,但由于Etcd本身的性能限制,制约了Kubernetes集群的规模,当前官宣的最大节点数是5000,但目前原生Kubernetes在生产环境中基本都不超过3000个节点,所以针对Etcd的监控尤为重要。

Etcd在Kubernetes中的重要性


Etcd是一个高可靠、分布式的键值存储系统,Kubernetes的设计基本都是围绕Etcd设计的,可谓成也Etcd,败也Etcd。Etcd负责Kubernetes集群的数据存储,提供了集群数据一致性保证及监测(watch)等机制,是整个集群的核心,但由于Etcd本身的性能限制,制约了Kubernetes集群的规模,当前官宣的最大节点数是5000,但目前原生Kubernetes在生产环境中基本都不超过3000个节点,所以针对Etcd的监控尤为重要。

监控指标


在生产环境中,可以通过Prometheus很好地监控Etcd的状态

1932fa3d2a7a4e6f8286e7ac9afa7128.png

leader的切换频次


当Etcd通过raft协议选举出leader后,leader应该是固定不变的。如果leader一直发生切换,是非常不稳定的。Etcd提供了etcd_server_leader_changes_seen_total指标,表示Etcd的leader切换次数。生产环境如果在一个小时内发生超过三次的leader切换,需要发出告警。

提交失败次数


Etcd是一种基于日志的存储系统,无论是选主节点,还是数据存储都需要集群内大部分节点参与。在分布式系统中数据提交(proposal)失败的情况会大大增加。Etcd通过etcd_server_proposals_committed_total(已提交)、etcd_server_proposals_failed_total(提交失败)、etcd_server_proposals_pending(等待提交)表示集群的提交情况或生产环境。如果集群在一个小时内5次提交失败,可以认为是异常情况。

数据写入性能


Kubernetes集群规模如果超过了两百台,建议Etcd加装SSD硬盘,这样性能会提升很多。Etcd的性能主要取决于磁盘的读写性能,每次数据提交分离,follow节点都必须落盘后才回复leader节点。Etcd提供了etcd_disk_wal_fsync_duration_seconds_bucket(wal日志同步磁盘耗时)和etcd_disk_backend_commit_duration_seconds_bucket(数据提交写入耗时)。为了避免常委效应,这两个指标通常使用分位指标告警。如果0.99分位的wal日志磁盘同步超过0.5ms或者0.99分位的数据提交写入超过0.25ms,则发出告警。

grpc指标


无论是Etcd节点之间的交互,还是客户端连接Etcd,v3版本的API已经全部切换到grpc。相比http方式,grpc有更高的性能。Etcd通过etcd_grpc_requests_failed_total指标表示grpc请求失败的次数,除以etcd_grpc_total(grpc请求总数)得出失败率。如果大于0.1可以认为请求的失败次数过多,应该提醒注意。

raft 共识算法总结


c042e68b85dd464fa52e694d5a63aa09.png

相关实践学习
深入解析Docker容器化技术
Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。Docker是世界领先的软件容器平台。开发人员利用Docker可以消除协作编码时“在我的机器上可正常工作”的问题。运维人员利用Docker可以在隔离容器中并行运行和管理应用,获得更好的计算密度。企业利用Docker可以构建敏捷的软件交付管道,以更快的速度、更高的安全性和可靠的信誉为Linux和Windows Server应用发布新功能。 在本套课程中,我们将全面的讲解Docker技术栈,从环境安装到容器、镜像操作以及生产环境如何部署开发的微服务应用。本课程由黑马程序员提供。     相关的阿里云产品:容器服务 ACK 容器服务 Kubernetes 版(简称 ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情: https://www.aliyun.com/product/kubernetes
目录
相关文章
|
缓存 Kubernetes API
K8S 性能优化 - K8S APIServer 调优
K8S 性能优化 - K8S APIServer 调优
|
存储 缓存 NoSQL
Harbor高可用集群设计及部署(基于离线安装方式一)
基于Harbor离线安装方式的高可用方案设计及部署。
750 0
|
JSON Kubernetes 数据格式
K8S client-go Patch example
我在本文中主要会介绍使用client-go的Patch方式,主要包括strategic merge patch和json-patch
|
存储 运维 Kubernetes
【深度】阿里巴巴万级规模 K8s 集群全局高可用体系之美
台湾作家林清玄在接受记者采访的时候,如此评价自己 30 多年写作生涯:“第一个十年我才华横溢,‘贼光闪现’,令周边黯然失色;第二个十年,我终于‘宝光现形’,不再去抢风头,反而与身边的美丽相得益彰;进入第三个十年,繁华落尽见真醇,我进入了‘醇光初现’的阶段,真正体味到了境界之美”。
【深度】阿里巴巴万级规模 K8s 集群全局高可用体系之美
|
弹性计算 容器 RDMA
在Kubernetes上使用RDMA
### RDMA RDMA(全称RemoteDirect Memory Access) 它为了解决网络传输中服务器端数据处理的延迟而产生。 它的原理是将待传输的数据从一台计算机的内存,直接传输到另一台计算机的内存,整个传输过程无需操作系统和协议栈的介入。
10075 0
|
Prometheus Kubernetes 监控
在k8S中,etcd是怎么监控的?
在k8S中,etcd是怎么监控的?
|
Prometheus 监控 Kubernetes
监控 Kubernetes 集群证书过期时间的三种方案
监控 Kubernetes 集群证书过期时间的三种方案
|
资源调度 调度 混合部署
Koordinator 助力云原生应用性能提升,小红书混部技术实践
本文基于 2023 云栖大会上关于 Koordinator 分享的实录,介绍小红书通过规模化落地混部技术来大幅提升集群资源效能,降低业务资源成本。
|
存储 Kubernetes 监控
在K8S中,集群可以做哪些优化?
在K8S中,集群可以做哪些优化?
|
Kubernetes 监控 数据安全/隐私保护
普罗米修斯监控k8s
普罗米修斯监控k8s
262 1