ETCD监控方法以及核心指标

文章目录

  • [1. 监控指标采集](#1. 监控指标采集)
    • [1.1 监控指标采集](#1.1 监控指标采集)
    • [1.2 配置promethues采集和大盘](#1.2 配置promethues采集和大盘)
  • [2. 核心告警指标](#2. 核心告警指标)
  • [3. 参考文章](#3. 参考文章)

探讨etcd的监控数据采集方式以及需要关注的核心指标,便于日常生产进行监控和巡检。


1. 监控指标采集

etcd默认通过/metrics指标暴露相关指标,因此不需要部署额外的exporter,天生可以跟promethues兼容,可以直接进行指标采集。

1.1 监控指标采集

bash 复制代码
curl -k https://127.0.01:2379/metrics --cacert "/etc/kubernetes/pki/etcd/ca.crt" --cert "/etc/kubernetes/pki/etcd/server.crt" --key "/etc/kubernetes/pki/etcd/server.key"

1.2 配置promethues采集和大盘

完成指标采集后,可以通过prometheus配置监控、告警和大盘。

配置prometheus的指标采集任务

bash 复制代码
  - job_name: etcd
    static_configs:
      - targets: ['172.19.0.2:2379','172.19.0.3:2379','172.19.0.4:2379']

完成prometheus监控指标后,就可以配置grafana大盘,grafana的dashboard官网可以下载很多优秀的大盘进行借鉴,本文不再追溯。

2. 核心告警指标

名称 指标说明 告警阈值 备注
​up{}==0 etcd节点是否启动 ==0 每个节点应该正常启动
etcd_server_has_leader 集群是否有Leader !=1 集群没有Leader不能提供服务
rate(etcd_server_leader_changes_seen_total)[1h] 集群Leader频繁切换 >=4 如果leader一直发生切换,是非常不稳定的,一个小时内发生超过三次的leader切换,需要发出告警
rate(etcd_server_proposals_failed_total)[1h] etcd日志提交频繁失败 >=10 如果集群一直出现提交失败,说明集群不稳定,一个小时内10次提交失败,需要发出告警
histogram_quantile(0.99, rate(etcd_disk_backend_commit_duration_seconds_bucket{}[5m])) etcd数据提交99分位写入耗时 >=0.5ms 由于有可能有长尾效应,应该使用分位情况表示,并且该配置跟磁盘io性能有很大关系,需要根据实际情况调整
​sum by(method) (rate(etcd_http_failed_total{}[5m])) / sum by(method) (rate(etcd_http_received_total{}[5m])) http访问5分钟内失败百分比 >=0.01 http请求的失败率不应该超过1%,具体的合适的阈值也需要根据实际情况调整
​sum by(method) (rate(etcd_grpc_requests_failed_total{}[5m])) / sum by(method) (rate(etcd_grpc_total{}[5m])) rpc访问5分钟内失败百分比 >=0.01 rpc请求的失败率不应该超过1%,具体的合适的阈值也需要根据实际情况调整
磁盘使用率 <= 70
磁盘await 磁盘读写的await <= 1ms
其他机器基础指标 其他机器基础指标 待定

3. 参考文章

相关推荐
jiayou6410 小时前
KingbaseES 实战:深度解析数据库对象访问权限管理
数据库
李广坤1 天前
MySQL 大表字段变更实践(改名 + 改类型 + 改长度)
数据库
爱可生开源社区2 天前
2026 年,优秀的 DBA 需要具备哪些素质?
数据库·人工智能·dba
随逸1772 天前
《从零搭建NestJS项目》
数据库·typescript
加号33 天前
windows系统下mysql多源数据库同步部署
数据库·windows·mysql
シ風箏3 天前
MySQL【部署 04】Docker部署 MySQL8.0.32 版本(网盘镜像及启动命令分享)
数据库·mysql·docker
李慕婉学姐3 天前
Springboot智慧社区系统设计与开发6n99s526(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
数据库·spring boot·后端
百锦再3 天前
Django实现接口token检测的实现方案
数据库·python·django·sqlite·flask·fastapi·pip
tryCbest3 天前
数据库SQL学习
数据库·sql
jnrjian3 天前
ORA-01017 查找机器名 用户名 以及library cache lock 参数含义
数据库·oracle