Questa pagina descrive come inviare le metriche da Config Sync a Cloud Monitoring.
Config Sync uses OpenTelemetry per creare, registrare ed esportare le 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
Esempi di procedure di debug.
Puoi visualizzare queste metriche con
Esplora metriche o
utilizzando l'API 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 dal fatto che Workload Identity Federation for GKE sia abilitato.
Configura Cloud Monitoring con Workload Identity Federation for GKE
Se Workload Identity Federation for GKE è abilitato, 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 progetto del cluster.
Configura Cloud Monitoring senza Workload Identity Federation for GKE
Se Workload Identity Federation for GKE non è abilitato e Config Sync è in esecuzione in un
Google Cloud ambiente, puoi utilizzare il service account predefinito di Compute Engine. Se la tua organizzazione applica il
iam.automaticIamGrantsForDefaultServiceAccounts vincolo della policy dell'organizzazione,
a questo account di servizio potrebbe non essere concesso automaticamente il ruolo Editor
(roles/editor) nel tuo progetto. Devi concedere il ruolo IAM Monitoring Metric Writer (roles/monitoring.metricWriter) nel progetto al account di servizio predefinito di Compute Engine 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 tuo 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 del collettore 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 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.
Questo nome della metrica è composto dai seguenti componenti:
custom.googleapis.com: tutte le metriche personalizzate hanno questo prefissoopencensus: questo prefisso viene aggiunto perché Config Sync utilizza la libreria OpenCensusconfig_sync/: le metriche che Config Sync esporta in Cloud Monitoring hanno questo prefissoMETRIC: il nome della metrica che vuoi interrogare
Esegui query sulle metriche per riconciliatore
Gli oggetti RootSync e RepoSync sono strumentati con metriche di alto livello che forniscono informazioni utili sul funzionamento di Config Sync nel cluster. Quasi tutte le metriche sono taggate dal nome del riconciliatore, quindi puoi vedere se si sono verificati errori e puoi configurare gli avvisi in Cloud Monitoring.
Un riconciliatore è un pod di cui è stato eseguito il deployment come deployment. Sincronizza i manifest da una
fonte di riferimento 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 il funzionamento dei pod del riconciliatore quando la fonte di riferimento è un repository Git:
Ad esempio, per filtrare in base al nome del riconciliatore quando utilizzi Cloud Monitoring, completa le seguenti attività:
Nella Google Cloud console, vai a Monitoraggio:
Nel riquadro di navigazione Monitoraggio, fai clic su leaderboard Esplora metriche.
Nell'elenco a discesa Seleziona una metrica, aggiungi:
custom.googleapis.com/opencensus/config_sync/reconciler_errors.Nell'elenco a discesa Filtra, seleziona riconciliatore. Viene visualizzata una casella dei campi di filtro.
Nella casella dei campi di filtro, seleziona = nel primo campo e il nome del riconciliatore (ad esempio,
root-reconciler) nel secondo.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, consulta 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 di riferimento e la sincronizzazione con un cluster vengono gestiti dai riconciliatori.
La metrica reconciler_errors è etichettata per componente, in modo che tu possa vedere dove si sono verificati eventuali errori.
Ad esempio, per filtrare in base al componente quando utilizzi Cloud Monitoring, completa le seguenti attività:
Nella Google Cloud console, vai a Monitoraggio:
Nel riquadro di navigazione Monitoraggio, fai clic su leaderboard Esplora metriche.
Nell'elenco a discesa Seleziona una metrica, aggiungi
custom.googleapis.com/opencensus/config_sync/reconciler_errors.Nell'elenco a discesa Filtra, seleziona componente. Viene visualizzata una casella dei campi di filtro.
Nella casella dei campi di filtro, seleziona = nella prima casella e origine nella seconda.
Fai clic su Applica.
Ora puoi visualizzare gli errori che si sono verificati durante l'approvvigionamento da una fonte di riferimento per i riconciliatori.
Puoi anche controllare le metriche per i processi di origine e sincronizzazione stessi 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