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

相关推荐
.小小陈.12 分钟前
MySQL 高频考点:表连接与索引全解析
数据库
阳光九叶草LXGZXJ22 分钟前
达梦数据库-学习-57-读写数据页超时告警排查(page[x,x,xxxxxx] disk write uses)-DSC集群版
linux·运维·服务器·数据库·sql·学习
Omics Pro25 分钟前
前沿学科:量子生物学!
大数据·数据库·人工智能·windows·redis·量子计算
霸道流氓气质38 分钟前
Spring 事务提交后执行异步操作:原理、陷阱与最佳实践
数据库·spring
无小道39 分钟前
Redis——list相关指令
数据库·redis·缓存
阳光九叶草LXGZXJ41 分钟前
达梦数据库-堆栈看问题-01-asmapi_asm_extent_load
linux·运维·数据库·sql·学习
你的保护色44 分钟前
ensp之STP、RSTP、MSTP协议实验
java·服务器·数据库
爱吃土豆的马铃薯ㅤㅤㅤㅤㅤㅤㅤㅤㅤ1 小时前
获取容器mysql管理员密码命令
数据库·mysql
JAVA学习通1 小时前
《大营销平台系统设计实现》 - 营销服务 第5节:抽奖前置规则过滤
java·数据库·github
斯特凡今天也很帅1 小时前
新建数据源报错No bean named ‘SqlSessionFactorykf‘ available
java·数据库·spring boot·mybatis