Monitora Config Sync con Cloud Monitoring

La pagina descrive come inviare 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.

Ti consigliamo di utilizzare Cloud Monitoring (questa pagina) o Prometheus per esportare le metriche. È anche possibile utilizzare metriche personalizzate.

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

Concedere 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 Federation for GKE.

Configura Cloud Monitoring con la federazione delle identità per i carichi di lavoro per GKE

Se Workload Identity Federation for GKE è abilitata, 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.

Configura Cloud Monitoring senza la federazione delle identità per i carichi di lavoro per GKE

Se Workload Identity Federation for GKE non è abilitata e Config Sync è in esecuzione all'interno di un ambienteGoogle Cloud , puoi utilizzare il service account predefinito di Compute Engine. Se la tua organizzazione applica il vincolo del criterio dell'organizzazione iam.automaticIamGrantsForDefaultServiceAccounts, a questaccount di serviziont potrebbe non essere concesso automaticamente il ruolo Editor (roles/editor) nel tuo progetto. Devi concedere il ruolo IAM Scrittore metriche di Monitoring (roles/monitoring.metricWriter) alaccount di serviziot predefinito di Compute Engine sul progetto eseguendo il seguente 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 di progetto.

Elenco predefinito delle 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 di otel-collector con ConfigMap.

Procedure di debug di esempio per Cloud Monitoring

I seguenti esempi di Cloud Monitoring 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 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 che Config Sync esporta in Cloud Monitoring hanno questo prefisso
  • METRIC: il nome della metrica che vuoi interrogare

Metriche delle query per riconciliatore

Gli oggetti RootSync e RepoSync sono strumentati con metriche di alto livello che forniscono informazioni utili sul funzionamento di Config Sync sul cluster. Quasi tutte le metriche sono taggate in base al nome del riconciliatore, quindi puoi vedere se si sono verificati errori e puoi configurare avvisi per questi errori 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 chiamato 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 Monitoraggio:

    Vai a Monitoraggio

  2. Nel riquadro di navigazione Monitoring, 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 Riconciliatore. Viene visualizzato un riquadro dei campi filtro.

  5. Nella casella dei campi del 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 in base a un tipo di dati specifico, vedi Filtrare i dati.

Esegui query sulle operazioni di Config Sync per componente e stato

Quando hai abilitato le API RootSync e RepoSync, l'importazione e l'approvvigionamento da una fonte attendibile e la sincronizzazione con un cluster vengono gestiti dai riconciliatori. La metrica reconciler_errors è etichettata in base al componente, in modo da poter vedere dove si sono verificati gli errori.

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

  1. Nella console Google Cloud , vai a Monitoraggio:

    Vai a Monitoraggio

  2. Nel riquadro di navigazione Monitoring, 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. Viene visualizzato un riquadro dei campi filtro.

  5. Nella casella dei campi del 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'estrazione da una fonte attendibile per i tuoi riconciliatori.

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