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 OpenTelemetry in un altro sistema di monitoraggio. Le seguenti guide spiegano come esportare le metriche:
Metriche OpenTelemetry
Config Sync e il controller del gruppo di risorse raccolgono le seguenti metriche con OpenCensus e le rendono disponibili tramite il collettore OpenTelemetry . 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 dei tag.
Metriche di Config Sync
Nome | Tipo | Tag | Descrizione |
---|---|---|---|
api_duration_seconds | Distribuzione | operation, status | La distribuzione della latenza delle chiamate al server API. |
apply_duration_seconds | Distribuzione | stato | La distribuzione della latenza dell'applicazione delle risorse dichiarate dalla sorgente attendibile a un cluster. |
apply_operations_total | Conteggio | operation, status, controller | Il numero totale di operazioni 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 rilevati 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 | name, reconciler, component | Lo stato delle risorse personalizzate RootSync e RepoSync. Un valore pari a 1 indica un errore. |
reconcile_duration_seconds | Distribuzione | stato | La distribuzione della latenza degli eventi di riconciliazione gestiti dal gestore della riconciliazione. |
reconciler_errors | Ultimo valore | component, errorclass | Il numero di errori rilevati durante la sincronizzazione delle risorse dalla fonte della verità a un cluster. |
remediate_duration_seconds | Distribuzione | stato | La distribuzione della latenza degli eventi di riconciliazione del rimediatore. |
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 della query se non si è verificato alcun conflitto di risorse. | |
resource_fights_total | Conteggio | Il numero totale di risorse sincronizzate troppo di frequente. Qualsiasi risultato superiore a 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 di risorse. |
Metriche del controller del gruppo di risorse
Resource Group Controller è un componente di Config Sync che tiene traccia delle risorse gestite e controlla se ogni singola risorsa è pronta o riconciliata. Sono disponibili le seguenti metriche.
Nome | Tipo | Tag | Descrizione |
---|---|---|---|
rg_reconcile_duration_seconds | Distribuzione | stallreason | La distribuzione del tempo necessario per riconciliare una RP ResourceGroup |
resource_group_total | Ultimo valore | Il numero corrente di risorse ResourceGroup | |
resource_count | Ultimo valore | resourcegroup | Il numero totale di risorse monitorate da un ResourceGroup |
ready_resource_count | Ultimo valore | resourcegroup | Il numero totale di risorse pronte in un ResourceGroup |
resource_ns_count | Ultimo valore | resourcegroup | Il numero di spazi dei nomi utilizzati dalle risorse in un ResourceGroup |
cluster_scoped_resource_count | Ultimo valore | resourcegroup | Il numero di risorse con ambito cluster in un gruppo di risorse |
crd_count | Ultimo valore | resourcegroup | Il numero di CRD in un ResourceGroup |
kcc_resource_count | Ultimo valore | resourcegroup | Il numero totale di risorse KCC in un ResourceGroup |
pipeline_error_observed | Ultimo valore | name, reconciler, component | Lo stato delle risorse personalizzate RootSync e RepoSync. Un valore pari a 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 monitoraggio.
Per ulteriori informazioni sull'etichetta di Cloud Monitoring e sull'etichetta della metrica Prometheus, consulta Componenti del modello metrico e Modello di 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 |
create, patch, update, delete | Il tipo di operazione eseguita |
status |
success, error | Lo stato di esecuzione di un'operazione |
reconciler |
rootsync, reposync | Il tipo di riconciliatore |
source |
parser, differ, remediator | La fonte dell'errore interno |
trigger |
retry, watchUpdate, managementConflict, resync, reimport | L'attivatore di un evento di riconciliazione |
name |
Il nome dell'agente di riconciliazione | Il nome del riconciliatore |
component |
analisi, origine, sincronizzazione, rendering, idoneità | Il nome del componente / la fase corrente della riconciliazione |
container |
reconciler, git-sync | Il nome del contenitore |
resource |
cpu, memoria | Il tipo di risorsa |
controller |
applier, remediator | Il nome del controller in un riconciliatore della radice o dello spazio dei nomi |
type |
Qualsiasi risorsa Kubernetes, ad esempio ClusterRole, Namespace, 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 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 reconciler
hanno anche le seguenti etichette delle metriche impostate per identificare RootSync o RepoSync utilizzato 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 di RootSync o RepoSync che configura questo riconciliatore |
Etichette delle risorse Cloud Monitoring
Le etichette delle risorse di Cloud Monitoring vengono utilizzate per indicizzare le metriche nello spazio di archiviazione, il che significa che hanno un effetto trascurabile sulla cardinalità, a differenza delle etichette delle metriche, per le quali la cardinalità è un problema di prestazioni significativo. Per ulteriori informazioni, consulta Tipi di risorse monitorate.
Il tipo di risorsa k8s_container
imposta le seguenti etichette risorse per identificare il contenitore di origine:
Nome | Descrizione |
---|---|
container_name |
Il nome del contenitore |
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 |
Informazioni sulla metrica pipeline_error_observed
La metrica pipeline_error_observed
può aiutarti a identificare rapidamente le RP RepoSync o RootSync non sincronizzate o che contengono risorse non riconciliate con lo stato desiderato.
Per una sincronizzazione riuscita da parte di RootSync o RepoSync, le metriche con tutti i componenti (
rendering
,source
,sync
,readiness
) vengono osservate con il valore 0.Quando l'ultimo commit non riesce, il rendering automatico viene osservato con il valore 1.
rendering
Quando il controllo dell'ultimo commit genera un errore o se l'ultimo commit contiene una configurazione non valida, la metrica con il componente
source
viene osservata con il valore 1.Quando non è possibile applicare una risorsa al cluster, la metrica con il componente
sync
viene osservata con il valore 1.Quando una risorsa viene applicata, ma non raggiunge lo stato desiderato, la metrica con il componente
readiness
viene osservata con il valore 1. Ad esempio, un deployment viene applicato al cluster, 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.