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 Resource Group Controller 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 di riferimento a un cluster. |
declared_resources | Ultimo valore | Il numero di risorse dichiarate analizzate da Git. | |
internal_errors_total | Conteggio | source | 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, 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. La metrica potrebbe non essere visualizzata nei risultati delle query in assenza di conflitti di risorse. | |
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. La metrica potrebbe non essere visualizzata nei risultati della query se non si è verificata alcuna battaglia tra risorse. |
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 |
---|---|---|---|
rg_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 | Ultimo valore | 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 di Config Sync e Resource Group Controller, disponibili durante il monitoraggio con Cloud Monitoring e Prometheus.
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 di riconciliazione attuale |
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.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
- Scopri di più su come monitorare gli oggetti RootSync e RepoSync.
- Scopri come utilizzare gli SLI di Config Sync.