文章目录
- 1. 监控指标采集
- 1.1 监控指标采集
- 1.2 配置promethues采集和大盘
- 2. 核心告警指标
- 3. 参考文章
探讨etcd的监控数据采集方式以及需要关注的核心指标,便于日常生产进行监控和巡检。
1. 监控指标采集
etcd默认通过/metrics指标暴露相关指标,因此不需要部署额外的exporter,天生可以跟promethues兼容,可以直接进行指标采集。
1.1 监控指标采集
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的指标采集任务
- 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. 参考文章
- K8S集群之-ETCD集群监控