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 prefissoopencensus
: questo prefisso viene aggiunto perché Config Sync utilizza la libreria OpenCensusconfig_sync/
: le metriche esportate da Config Sync in Cloud Monitoring hanno questo prefissoMETRIC
: 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:
Ad esempio, per filtrare in base al nome del riconciliatore quando utilizzi Cloud Monitoring, completa le seguenti attività:
Nella console Google Cloud, vai a Monitoring:
Nel riquadro di navigazione Monitoring, fai clic su leaderboard Metrics Explorer.
Nell'elenco a discesa Seleziona una metrica, aggiungi:
custom.googleapis.com/opencensus/config_sync/reconciler_errors
.Nell'elenco a discesa Filtro, seleziona riconciliatore. Viene visualizzata una casella dei campi filtro.
Nella casella dei campi filtro, seleziona = nel primo campo e il nome del riconciliazione (ad esempio,
root-reconciler
) nel secondo.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à:
Nella console Google Cloud, vai a Monitoring:
Nel riquadro di navigazione Monitoring, fai clic su leaderboard Metrics Explorer.
Nell'elenco a discesa Seleziona una metrica, aggiungi
custom.googleapis.com/opencensus/config_sync/reconciler_errors
.Nell'elenco a discesa Filtro, seleziona componente. Viene visualizzata una casella dei campi filtro.
Nella casella dei campi 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 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