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. 参考文章

相关推荐
Hello.Reader22 分钟前
Redis 延迟监控深度指南
数据库·redis·缓存
ybq1951334543123 分钟前
Redis-主从复制-分布式系统
java·数据库·redis
好奇的菜鸟3 小时前
如何在IntelliJ IDEA中设置数据库连接全局共享
java·数据库·intellij-idea
tan180°3 小时前
MySQL表的操作(3)
linux·数据库·c++·vscode·后端·mysql
满昕欢喜4 小时前
SQL Server从入门到项目实践(超值版)读书笔记 20
数据库·sql·sqlserver
Hello.Reader5 小时前
Redis 延迟排查与优化全攻略
数据库·redis·缓存
简佐义的博客6 小时前
破解非模式物种GO/KEGG注释难题
开发语言·数据库·后端·oracle·golang
爬山算法6 小时前
MySQL(116)如何监控负载均衡状态?
数据库·mysql·负载均衡
老纪的技术唠嗑局8 小时前
OceanBase PoC 经验总结(二)—— AP 业务
数据库
阿里云大数据AI技术9 小时前
OpenSearch 视频 RAG 实践
数据库·人工智能·llm