Monitora Config Sync con Cloud Monitoring

La pagina descrive come inviare metriche da Config Sync a e configurazione in Cloud Monitoring.

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

La configurazione delle metriche di Cloud Monitoring richiede l'autorizzazioneiam.serviceAccounts.setIamPolicy per il progetto. Per esempi su come visualizzare queste metriche, consulta Esempi di procedure di debug. Puoi visualizzare queste metriche con Metrics Explorer o per utilizzando l'API Cloud Monitoring.

Concedi l'autorizzazione di scrittura delle metriche per Cloud Monitoring

Per configurare il monitoraggio di Cloud 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 di Workload Identity Federation for GKE.

Configurare il monitoraggio di Cloud con la federazione delle identità per i carichi di lavoro per GKE

Se Workload Identity Federation for GKE è attivata, consenti a Config Sync di inviare le 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 del progetto del cluster.

Configurare il monitoraggio di Cloud senza la federazione delle identità per i carichi di lavoro per GKE

Se la federazione delle identità per i carichi di lavoro per GKE non è abilitata e Config Sync è in esecuzione all'interno di un Nell'ambiente Google Cloud, puoi utilizzare il servizio predefinito . Se le concessioni automatiche del ruolo Editor (roles/editor) siano disattivate, concedi le all'account di servizio del Writer metriche Monitoring (roles/monitoring.metricWriter) ruolo IAM 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 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 Misuratore

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

Esempi di procedure di debug per Cloud Monitoring

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

Formato metrica

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

Questo nome metrica è composto dai seguenti componenti:

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

Metriche di query per riconciliatore

Gli oggetti RootSync e RepoSync dispongono di metriche di alto livello che forniscono utili informazioni sul funzionamento di Config Sync nella in un cluster Kubernetes. Quasi tutte le metriche sono codificate con il nome del riconciliatore, per cui puoi vedere se si sono verificati errori e puoi configurare i relativi 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 denominato 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 che hai creato l'oggetto RepoSync.

Il seguente diagramma mostra come funzionano i pod del riconciliatore quando source of verità è 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 Monitoraggio, fai clic su Esplora metriche.

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

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

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

  6. Fai clic su Applica.

Ora puoi visualizzare le metriche per gli oggetti RootSync.

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

Esegui query sulle operazioni di Config Sync per componente e stato

Dopo aver attivato le API RootSync e RepoSync, l'importazione e l'origine da una fonte attendibile e la sincronizzazione con un cluster vengono gestite dai riconciliatori. La metrica reconciler_errors è etichettata dai componenti, così puoi vedere dove: si sono verificati errori.

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

  1. Nella console Google Cloud, vai a Monitoring:

    Vai a Monitoring

  2. Nel riquadro di navigazione Monitoraggio, fai clic su Esplora metriche.

  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. R viene visualizzata la casella campi filtro.

  5. Nella casella dei campi del filtro, seleziona = nella prima casella e source. nel secondo.

  6. Fai clic su Applica.

Ora puoi vedere gli errori che si sono verificati durante l'origine da una fonte di riferimento per i tuoi riconciliatori.

Puoi anche controllare le metriche per i processi di origine e di sincronizzazione eseguendo 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