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

相关实践学习
通过Ingress进行灰度发布
本场景您将运行一个简单的应用,部署一个新的应用用于新的发布,并通过Ingress能力实现灰度发布。
容器应用与集群管理
欢迎来到《容器应用与集群管理》课程,本课程是“云原生容器Clouder认证“系列中的第二阶段。课程将向您介绍与容器集群相关的概念和技术,这些概念和技术可以帮助您了解阿里云容器服务ACK/ACK Serverless的使用。同时,本课程也会向您介绍可以采取的工具、方法和可操作步骤,以帮助您了解如何基于容器服务ACK Serverless构建和管理企业级应用。 学习完本课程后,您将能够: 掌握容器集群、容器编排的基本概念 掌握Kubernetes的基础概念及核心思想 掌握阿里云容器服务ACK/ACK Serverless概念及使用方法 基于容器服务ACK Serverless搭建和管理企业级网站应用
目录
相关文章
|
运维 监控 数据可视化
ELK日志监控分析系统的探索与实践(二):利用Metricbeat监控服务器系统指标
在ELK日志监控分析系统的探索与实践(一)中,我们介绍了如何利用ELK+Filebeat监控Springboot项目的日志,本篇则是重点介绍如何利用ELk+Metricbeat监控服务器系统CPU、内存、磁盘等系统指标。
ELK日志监控分析系统的探索与实践(二):利用Metricbeat监控服务器系统指标
|
3月前
|
Prometheus Kubernetes 监控
在k8S中,etcd是怎么监控的?
在k8S中,etcd是怎么监控的?
|
6月前
|
Kubernetes 监控 API
Kubernetes指标监控metrics-server
Kubernetes指标监控metrics-server
85 0
Kubernetes指标监控metrics-server
|
6月前
|
存储 Kubernetes 监控
Kubernetes(k8s)集群健康检查常用的五种指标
Kubernetes(k8s)集群健康检查常用的五种指标
989 1
|
Prometheus 监控 Cloud Native
与Prometheus类似的监控和度量产品
以下是一些与Prometheus类似的监控和度量产品: 1. Grafana:Grafana是一种流行的开源数据可视化工具,可以与多个数据源集成,包括Prometheus。它可以通过可视化仪表板展示和分析Prometheus收集的数据。 2. InfluxDB:InfluxDB是一种开源时间序列数据库,专门用于处理和存储大量时间序列数据,如机器指标、事件日志等。和Prometheus类似,InfluxDB也具备数据采集和查询功能。 3. Nagios:Nagios是一种广泛使用的开源网络监控系统,可以监测网络设备、服务器和应用程序的运行状况。与Prometheus不同的是,Nagios主
542 0
|
Prometheus 监控 Cloud Native
可以自定义指标的监控工具 - Prometheus的安装部署
可以自定义指标的监控工具 - Prometheus的安装部署
618 0
|
Prometheus 资源调度 Kubernetes
【夜莺监控】管理Kubernetes组件指标(上)
【夜莺监控】管理Kubernetes组件指标(下)
|
存储 缓存 Prometheus
【夜莺监控】管理Kubernetes组件指标(下)
【夜莺监控】管理Kubernetes组件指标(下)
|
存储 消息中间件 Prometheus
统一观测丨使用 Prometheus 监控 SNMP,我们该关注哪些指标?
统一观测丨使用 Prometheus 监控 SNMP,我们该关注哪些指标?
统一观测丨使用 Prometheus 监控 SNMP,我们该关注哪些指标?
下一篇
无影云桌面