Kluster Kubernetes menggunakan etcd sebagai penyimpanan persisten untuk menyimpan status kluster dan metadata. Sebagai penyimpanan pasangan kunci-nilai terdistribusi, etcd menjamin konsistensi kuat dan ketersediaan tinggi (HA) bagi data kluster. Topik ini menjelaskan metrik komponen etcd, cara menggunakan dasbor, serta analisis terhadap anomali metrik umum.
Sebelum memulai
Akses dasbor
Untuk informasi selengkapnya, lihat Lihat dasbor pemantauan untuk komponen lapisan kontrol.
Daftar periksa metrik
Metrik merupakan cara suatu komponen untuk mengekspos status dan parameternya. Tabel berikut mencantumkan metrik untuk komponen etcd.
Metrik | Tipe | Deskripsi |
cpu_utilization_core | Gauge | Penggunaan CPU. Satuan: core. |
etcd_server_has_leader | Gauge | etcd menggunakan algoritma konsensus Raft. Dalam Raft, satu anggota dalam kluster dipilih sebagai Leader (node primer), sedangkan anggota lainnya menjadi Follower (node sekunder). Leader secara berkala mengirim heartbeat ke semua anggota untuk menjaga stabilitas kluster. Metrik ini menunjukkan apakah terdapat leader di antara anggota etcd.
|
etcd_server_is_leader | Gauge | Menunjukkan apakah anggota etcd tersebut adalah leader.
|
etcd_server_leader_changes_seen_total | Counter | Jumlah kali pergantian leader untuk suatu anggota etcd dalam periode waktu tertentu. |
etcd_mvcc_db_total_size_in_bytes | Gauge | Ukuran total database (DB) anggota etcd. |
etcd_mvcc_db_total_size_in_use_in_bytes | Gauge | Ukuran aktual yang digunakan dari DB anggota etcd. |
etcd_disk_backend_commit_duration_seconds_bucket | Histogram | Latensi commit backend di etcd. Ini adalah waktu yang dibutuhkan agar perubahan data ditulis ke backend penyimpanan dan berhasil dikomit. Ambang batas bucket adalah |
etcd_debugging_mvcc_keys_total | Gauge | Jumlah total kunci yang disimpan di etcd. |
etcd_server_proposals_committed_total | Gauge | etcd menggunakan algoritma konsensus Raft. Dalam Raft, setiap aksi yang berupaya mengubah status sistem diajukan sebagai proposal. Metrik ini menunjukkan jumlah proposal yang telah berhasil dikomit ke log Raft di etcd. |
etcd_server_proposals_applied_total | Gauge | Jumlah proposal yang telah berhasil diterapkan atau dieksekusi. |
etcd_server_proposals_pending | Gauge | Jumlah proposal yang sedang tertunda. |
etcd_server_proposals_failed_total | Counter | Jumlah proposal yang gagal. |
memory_utilization_byte | Gauge | Penggunaan memori. Satuan: byte. |
Panduan dasbor
Dasbor dibangun berdasarkan metrik komponen dan kueri Prometheus Query Language (PromQL) terkait. Bagian-bagian berikut menjelaskan tampilan observabilitas dan fitur-fitur dasbor.
Observability Display

Feature Analysis
Nama | PromQL | Deskripsi |
Etcd Health Status |
|
|
Leader Changes In The Last Day | changes(etcd_server_leader_changes_seen_total{job="etcd"}[1d]) | Jumlah kali pergantian leader dalam kluster etcd selama sehari terakhir. |
Memory Usage | memory_utilization_byte{container="etcd"} | Penggunaan memori. Satuan: byte. |
CPU Usage | cpu_utilization_core{container="etcd"}*1000 | Penggunaan CPU. Satuan: millicore. |
Disk Size | etcd_mvcc_db_total_size_in_bytes | Ukuran total DB backend etcd. |
etcd_mvcc_db_total_size_in_use_in_bytes | Ukuran aktual yang digunakan dari DB backend etcd. | |
Total Key-value Pairs | etcd_debugging_mvcc_keys_total | Jumlah total pasangan kunci-nilai (KV) dalam kluster etcd. |
Backend Commit Latency | histogram_quantile(0.99, sum(rate(etcd_disk_backend_commit_duration_seconds_bucket{job="etcd"}[5m])) by (instance, le)) | Latensi commit backend. Ini adalah waktu yang dibutuhkan agar sebuah proposal disimpan secara persisten di database etcd. |
Raft Proposal Status | rate(etcd_server_proposals_failed_total{job="etcd"}[1m]) | Laju kegagalan pengajuan proposal Raft per menit. |
etcd_server_proposals_pending{job="etcd"} | Jumlah total proposal Raft yang tertunda. | |
etcd_server_proposals_committed_total{job="etcd"} - etcd_server_proposals_applied_total{job="etcd"} | Selisih antara jumlah proposal Raft yang telah dikomit dan yang telah diterapkan. Ini menunjukkan jumlah proposal yang telah dikomit tetapi belum dieksekusi. |
Anomali metrik umum
Etcd Health Status
Kasus Normal | Kasus Abnormal | Deskripsi Anomali |
Ketiga anggota etcd memiliki leader, dan salah satunya adalah leader. Artinya, | Satu anggota mengalami anomali. | Anggota yang bermasalah memiliki |
Lebih dari satu anggota mengalami anomali. | Beberapa anggota memiliki Periksa juga apakah ada anggota yang memiliki |
Backend Commit Latency
Kasus normal | Kasus abnormal | Deskripsi anomali |
Metrik berada dalam rentang beberapa milidetik hingga puluhan milidetik. | Latensi bertahan pada ratusan milidetik bahkan detik. | Terjadi anomali pada I/O disk. |
Raft Proposal Anomalies
Kasus Normal | Kasus Abnormal | Deskripsi Anomali |
Laju kegagalan proposal Raft adalah 0. | Jumlah proposal Raft yang gagal lebih besar dari 0. | Beberapa proposal Raft gagal diajukan. Jika jumlah ini tinggi, diperlukan investigasi lebih lanjut. |
Jumlah total proposal Raft yang tertunda adalah 0. | Jumlah total proposal Raft yang tertunda lebih besar dari 0. | Terjadi penumpukan proposal Raft yang telah diajukan. Hal ini biasanya disebabkan oleh kecepatan penerapan (apply) yang lambat. Anda dapat menganalisis hal ini bersamaan dengan latensi commit backend. |
Selisih antara jumlah proposal Raft yang dikomit dan yang diterapkan adalah 0. | Selisih antara jumlah proposal yang dikomit dan yang diterapkan lebih besar dari 0. | Terdapat terlalu banyak permintaan klien, sehingga memberikan tekanan tinggi pada etcd. Jika nilai ini melebihi 5000, etcd akan menolak permintaan berikutnya dan mengembalikan |
Referensi
Untuk informasi selengkapnya tentang metrik, panduan dasbor, dan anomali metrik umum untuk komponen lapisan kontrol lainnya, lihat metrik komponen kube-apiserver, metrik komponen kube-scheduler, Metrik komponen, dan metrik komponen cloud-controller-manager.