Metrik Config Sync

Halaman ini menjelaskan metrik OpenTelemetry yang tersedia untuk memantau resource Config Sync Anda.

Cara Config Sync mengumpulkan metrik

Config Sync menggunakan OpenCensus untuk membuat dan mencatat metrik serta OpenTelemetry untuk mengekspor metriknya ke Prometheus dan Cloud Monitoring. Panduan berikut menjelaskan cara mengekspor metrik:

Untuk mengonfigurasi OpenTelemetry Collector, secara default, Config Sync membuat ConfigMap bernama otel-collector. Deployment otel-collector berjalan di namespace config-management-monitoring.

Pembuatan ConfigMap otel-collector mengonfigurasi pengekspor prometheus, yang mengekspos endpoint metrik agar dipindai oleh Prometheus.

Saat Anda menjalankan Config Sync di GKE, atau di lingkungan Kubernetes lain yang dikonfigurasi dengan kredensial Google Cloud , Config Sync akan membuat ConfigMap bernama otel-collector-google-cloud. otel-collector-google-cloud menggantikan konfigurasi di ConfigMap otel-collector. Config Sync mengembalikan perubahan apa pun pada ConfigMap otel-collector atau otel-collector-google-cloud.

Pembuatan otel-collector-google-cloud ConfigMap juga menambahkan pengekspor cloudmonitoring, yang mengekspor ke Cloud Monitoring, dan pengekspor kubernetes, yang mengekspor ke layanan metrik internal Google. Exporter kubernetes mengirimkan metrik tertentu yang dianonimkan ke Google untuk membantu meningkatkan kualitas Config Sync.

Cloud Monitoring menyimpan metrik yang Anda kirimkan ke projectGoogle Cloud Anda. Pengekspor cloudmonitoring dan kubernetes menggunakan akun layananGoogle Cloud yang sama, yang memerlukan izin IAM untuk menulis ke Cloud Monitoring. Untuk mengonfigurasi izin ini, lihat Memberikan izin penulisan metrik untuk Cloud Monitoring.

Metrik OpenTelemetry

Config Sync dan Pengontrol Grup Resource mengumpulkan metrik berikut dengan OpenCensus dan menyediakannya melalui Pengumpul OpenTelemetry . Kolom Tag mencantumkan tag khusus Config Sync yang berlaku untuk setiap metrik. Metrik dengan tag mewakili beberapa pengukuran, satu untuk setiap kombinasi nilai tag.

Metrik Config Sync

Nama Jenis Tag Deskripsi
api_duration_seconds Distribusi operasi, status Distribusi latensi panggilan server API.
apply_duration_seconds Distribusi status Distribusi latensi penerapan resource yang dideklarasikan dari sumber tepercaya ke cluster.
apply_operations_total Jumlah operasi, status, pengontrol Jumlah total operasi yang telah dilakukan untuk menyinkronkan resource dari sumber tepercaya ke cluster.
declared_resources Nilai Terakhir Jumlah resource yang dideklarasikan yang diurai dari Git.
internal_errors_total Jumlah sumber Jumlah total error internal yang dialami oleh Config Sync. Metrik mungkin tidak muncul dalam hasil kueri jika tidak ada error internal.
last_sync_timestamp Nilai Terakhir status Stempel waktu sinkronisasi terbaru dari Git.
parser_duration_seconds Distribusi status, pemicu, sumber Distribusi latensi berbagai tahap yang terlibat dalam menyinkronkan dari sumber tepercaya ke cluster.
pipeline_error_observed Nilai Terakhir nama, rekonsiliator, komponen Status resource kustom RootSync dan RepoSync. Nilai 1 menunjukkan kegagalan.
reconcile_duration_seconds Distribusi status Distribusi latensi peristiwa rekonsiliasi yang ditangani oleh pengelola rekonsiliasi.
reconciler_errors Nilai Terakhir component, errorclass Jumlah error yang terjadi saat menyinkronkan resource dari sumber tepercaya ke cluster.
remediate_duration_seconds Distribusi status Distribusi latensi peristiwa rekonsiliasi perbaikan.
resource_conflicts_total Jumlah Jumlah total konflik resource yang disebabkan oleh ketidakcocokan antara resource yang di-cache dan resource cluster. Metrik mungkin tidak muncul dalam hasil kueri jika tidak ada konflik resource.
resource_fights_total Jumlah Jumlah total resource yang terlalu sering disinkronkan. Setiap hasil yang lebih tinggi dari nol menunjukkan adanya masalah. Untuk mengetahui informasi selengkapnya, lihat KNV2005: ResourceFightWarning. Metrik mungkin tidak muncul dalam hasil kueri jika tidak ada perebutan resource.

