Questa pagina descrive come configurare un cluster Google Kubernetes Engine (GKE) per inviare un insieme selezionato di metriche di cAdvisor/Kubelet a Cloud Monitoring tramite Google Cloud Managed Service per Prometheus. Questa pagina descrive anche come vengono formattate queste metriche quando vengono scritte Monitoraggio e come eseguire query sulle metriche.
L'insieme selezionato di metriche è un sottoinsieme dell'insieme Metriche cAdvisor/Kubelet integrate in ogni deployment Kubernetes per impostazione predefinita e include metriche relative alla riduzione del volume di importazione e e costi associati.
Prima di iniziare
Prima di iniziare, assicurati di aver eseguito le seguenti attività:
- Attiva l'API Google Kubernetes Engine. Abilita l'API Google Kubernetes Engine
- Se vuoi utilizzare Google Cloud CLI per questa attività,
install e poi
inizializzare
con gcloud CLI. Se hai già installato gcloud CLI, scarica la versione più recente
eseguendo
gcloud components update
.
Requisiti
Per raccogliere le metriche di cAdvisor/Kubelet, il tuo cluster GKE il cluster deve soddisfare i seguenti requisiti:
- Il cluster deve eseguire la versione GKE 1.29.3-gke.1093000 o versioni successive.
- Il cluster deve avere metriche di sistema in un bucket in cui è abilitato il controllo delle versioni. Le metriche di sistema sono abilitate per impostazione predefinita quando crei un cluster con la versione 1.29.3-gke.1093000 o successiva.
- Il cluster ha Raccolta gestita di Google Cloud Managed Service per Prometheus in un bucket in cui è abilitato il controllo delle versioni. La raccolta gestita è abilitata per impostazione predefinita quando crei un cluster con la versione 1.29.3-gke.1093000 o successiva.
Configurazione della raccolta delle metriche di cAdvisor/Kubelet
Puoi attivare le metriche cAdvisor/Kubelet in una il cluster GKE utilizzando la console Google Cloud, con gcloud CLI o Terraform.
Console
Per configurare le metriche cAdvisor/Kubelet dal menu Dettagli per il cluster, procedi nel seguente modo:
-
Nella console Google Cloud, vai alla pagina Cluster Kubernetes:
Se utilizzi la barra di ricerca per trovare questa pagina, seleziona il risultato con il sottotitolo Kubernetes Engine.
Fai clic sul nome del cluster.
Nella riga Funzionalità con etichetta Cloud Monitoring, Fai clic sull'icona Modifica.
Nella finestra di dialogo Modifica Cloud Monitoring visualizzata, verifica che L'opzione Abilita Cloud Monitoring è selezionata.
Nel menu a discesa Componenti, seleziona Componenti di cAdvisor/Kubelet da cui raccogliere le metriche:
- cAdvisor
- Kubelet
Fai clic su OK.
Fai clic su Salva modifiche.
gcloud
Aggiorna il cluster per raccogliere le metriche:
gcloud container clusters update CLUSTER_NAME \
--location=COMPUTE_LOCATION \
--enable-managed-prometheus \
--monitoring=SYSTEM,CADVISOR,KUBELET
Sostituisci quanto segue:
CLUSTER_NAME
: il nome del cluster esistente.COMPUTE_LOCATION
: il valore Località di Compute Engine nel cluster.
L'insieme di valori fornito al flag monitoring
sostituisce qualsiasi precedente
dell'ambientazione.
Terraform
Per configurare la raccolta delle metriche di cAdvisor/Kubelet utilizzando Terraform,
vedi il blocco monitoring_config
nella
Registro Terraform per google_container_cluster
.
Per informazioni generali sull'utilizzo di Google Cloud con Terraform, consulta
Terraform con Google Cloud.
Formato metrica
Tutte le metriche Kubernetes cAdvisor/Kubelet scritte in Cloud Monitoring
utilizza il tipo di risorsa
prometheus_target
.
Ogni nome della metrica è preceduto dal prefisso
prometheus.googleapis.com/
e ha un suffisso che indica
Tipo di metrica Prometheus, ad esempio /gauge
, /histogram
,
o /counter
. In caso contrario, il nome di ogni metrica
identico al nome della metrica esposto da Kubernetes open source.
Esportazione da Cloud Monitoring
Le metriche cAdvisor/Kubelet possono essere esportate da Cloud Monitoring utilizzando l'API Cloud Monitoring. Poiché tutte le metriche di cAdvisor/Kubelet vengono importate utilizzando Google Cloud Managed Service per Prometheus, È possibile eseguire query sulle metriche cAdvisor/Kubelet utilizzando Prometheus Query Language (PromQL). Possono anche essere interrogate tramite utilizzando Monitoring Query Language (MQL).
Esecuzione di query sulle metriche
Quando esegui una query sulle metriche cAdvisor/Kubelet, il nome che utilizzi dipende se usi PromQL o funzionalità basate su Cloud Monitoring, MQL o Metrics Explorer basata su menu.
Le seguenti tabelle delle metriche di cAdvisor/Kubelet mostrano due versioni di nome di ogni metrica:
- Nome metrica PromQL: quando utilizzando PromQL nelle pagine di Cloud Monitoring della console Google Cloud o nei campi PromQL della API Cloud Monitoring, utilizza il nome della metrica PromQL.
- Nome metrica di Cloud Monitoring Quando si utilizzano altri
Funzionalità di Cloud Monitoring; utilizza il nome della metrica di Cloud Monitoring
disponibili nelle tabelle seguenti. Questo nome deve essere preceduto dal prefisso
prometheus.googleapis.com/
, che è stata omessa dalla tabella. le voci nella tabella.
Metriche di cAdvisor
I nomi delle metriche di Cloud Monitoring in questa tabella devono essere preceduti dal prefisso
prometheus.googleapis.com/
. Questo prefisso è stato omesso dalla
le voci nella tabella.
Nome metrica PromQL Nome metrica di Cloud Monitoring |
|
---|---|
Tipo, Tipo, Unità
Risorse monitorate Versione GKE richiesta |
Description Labels |
container_cpu_cfs_periods_total container_cpu_cfs_periods_total/counter
|
|
CUMULATIVE , DOUBLE , 1
prometheus_target 1.29.3-gke.1093000 |
Numero di intervalli del periodo di applicazione trascorsi. Campionamento eseguito ogni 30 secondi.cpu
|
container_cpu_cfs_throttled_periods_total container_cpu_cfs_throttled_periods_total/counter
|
|
CUMULATIVE , DOUBLE , 1
prometheus_target 1.29.3-gke.1093000 |
Numero di intervalli di ciclo limitati. Campionamento eseguito ogni 30 secondi.cpu
|
container_cpu_usage_seconds_total container_cpu_usage_seconds_total/counter
|
|
CUMULATIVE , DOUBLE , s
prometheus_target 1.29.3-gke.1093000 |
Tempo di CPU cumulativo consumato. Campionamento eseguito ogni 30 secondi.cpu
|
container_fs_limit_bytes container_fs_limit_bytes/gauge
|
|
GAUGE , DOUBLE , By
prometheus_target 1.29.3-gke.1093000 |
Numero di byte che il container può utilizzare su questo
file system in esecuzione. Campionamento eseguito ogni 30 secondi.disk
|
container_fs_read_seconds_total container_fs_read_seconds_total/counter
|
|
CUMULATIVE , DOUBLE , 1
prometheus_target 1.29.3-gke.1093000 |
Conteggio cumulativo di letture completate. Campionamento eseguito ogni 30 secondi.diskIO
|
container_fs_reads_bytes_total container_fs_reads_bytes_total/counter
|
|
CUMULATIVE , DOUBLE , By
prometheus_target 1.29.3-gke.1093000 |
Conteggio cumulativo dei byte letti. Campionamento eseguito ogni 30 secondi.diskIO
|
container_fs_reads_total container_fs_reads_total/counter
|
|
CUMULATIVE , DOUBLE , 1
prometheus_target 1.29.3-gke.1093000 |
Conteggio cumulativo di letture completate. Campionamento eseguito ogni 30 secondi.diskIO
|
container_fs_usage_bytes container_fs_usage_bytes/gauge
|
|
GAUGE , DOUBLE , By
prometheus_target 1.29.3-gke.1093000 |
Numero di byte consumati dal container su questo
file system in esecuzione. Campionamento eseguito ogni 30 secondi.disk
|
container_fs_write_seconds_total container_fs_write_seconds_total/counter
|
|
CUMULATIVE , DOUBLE , s
prometheus_target 1.29.3-gke.1093000 |
Conteggio cumulativo dei secondi trascorsi a scrivere. Campionamento eseguito ogni 30 secondi.diskIO
|
container_fs_writes_bytes_total container_fs_writes_bytes_total/counter
|
|
CUMULATIVE , DOUBLE , By
prometheus_target 1.29.3-gke.1093000 |
Conteggio cumulativo dei byte scritti. Campionamento eseguito ogni 30 secondi.diskIO
|
container_fs_writes_total container_fs_writes_total/counter
|
|
CUMULATIVE , DOUBLE , 1
prometheus_target 1.29.3-gke.1093000 |
Conteggio cumulativo delle scritture completate. Campionamento eseguito ogni 30 secondi.diskIO
|
container_memory_rss container_memory_rss/gauge
|
|
GAUGE , DOUBLE , By
prometheus_target 1.29.3-gke.1093000 |
Dimensioni dell'RSS. Campionamento eseguito ogni 30 secondi.memory
|
container_memory_working_set_bytes container_memory_working_set_bytes/gauge
|
|
GAUGE , DOUBLE , By
prometheus_target 1.29.3-gke.1093000 |
Insieme di lavoro attuale. Campionamento eseguito ogni 30 secondi.memory
|
container_network_receive_bytes_total container_network_receive_bytes_total/counter
|
|
CUMULATIVE , DOUBLE , By
prometheus_target 1.29.3-gke.1093000 |
Conteggio cumulativo dei byte ricevuti. Campionamento eseguito ogni 30 secondi.network
|
container_network_receive_packets_dropped_total container_network_receive_packets_dropped_total/counter
|
|
CUMULATIVE , DOUBLE , 1
prometheus_target 1.29.3-gke.1093000 |
Conteggio cumulativo dei pacchetti eliminati durante la ricezione.
Campionamento eseguito ogni 30 secondi.network
|
container_network_receive_packets_total container_network_receive_packets_total/counter
|
|
CUMULATIVE , DOUBLE , 1
prometheus_target 1.29.3-gke.1093000 |
Conteggio cumulativo dei pacchetti ricevuti. Campionamento eseguito ogni 30 secondi.network
|
container_network_transmit_bytes_total container_network_transmit_bytes_total/counter
|
|
CUMULATIVE , DOUBLE , By
prometheus_target 1.29.3-gke.1093000 |
Conteggio cumulativo di byte trasmessi. Campionamento eseguito ogni 30 secondi.network
|
container_network_transmit_packets_dropped_total container_network_transmit_packets_dropped_total/counter
|
|
CUMULATIVE , DOUBLE , 1
prometheus_target 1.29.3-gke.1093000 |
Conteggio cumulativo dei pacchetti eliminati durante la trasmissione.
Campionamento eseguito ogni 30 secondi.network
|
container_network_transmit_packets_total container_network_transmit_packets_total/counter
|
|
CUMULATIVE , DOUBLE , 1
prometheus_target 1.29.3-gke.1093000 |
Conteggio cumulativo dei pacchetti trasmessi. Campionamento eseguito ogni 30 secondi.network
|
Metriche kubelet
I nomi delle metriche di Cloud Monitoring in questa tabella devono essere preceduti dal prefisso
prometheus.googleapis.com/
. Questo prefisso è stato omesso dalla
le voci nella tabella.
Nome metrica PromQL Nome metrica di Cloud Monitoring |
|
---|---|
Tipo, Tipo, Unità
Risorse monitorate Versione GKE richiesta |
Description Labels |
kubelet_certificate_manager_server_ttl_seconds kubelet_certificate_manager_server_ttl_seconds/gauge
|
|
GAUGE , DOUBLE , 1
prometheus_target 1.29.3-gke.1093000 |
Indicatore del TTL (time-to-live) più breve della pubblicazione del kubelet
certificato. Il valore è espresso in secondi fino alla scadenza del certificato
(negativo se già scaduto). Se il certificato di pubblicazione non è valido
inutilizzato, il valore sarà +INF. Campionamento eseguito ogni 30 secondi. |
kubelet_node_name kubelet_node_name/gauge
|
|
GAUGE , DOUBLE , 1
prometheus_target 1.29.3-gke.1093000 |
Il nome del nodo. Il conteggio è sempre 1. Campionamento eseguito ogni 30 secondi.node
|
kubelet_pleg_relist_duration_seconds kubelet_pleg_relist_duration_seconds/histogram
|
|
CUMULATIVE , DISTRIBUTION , s
prometheus_target 1.29.3-gke.1093000 |
Durata in secondi per il reinserimento dei pod in PLEG. Campionamento eseguito ogni 30 secondi. |
kubelet_pod_worker_duration_seconds kubelet_pod_worker_duration_seconds/histogram
|
|
CUMULATIVE , DISTRIBUTION , s
prometheus_target 1.29.3-gke.1093000 |
Durata in secondi per la sincronizzazione di un singolo pod. Suddivisione per operazione
type: create, update o sync. Campionamento eseguito ogni 30 secondi.operation_type
|
kubelet_running_containers kubelet_running_containers/gauge
|
|
GAUGE , DOUBLE , 1
prometheus_target 1.29.3-gke.1093000 |
Numero di container attualmente in esecuzione. Campionamento eseguito ogni 30 secondi.container_state
|
kubelet_running_pods kubelet_running_pods/gauge
|
|
GAUGE , DOUBLE , 1
prometheus_target 1.29.3-gke.1093000 |
Numero di pod con una sandbox pod in esecuzione. Campionamento eseguito ogni 30 secondi. |
kubelet_runtime_operations_total kubelet_runtime_operations_total/counter
|
|
CUMULATIVE , DOUBLE , 1
prometheus_target 1.29.3-gke.1093000 |
Numero cumulativo di operazioni di runtime per tipo di operazione.
Campionamento eseguito ogni 30 secondi.operation_type
|
kubelet_volume_stats_available_bytes kubelet_volume_stats_available_bytes/gauge
|
|
GAUGE , DOUBLE , 1
prometheus_target 1.29.3-gke.1093000 |
Numero di byte disponibili nel volume. Campionamento eseguito ogni 30 secondi.namespace
persistentvolumeclaim
|
kubelet_volume_stats_capacity_bytes kubelet_volume_stats_capacity_bytes/gauge
|
|
GAUGE , DOUBLE , 1
prometheus_target 1.29.3-gke.1093000 |
Capacità in byte del volume. Campionamento eseguito ogni 30 secondi.namespace
persistentvolumeclaim
|
kubelet_volume_stats_inodes kubelet_volume_stats_inodes/gauge
|
|
GAUGE , DOUBLE , 1
prometheus_target 1.29.3-gke.1093000 |
Numero massimo di inode nel volume. Campionamento eseguito ogni 30 secondi.namespace
persistentvolumeclaim
|
kubelet_volume_stats_inodes_free kubelet_volume_stats_inodes_free/gauge
|
|
GAUGE , DOUBLE , 1
prometheus_target 1.29.3-gke.1093000 |
Numero di inode gratuiti nel volume. Campionamento eseguito ogni 30 secondi.namespace
persistentvolumeclaim
|
kubelet_volume_stats_inodes_used kubelet_volume_stats_inodes_used/gauge
|
|
GAUGE , DOUBLE , 1
prometheus_target 1.29.3-gke.1093000 |
Numero di inodi utilizzati nel volume. Campionamento eseguito ogni 30 secondi.namespace
persistentvolumeclaim
|
kubelet_volume_stats_used_bytes kubelet_volume_stats_used_bytes/gauge
|
|
GAUGE , DOUBLE , 1
prometheus_target 1.29.3-gke.1093000 |
Numero di byte utilizzati nel volume. Campionamento eseguito ogni 30 secondi.namespace
persistentvolumeclaim
|