Metriche di Config Sync

In questa pagina vengono descritte le metriche OpenTelemetry disponibili per monitorare Risorse di Config Sync.

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

Metriche OpenTelemetry

Config Sync e Resource Group Controller raccolgono le seguenti metriche con OpenCensus e renderle disponibili tramite Raccoglitore OpenTelemetry . La colonna Tag elenca le specifiche Config Sync tag applicabili a ciascun componente o una metrica di valutazione. Le metriche con tag rappresentano più misurazioni, una per ciascuna di valori di tag.

Metriche di Config Sync

Nome Tipo Tag Descrizione
api_duration_seconds Distribuzione operazione, stato La distribuzione della latenza delle chiamate al server API.
apply_duration_seconds Distribuzione stato La distribuzione della latenza dell'applicazione di risorse dichiarate dall'origine attendibile a un cluster.
apply_operations_total Conteggio operazione, stato, controller Il numero totale di operazioni eseguite per sincronizzare le risorse dall'origine 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. La metrica potrebbe non essere visualizzata nei risultati della query se non si è verificato alcun errore interno.
last_sync_timestamp Ultimo valore stato Il timestamp della sincronizzazione più recente da Git.
parser_duration_seconds Distribuzione stato, trigger, origine La distribuzione della latenza delle diverse fasi coinvolte nella sincronizzazione dalla fonte attendibile 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 responsabile del riconciliatore.
reconciler_errors Ultimo valore componente, errorclass Il numero di errori riscontrati durante la sincronizzazione delle risorse dall'origine dei dati attendibili a un cluster.
remediate_duration_seconds Distribuzione stato La distribuzione della latenza degli eventi di riconciliazione dei correttivi.
resource_conflicts_total Conteggio Il numero totale di conflitti delle risorse derivanti da una mancata corrispondenza tra le risorse memorizzate nella cache e le risorse del cluster. La metrica potrebbe non essere visualizzata nei risultati della query se non si è verificato alcun conflitto tra le risorse.
resource_fights_total Conteggio Il numero totale di risorse sincronizzate con troppo frequenza. Qualsiasi risultato maggiore di zero indica un problema. Per ulteriori informazioni, consulta KNV2005: ResourceFightWarning. La metrica potrebbe non essere visualizzata nei risultati della query se non si è verificato alcun conflitto tra le risorse.

Metriche Controller gruppo di risorse

Resource Group Controller è un componente di Config Sync che tiene traccia delle risorse gestite e controlla se ogni singola risorsa è pronta riconciliato. Sono disponibili le metriche riportate di seguito.

Nome Tipo Tag Descrizione
rg_reconcile_duration_seconds Distribuzione motivo di stallo La distribuzione del tempo necessario per la riconciliazione di una RP ResourceGroup
resource_group_total Ultimo valore Il numero attuale di RP ResourceGroup
resource_count Ultimo valore gruppo di risorse Il numero totale di risorse monitorate da un ResourceGroup
ready_resource_count Ultimo valore gruppo di risorse Il numero totale di risorse pronte in un ResourceGroup
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 ResourceGroup
crd_count Ultimo valore gruppo di risorse Il numero di CRD in un ResourceGroup
kcc_resource_count Ultimo valore gruppo di risorse Il numero totale di risorse KCC in un ResourceGroup
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

È possibile utilizzare le etichette delle metriche per aggregare i dati delle metriche in Cloud Monitoring e Prometheus È possibile selezionarli in "Raggruppa per" nell'elenco a discesa Console di monitoraggio.

Per saperne di più sull'etichetta di Cloud Monitoring e sull'etichetta della metrica Prometheus, consulta la sezione Componenti del modello di metrica e il modello dei dati di Prometheus.

Etichette metriche

Le etichette seguenti vengono utilizzate da Config Sync e da Resource Group Controller disponibili durante il monitoraggio con Cloud Monitoring e Prometheus.

Nome Valori Descrizione
operation creare, 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 riconciliatore
source parser, differenziare, correzione L'origine dell'errore interno
trigger riprova, watchUpdate, managementConversation, risincronizzare, reimportare L'attivatore di un evento di riconciliazione
name Il nome del riconciliatore Il nome del riconciliatore
component analisi, origine, sincronizzazione, rendering, idoneità Il nome del componente / la fase attuale di riconciliazione
container riconciliatore, git-sync Il nome del container
resource CPU, memoria Il tipo di risorsa
controller applicatore, correttore Il nome del controller in un riconciliatore radice 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 su 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 reconciler hanno anche le seguenti etichette delle metriche impostate per identificare RootSync o RepoSync utilizzata per configurare il riconciliatore:

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

Etichette delle risorse Cloud Monitoring

Le etichette delle risorse Cloud Monitoring vengono utilizzate per indicizzare le metriche nello spazio di archiviazione, significa che hanno un effetto trascurabile sulla cardinalità, a differenza delle etichette delle metriche, dove cardinalità è un importante problema di prestazioni. Consulta Tipi di risorse monitorate per saperne di più.

Il tipo di risorsa k8s_container imposta le seguenti etichette delle risorse 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_observed

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

  • Per una corretta sincronizzazione 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 va a buon fine, rendering automatico, con il componente rendering viene osservata con valore 1.

  • Al momento del check-out l'ultimo commit si verifica un errore o l'ultimo commit contiene una configurazione non valida, la metrica con il componente source è osservato con il valore 1.

  • Quando una risorsa non può essere applicata al cluster, la metrica con il componente sync viene osservato con il valore 1.

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

Passaggi successivi