Metrik Pengontrol Grup Resource

Pengontrol Grup Resource adalah komponen di Config Sync yang melacak resource terkelola dan memeriksa apakah setiap resource sudah siap atau direkonsiliasi. Metrik berikut tersedia.

Nama Jenis Tag Deskripsi
rg_reconcile_duration_seconds Distribusi stallreason Distribusi waktu yang diperlukan untuk merekonsiliasi CR ResourceGroup
resource_group_total Nilai Terakhir Jumlah CR ResourceGroup saat ini
resource_count Nilai Terakhir resourcegroup Jumlah total resource yang dilacak oleh ResourceGroup
ready_resource_count Nilai Terakhir resourcegroup Jumlah total resource yang siap di ResourceGroup
resource_ns_count Nilai Terakhir resourcegroup Jumlah namespace yang digunakan oleh resource dalam ResourceGroup
cluster_scoped_resource_count Nilai Terakhir resourcegroup Jumlah resource cakupan cluster dalam ResourceGroup
crd_count Nilai Terakhir resourcegroup Jumlah CRD dalam ResourceGroup
kcc_resource_count Nilai Terakhir resourcegroup Jumlah total resource KCC dalam ResourceGroup
pipeline_error_observed Nilai Terakhir nama, rekonsiliator, komponen Status resource kustom RootSync dan RepoSync. Nilai 1 menunjukkan kegagalan.

Label metrik Config Sync

Label metrik dapat digunakan untuk menggabungkan data metrik di Cloud Monitoring dan Prometheus. Opsi ini dapat dipilih dari menu drop-down "Kelompokkan Menurut" di Konsol Monitoring.

Untuk mengetahui informasi selengkapnya tentang label Cloud Monitoring dan label metrik Prometheus, lihat Komponen model metrik dan Model data Prometheus.

Label metrik

Label berikut digunakan oleh metrik Config Sync dan Resource Group Controller, yang tersedia saat memantau dengan Cloud Monitoring dan Prometheus.

Nama Nilai Deskripsi
operation create, patch, update, delete Jenis operasi yang dilakukan
status berhasil, error Status eksekusi operasi
reconciler rootsync, reposync Jenis Penyesuai
source parser, differ, remediator Sumber error internal
trigger coba lagi, watchUpdate, managementConflict, resync, reimport Pemicu peristiwa rekonsiliasi
name Nama rekonsiliator Nama Reconciler
component parsing, sumber, sinkronisasi, rendering, kesiapan Nama komponen / tahap rekonsiliasi saat ini
container reconciler, git-sync Nama penampung
resource CPU, memori Jenis resource
controller applier, remediator Nama pengontrol di rekonsiliasi root atau namespace
type Resource Kubernetes apa pun, misalnya ClusterRole, Namespace, NetworkPolicy, Role, dan sebagainya. Jenis Kubernetes API
commit ---- Hash commit yang terakhir disinkronkan

Label resource

Metrik Config Sync yang dikirim ke Prometheus dan Cloud Monitoring memiliki label metrik berikut yang ditetapkan untuk mengidentifikasi Pod sumber:

