Metriche di Config Sync

La pagina descrive le metriche OpenTelemetry disponibili per monitorare le risorse Config Sync.

Config Sync utilizza OpenCensus per creare e registrare le metriche e OpenTelemetry per esportarle in Prometheus e Cloud Monitoring. Puoi esportare le metriche di OpenTelemetry in un altro sistema di monitoraggio. Le seguenti guide spiegano come esportare le metriche:

Metriche di OpenTelemetry

Config Sync e il controller del gruppo di risorse raccolgono le seguenti metriche con OpenCensus e le rendono disponibili tramite OpenTelemetry Collector. La colonna Tag elenca i tag specifici di Config Sync applicabili a ogni metrica. Le metriche con tag rappresentano più misurazioni, una per ogni combinazione di valori tag.

Metriche di Config Sync

Nome Tipo Tag Descrizione
api_duration_seconds Distribuzione operazione, stato, La distribuzione della latenza delle chiamate server API
apply_duration_seconds Distribuzione stato La distribuzione della latenza dell'applicazione delle risorse dichiarate dalla fonte attendibile a un cluster
apply_operations_total Conteggio operazione, stato, controller Il numero totale di operazioni che sono state eseguite per sincronizzare le risorse dalla fonte attendibile a un cluster
declared_resources Ultimo valore Il numero di risorse dichiarate analizzate da Git
internal_errors_total Conteggio origine Il numero totale di errori interni riscontrati da Config Sync
last_sync_timestamp Ultimo valore commit, stato Il timestamp della sincronizzazione più recente da Git
parser_duration_seconds Distribuzione stato, attivatore, origine La distribuzione della latenza delle diverse fasi coinvolte nella sincronizzazione dalla fonte di riferimento a un cluster
pipeline_error_observed Ultimo valore nome, riconciliatore, componente Lo stato delle risorse personalizzate RootSync e RepoSync. Il valore 1 indica un errore.
reconcile_duration_seconds Distribuzione stato La distribuzione della latenza degli eventi di riconciliazione gestiti dal gestore del riconciliazione.
reconciler_errors Ultimo valore componente, classe di errore Il numero di errori che si sono verificati durante la sincronizzazione delle risorse dall'origine dell'attendibilità a un cluster.
remediate_duration_seconds Distribuzione stato La distribuzione della latenza degli eventi di riconciliazione di Remediator
resource_conflicts_total Conteggio Il numero totale di conflitti di risorse derivanti da una mancata corrispondenza tra le risorse memorizzate nella cache e le risorse del cluster
resource_fights_total Conteggio Il numero totale di risorse sincronizzate troppo spesso. Qualsiasi risultato superiore a zero indica un problema. Per ulteriori informazioni, vedi KNV2005: ResourceFightAlert.

Metriche controller gruppo di risorse

Il controller dei gruppi di risorse è un componente di Config Sync che tiene traccia delle risorse gestite e verifica se ogni singola risorsa è pronta o riconciliata. Sono disponibili le seguenti metriche.

Nome Tipo Tag Descrizione
reconcile_duration_seconds Distribuzione motivo di stallo La distribuzione del tempo impiegato per riconciliare una RP di ResourceGroup
resource_group_total Ultimo valore Il numero attuale di RP ResourceGroup
resource_count Ultimo valore gruppo di risorse Il numero totale di risorse tracciate da un ResourceGroup
ready_resource_count Ultimo valore gruppo di risorse Il numero totale di risorse pronte in un gruppo di risorse
resource_ns_count Ultimo valore gruppo di risorse Il numero di spazi dei nomi utilizzati dalle risorse in un ResourceGroup
cluster_scoped_resource_count Ultimo valore gruppo di risorse Il numero di risorse con ambito cluster in un gruppo di risorse
crd_count Ultimo valore gruppo di risorse Il numero di CRD in un gruppo di risorse
kcc_resource_count Gauge gruppo di risorse Il numero totale di risorse KCC in un gruppo di risorse
pipeline_error_observed Ultimo valore nome, riconciliatore, componente Lo stato delle risorse personalizzate RootSync e RepoSync. Il valore 1 indica un errore.

Etichette delle metriche di Config Sync

Le etichette delle metriche possono essere utilizzate per aggregare i dati delle metriche in Cloud Monitoring e Prometheus. Sono selezionabili dall'elenco a discesa "Raggruppa per" nella console di Monitoring.

