Memantau Config Sync dengan Cloud Monitoring

Halaman ini menjelaskan cara mengirim metrik dari Config Sync ke Cloud Monitoring.

Config Sync menggunakan OpenTelemetry untuk membuat, merekam, dan mengekspor metriknya. Halaman ini menjelaskan cara mengonfigurasi metrik Cloud Monitoring. Untuk mengetahui cara lain mengekspor metrik, lihat Memantau Config Sync dengan Prometheus atau Memantau Config Sync dengan pemantauan kustom.

Konfigurasi metrik Cloud Monitoring memerlukan izin iam.serviceAccounts.setIamPolicy pada project. Untuk mengetahui contoh cara melihat metrik ini, lihat Contoh prosedur proses debug. Anda dapat menampilkan metrik ini dengan Metrics Explorer atau dengan menggunakan Cloud Monitoring API.

Memberikan izin penulisan metrik untuk Cloud Monitoring

Untuk mengonfigurasi Cloud Monitoring untuk Config Sync, Anda harus memberikan izin penulisan metrik ke akun layanan di project Anda. Izin yang diperlukan bergantung pada apakah Workload Identity diaktifkan atau tidak.

Mengonfigurasi Cloud Monitoring dengan Workload Identity

Jika Workload Identity diaktifkan, izinkan Config Sync untuk mengirim metrik dengan menjalankan perintah ini:

gcloud projects add-iam-policy-binding PROJECT_ID \
   --role=roles/monitoring.metricWriter \
   --member="serviceAccount:PROJECT_ID.svc.id.goog[config-management-monitoring/default]"

Ganti PROJECT_ID dengan project ID cluster.

Mengonfigurasi Cloud Monitoring tanpa Workload Identity

Jika Workload Identity tidak diaktifkan dan Config Sync berjalan di dalam lingkungan Google Cloud, Anda dapat menggunakan akun layanan default Compute Engine. Jika pemberian peran Editor otomatis (roles/editor) dinonaktifkan, berikan peran IAM Monitoring Metric Writer (roles/monitoring.metricWriter) ke akun layanan dengan menjalankan perintah berikut:

gcloud projects add-iam-policy-binding PROJECT_ID \
   --role=roles/monitoring.metricWriter \
   --member=serviceAccount:PROJECT_NUMBER-compute@developer.gserviceaccount.com

Ganti kode berikut:

  • PROJECT_ID: project ID Anda.
  • PROJECT_NUMBER: nomor project Anda.

Daftar default metrik di Cloud Monitoring

Name Jenis
api_duration_seconds Distribusi
apply_duration_seconds Distribusi
apply_operations_total Jumlah
declared_resources Nilai Terakhir
internal_errors_total Jumlah
last_sync_timestamp Nilai Terakhir
pipeline_error_observed Nilai Terakhir
reconciler_errors Nilai Terakhir
resource_fights_total Jumlah
reconcile_duration_seconds Distribusi
resource_group_total Nilai Terakhir
resource_count Nilai Terakhir
ready_resource_count Nilai Terakhir
resource_ns_count Nilai Terakhir
cluster_scoped_resource_count Nilai Terakhir
kcc_resource_count Meteran

Untuk mengubah daftar metrik yang diizinkan di Cloud Monitoring, ikuti petunjuk untuk mem-patch deployment kolektor otel dengan ConfigMap.

Contoh prosedur proses debug untuk Cloud Monitoring

Contoh Cloud Monitoring berikut menggambarkan beberapa pola penggunaan metrik OpenCensus untuk mendeteksi dan mendiagnosis masalah yang terkait dengan Config Sync saat Anda menggunakan RootSync dan RepoSync.

Format metrik

Dalam Cloud Monitoring, metrik memiliki format berikut: custom.googleapis.com/opencensus/config_sync/METRIC.

Nama metrik ini terdiri dari komponen berikut:

  • custom.googleapis.com: semua metrik kustom memiliki awalan ini
  • opencensus: awalan ini ditambahkan karena Config Sync menggunakan library OpenCensus
  • config_sync/: metrik yang diekspor Config Sync ke Cloud Monitoring memiliki awalan ini
  • METRIC: nama metrik yang ingin Anda kueri