Nama Deskripsi
k8s.node.name Nama Node yang menghosting Pod Kubernetes
k8s.pod.namespace Namespace Pod
k8s.pod.uid UID Pod
k8s.pod.ip IP Pod
k8s.deployment.name Nama Deployment yang memiliki Pod

Metrik Config Sync yang dikirim ke Prometheus dan Cloud Monitoring dari Pod reconciler juga memiliki label metrik berikut yang ditetapkan untuk mengidentifikasi RootSync atau RepoSync yang digunakan untuk mengonfigurasi rekonsiliasi:

Nama Deskripsi
configsync.sync.kind Jenis resource yang mengonfigurasi rekonsiliasi ini: RootSync atau RepoSync
configsync.sync.name Nama RootSync atau RepoSync yang mengonfigurasi rekonsiliasi ini
configsync.sync.namespace Namespace RootSync atau RepoSync yang mengonfigurasi rekonsiliator ini

Label resource Cloud Monitoring

Label Resource Cloud Monitoring digunakan untuk mengindeks metrik dalam penyimpanan, yang berarti label tersebut memiliki efek yang dapat diabaikan pada kardinalitas, tidak seperti label metrik, yang kardinalitasnya merupakan masalah performa yang signifikan. Lihat Jenis Resource yang Dimonitor untuk mengetahui informasi selengkapnya.

Jenis resource k8s_container menetapkan label resource berikut untuk mengidentifikasi Penampung sumber:

Nama Deskripsi
container_name Nama Container
pod_name Nama Pod
namespace_name Namespace Pod
location Region atau zona cluster yang menghosting node
cluster_name Nama cluster yang menghosting node
project ID project yang menghosting cluster

Mengonfigurasi pemfilteran metrik kustom

Anda dapat menyesuaikan metrik kustom yang diekspor Config Sync ke Prometheus, Cloud Monitoring, dan layanan pemantauan internal Google. Sesuaikan metrik kustom untuk menyempurnakan metrik yang disertakan atau mengonfigurasi backend yang berbeda.

Untuk mengubah metrik kustom, buat lalu edit ConfigMap bernama otel-collector-custom. Menggunakan ConfigMap ini memastikan bahwa Config Sync tidak mengembalikan modifikasi yang Anda lakukan. Jika Anda mengubah ConfigMap otel-collector atau otel-collector-google-cloud, Config Sync akan mengembalikan perubahan apa pun.

Untuk contoh cara menyesuaikan ConfigMap ini, lihat Pemfilteran Metrik Kustom dalam dokumentasi Config Sync open source.

Memahami metrik pipeline_error_observed

Metrik pipeline_error_observed adalah metrik yang dapat membantu Anda mengidentifikasi dengan cepat CR RepoSync atau RootSync yang tidak disinkronkan atau berisi resource yang tidak direkonsiliasi ke status yang diinginkan.

  • Agar sinkronisasi berhasil dilakukan oleh RootSync atau RepoSync, metrik dengan semua komponen (rendering, source, sync, readiness) diamati dengan nilai 0.

    Screenshot metrik pipeline_error_observed dengan semua komponen yang diamati dengan nilai 0

  • Jika commit terbaru gagal dalam rendering otomatis, metrik dengan komponen rendering akan diamati dengan nilai 1.

  • Saat memeriksa commit terbaru mengalami error atau commit terbaru berisi konfigurasi yang tidak valid, metrik dengan komponen source diamati dengan nilai 1.

  • Jika resource gagal diterapkan ke cluster, metrik dengan komponen sync akan diamati dengan nilai 1.

  • Saat resource diterapkan, tetapi gagal mencapai status yang diinginkan, metrik dengan komponen readiness diamati dengan nilai 1. Misalnya, Deployment diterapkan ke cluster, tetapi Pod yang sesuai tidak berhasil dibuat.

Langkah berikutnya