Monitoraggio di Config Sync con Cloud Monitoring

La pagina descrive come inviare le metriche da Config Sync a Cloud Monitoring.

Config Sync utilizza OpenTelemetry per creare, registrare ed esportare le proprie metriche. Questa pagina spiega come configurare le metriche di Cloud Monitoring. Per altri modi per esportare le metriche, consulta Monitorare Config Sync con Prometheus o Monitorare Config Sync con il monitoraggio personalizzato.

La configurazione delle metriche di Cloud Monitoring richiede l'autorizzazione iam.serviceAccounts.setIamPolicy nel progetto. Per esempi su come visualizzare queste metriche, consulta Esempi di procedure di debug e l'articolo Metriche OpenCensus in Cloud Monitoring.

Concedi l'autorizzazione di scrittura delle metriche per Cloud Monitoring

Per configurare Cloud Monitoring per Config Sync, devi concedere l'autorizzazione di scrittura delle metriche a un account di servizio nel tuo progetto. L'autorizzazione necessaria dipende dall'abilitazione o meno di Workload Identity.

Configurare Cloud Monitoring con Workload Identity

Se Workload Identity è abilitato, consenti a Config Sync di inviare metriche eseguendo questo comando:

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

Sostituisci PROJECT_ID con l'ID progetto del cluster.

Configurare Cloud Monitoring senza Workload Identity

Se Workload Identity non è abilitato e Config Sync è in esecuzione in un ambiente Google Cloud, puoi utilizzare l'account di servizio predefinito di Compute Engine. Se le concessioni automatiche del ruolo Editor (roles/editor) sono disabilitate, concedi all'account di servizio il ruolo IAM Writer metriche Monitoring (roles/monitoring.metricWriter) eseguendo questo comando:

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

Sostituisci quanto segue:

  • PROJECT_ID: il tuo ID progetto.
  • PROJECT_NUMBER: il numero del tuo progetto.

Elenco predefinito di metriche in Cloud Monitoring

Nome Tipo
api_duration_seconds Distribuzione
apply_duration_seconds Distribuzione
apply_operations_total Conteggio
declared_resources Ultimo valore
internal_errors_total Conteggio
last_sync_timestamp Ultimo valore
pipeline_error_observed Ultimo valore
reconciler_errors Ultimo valore
resource_fights_total Conteggio
reconcile_duration_seconds Distribuzione
resource_group_total Ultimo valore
resource_count Ultimo valore
ready_resource_count Ultimo valore
resource_ns_count Ultimo valore
cluster_scoped_resource_count Ultimo valore
kcc_resource_count Gauge

Per modificare la lista consentita delle metriche in Cloud Monitoring, segui le istruzioni per applicare la patch al deployment del raccoglitore otel con ConfigMap.

Esempi di procedure di debug per Cloud Monitoring

I seguenti esempi di Cloud Monitoring illustrano alcuni pattern per l'utilizzo delle metriche di OpenCensus al fine di rilevare e diagnosticare i problemi relativi a Config Sync quando utilizzi le API RootSync e RepoSync.

Formato delle metriche

In Cloud Monitoring, le metriche hanno il seguente formato: custom.googleapis.com/opencensus/config_sync/METRIC.

Il nome di questa metrica è composto dai seguenti componenti:

  • custom.googleapis.com: tutte le metriche personalizzate hanno questo prefisso
  • opencensus: questo prefisso viene aggiunto perché Config Sync utilizza la libreria OpenCensus
  • config_sync/: le metriche esportate da Config Sync in Cloud Monitoring hanno questo prefisso
  • METRIC: il nome della metrica su cui vuoi eseguire una query

Metriche query per riconciliatore

Gli oggetti RootSync e RepoSync sono dotati di metriche di alto livello che offrono insight utili sul funzionamento di Config Sync sul cluster. Quasi tutte le metriche sono contrassegnate dal nome del riconciliatore, quindi puoi vedere se si sono verificati errori e configurare avvisi in Cloud Monitoring.

Un riconciliatore è un pod di cui viene eseguito il deployment come deployment. Sincronizza i manifest da una fonte attendibile a un cluster. Quando crei un oggetto RootSync, Config Sync crea un riconciliatore chiamato root-reconciler-ROOT_SYNC_NAME o root-reconciler se il nome di RootSync è root-sync. Quando crei un oggetto RepoSync, Config Sync crea un riconciliatore denominato ns-reconciler-NAMESPACE-REPO_SYNC_NAME-REPO_SYNC_NAME_LENGTH o ns-reconciler-NAMESPACE se il nome di RepoSync è repo-sync, dove NAMESPACE è lo spazio dei nomi in cui hai creato l'oggetto RepoSync.

Il seguente diagramma mostra come funzionano i pod di riconciliazione quando la fonte di riferimento è un repository Git:

Flusso di riconciliazione

Ad esempio, per filtrare in base al nome del riconciliatore quando utilizzi Cloud Monitoring, completa le seguenti attività:

  1. Nella console Google Cloud, vai a Monitoring:

    Vai a Monitoring

  2. Nel riquadro di navigazione Monitoring, fai clic su Metrics Explorer.

  3. Nell'elenco a discesa Seleziona una metrica, aggiungi: custom.googleapis.com/opencensus/config_sync/reconciler_errors.

  4. Nell'elenco a discesa Filtro, seleziona riconciliatore. Viene visualizzata una casella dei campi filtro.

  5. Nella casella dei campi filtro, seleziona = nel primo campo e il nome del riconciliazione (ad esempio, root-reconciler) nel secondo.

  6. Fai clic su Applica.

Ora puoi visualizzare le metriche per i tuoi oggetti RootSync.

Per ulteriori istruzioni su come filtrare in base a un tipo di dati specifico, consulta Filtro dei dati.

Operazioni di Query Config Sync per componente e stato

Una volta abilitate le API RootSync e RepoSync, l'importazione e l'approvvigionamento da una fonte attendibile e la sincronizzazione con un cluster vengono gestite dai riconciliatori. La metrica reconciler_errors è etichettata per componente in modo che tu possa vedere dove si sono verificati errori.

Ad esempio, per filtrare per componente quando utilizzi Cloud Monitoring, completa le seguenti attività:

  1. Nella console Google Cloud, vai a Monitoring:

    Vai a Monitoring

  2. Nel riquadro di navigazione Monitoring, fai clic su Metrics Explorer.

  3. Nell'elenco a discesa Seleziona una metrica, aggiungi custom.googleapis.com/opencensus/config_sync/reconciler_errors.

  4. Nell'elenco a discesa Filtro, seleziona componente. Viene visualizzata una casella dei campi filtro.

  5. Nella casella dei campi filtro, seleziona = nella prima casella e origine nella seconda.

  6. Fai clic su Applica.

Ora puoi visualizzare gli errori che si sono verificati durante l'approvvigionamento da una fonte attendibile per i tuoi riconciliatori.

Puoi anche controllare autonomamente le metriche per i processi di origine e di sincronizzazione eseguendo una query sulle seguenti metriche e filtrando in base al 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