Kueri metrik berdasarkan rekonsiliasi

Objek RootSync dan RepoSync diinstrumentasi dengan metrik tingkat tinggi yang memberikan insight berguna tentang cara kerja Config Sync di cluster. Hampir semua metrik diberi tag oleh nama rekonsiliasi, sehingga Anda dapat melihat jika terjadi error dan dapat menyiapkan pemberitahuan untuk error tersebut di Cloud Monitoring.

Rekonsiliasi adalah Pod yang di-deploy sebagai Deployment. Alat ini menyinkronkan manifes dari sumber kebenaran ke cluster. Saat Anda membuat objek RootSync, Config Sync akan membuat rekonsiliasi yang disebut root-reconciler-ROOT_SYNC_NAME atau root-reconciler jika nama RootSync adalah root-sync. Saat Anda membuat objek RepoSync, Config Sync akan membuat rekonsiliasi yang disebut ns-reconciler-NAMESPACE-REPO_SYNC_NAME-REPO_SYNC_NAME_LENGTH atau ns-reconciler-NAMESPACE jika nama RepoSync adalah repo-sync, dengan NAMESPACE adalah namespace tempat Anda membuat objek RepoSync.

Diagram berikut menunjukkan cara Pod rekonsiliasi berfungsi jika sumber kebenaran adalah repositori Git:

Alur rekonsiliasi

Misalnya, untuk memfilter menurut nama rekonsiliasi saat Anda menggunakan Cloud Monitoring, selesaikan tugas-tugas berikut:

  1. Di konsol Google Cloud, buka Monitoring:

    Buka Monitoring

  2. Di panel navigasi Monitoring, klik Metrics Explorer.

  3. Di menu drop-down Pilih metrik, tambahkan: custom.googleapis.com/opencensus/config_sync/reconciler_errors.

  4. Di menu drop-down Filter, pilih rekonsiliasi. Kotak kolom filter akan muncul.

  5. Di kotak kolom filter, pilih = di kolom pertama dan nama rekonsiliasi (misalnya, root-reconciler) di kolom kedua.

  6. Klik Apply.

Sekarang Anda dapat melihat metrik untuk objek RootSync.

Untuk petunjuk lebih lanjut cara memfilter menurut jenis data tertentu, lihat Memfilter data.

Operasi Sinkronisasi Konfigurasi Kueri berdasarkan komponen dan status

Setelah Anda mengaktifkan API RootSync dan RepoSync, pengimporan dan pengambilan sumber dari sumber kebenaran serta sinkronisasi ke cluster akan ditangani oleh rekonsiliasi. Metrik reconciler_errors diberi label berdasarkan komponen sehingga Anda dapat melihat tempat terjadinya error.

Misalnya, untuk memfilter menurut komponen saat Anda menggunakan Cloud Monitoring, selesaikan tugas-tugas berikut:

  1. Di konsol Google Cloud, buka Monitoring:

    Buka Monitoring

  2. Di panel navigasi Monitoring, klik Metrics Explorer.

  3. Di menu drop-down Select a metric, tambahkan custom.googleapis.com/opencensus/config_sync/reconciler_errors.

  4. Di menu drop-down Filter, pilih komponen. Kotak kolom filter akan muncul.

  5. Di kotak kolom filter, pilih = di kotak pertama dan sumber di kotak kedua.

  6. Klik Apply.

Sekarang Anda dapat melihat error yang terjadi saat mengambil sumber dari sumber tepercaya untuk rekonsiliasi.

Anda juga dapat memeriksa metrik untuk sumber dan proses sinkronisasi itu sendiri dengan membuat kueri metrik berikut dan memfilter berdasarkan tag status:

custom.googleapis.com/opencensus/config_sync/parser_duration_seconds
custom.googleapis.com/opencensus/config_sync/apply_duration_seconds
custom.googleapis.com/opencensus/config_sync/remediate_duration_seconds