Per ulteriori informazioni sull'etichetta di Cloud Monitoring e sull'etichetta della metrica Prometheus, consulta Componenti del modello di metrica e Modello dati Prometheus.

Etichette metriche

Le seguenti etichette vengono utilizzate dalle metriche Config Sync e Resource Group Controller.

Nome Valori Descrizione
operation creare, applicare patch, aggiornare, eliminare Il tipo di operazione eseguita
status operazione riuscita, errore Lo stato di esecuzione di un'operazione
reconciler rootsync, reposync Il tipo di strumento di riconciliazione
source parser, differire, rimediare Origine dell'errore interno
trigger riprova, watchUpdate, gestioneConflitto, risincronizzare, reimporta L'attivatore di un evento di riconciliazione
name Il nome del riconciliatore Il nome del riconciliatore
component analisi, origine, sincronizzazione, rendering, idoneità Nome del componente / fase a cui si trova attualmente la riconciliazione
container riconciliatore, git-sync Il nome del container
resource CPU, memoria Il tipo di risorsa
controller applicatore, correzione Il nome del controller in un riconciliatore root o dello spazio dei nomi
type Qualsiasi risorsa Kubernetes, ad esempio ClusterRole, Spazio dei nomi, NetworkPolicy, Role e così via. Il tipo di API Kubernetes
commit ---- L'hash dell'ultimo commit sincronizzato

Etichette risorse

Le metriche di Config Sync inviate a Prometheus e Cloud Monitoring hanno le seguenti etichette delle metriche impostate per identificare il pod di origine:

Nome Descrizione
k8s.node.name Il nome del nodo che ospita un pod Kubernetes
k8s.pod.namespace Lo spazio dei nomi del pod
k8s.pod.uid L'UID del pod
k8s.pod.ip L'IP del pod
k8s.deployment.name Il nome del deployment proprietario del pod

Le metriche di Config Sync inviate a Prometheus e Cloud Monitoring dai pod di reconciler presentano anche le seguenti etichette delle metriche impostate per identificare RootSync o RepoSync utilizzati per configurare il riconciliatore:

Nome Descrizione
configsync.sync.kind Il tipo di risorsa che configura il riconciliazione: RootSync o RepoSync
configsync.sync.name Il nome dell'entità RootSync o RepoSync che configura il riconciliazione
configsync.sync.namespace Lo spazio dei nomi dell'elemento RootSync o RepoSync che configura questo riconciliazione

Etichette delle risorse di Cloud Monitoring

Le etichette delle risorse di Cloud Monitoring vengono utilizzate per l'indicizzazione delle metriche nello spazio di archiviazione, il che significa che hanno un effetto trascurabile sulla cardinalità, a differenza delle etichette delle metriche, in cui la cardinalità è un problema significativo delle prestazioni. Per ulteriori informazioni, consulta Tipi di risorse monitorate.

Il tipo di risorsa k8s_container imposta le seguenti etichette per identificare il container di origine:

Nome Descrizione
container_name Il nome del container
pod_name Il nome del pod
namespace_name Lo spazio dei nomi del pod
location La regione o la zona del cluster che ospita il nodo
cluster_name Il nome del cluster che ospita il nodo
project L'ID del progetto che ospita il cluster

Comprendere la metrica pipeline_error_observing

La metrica pipeline_error_observed è una metrica che può aiutarti a identificare rapidamente le RP di RepoSync o RootSync non sincronizzate o che contengono risorse non riconciliate con lo stato desiderato.

  • Per una sincronizzazione corretta tramite RootSync o RepoSync, le metriche con tutti i componenti (rendering, source, sync, readiness) vengono osservate con valore 0.

    Uno screenshot della metrica pipeline_error_observed con tutti i componenti osservati con valore 0

  • Quando l'ultimo commit non supera il rendering automatico, la metrica con il componente rendering viene osservata con valore 1.

  • Quando controlli l'errore di rilevamento del commit più recente o l'ultimo commit contiene una configurazione non valida, la metrica con il componente source viene osservata con valore 1.

  • Quando non è possibile applicare una risorsa al cluster, la metrica con il componente sync viene osservata con valore 1.

  • Quando una risorsa viene applicata, ma non riesce a raggiungere lo stato desiderato, la metrica con il componente readiness viene osservata con valore 1. Ad esempio, al cluster viene applicato un deployment, ma i pod corrispondenti non vengono creati correttamente.

Passaggi successivi