cAdvisor/Kubelet

Il componente Kubelet mostra sia le metriche relative a se stessa che quelle di cAdvisor di container in esecuzione sul suo nodo.

Cloud Monitoring offre una versione preconfigurata raccolta gestita delle metriche di cAdvisor/Kubelet come alternativa configurazione dell'integrazione. L'opzione di raccolta completamente gestita fornisce un insieme selezionato di metriche opinative che viene configurato nei nuovi cluster per impostazione predefinita.

L'integrazione descritta in questo documento offre tutti i servizi cAdvisor metriche, molte delle quali difficilmente ti serviranno e probabilmente vorranno filtrare ed è disponibile per Google Kubernetes Engine e altri ambienti Kubernetes. L'insieme gestito di metriche cAdvisor/Kubelet è stato selezionato per fornire solo le metriche più utili ed è disponibile solo per GKE. Per maggiori informazioni le informazioni, vedi Pacchetto: metriche cAdvisor/Kubelet.

Se configuri la raccolta delle metriche cAdvisor come descritto in questo documento, la configurazione sostituisce la configurazione di cAdvisor gestita da GKE. La configurazione descritta in questo documento abilita un superset delle metriche cAdvisor gestite.

Quando utilizzi l'approccio descritto in questo documento, anziché utilizzare una configurazione personalizzata di PodMonitoring, puoi configurare la raccolta gestita per eseguire automaticamente lo scraping delle metriche di cAdvisor e Kubelet modificando OperatorConfig. Puoi installare i manifest copiandoli in un file locale e poi eseguendo kubectl apply -f FILE_NAME Puoi anche installare manifest utilizzando Terraform.

  1. Apri la risorsa OperatorConfig per la modifica:

    kubectl -n gmp-public edit operatorconfig config
    
  2. Aggiungi alla risorsa la seguente sezione collection, mostrata in grassetto:

    apiVersion: monitoring.googleapis.com/v1
    kind: OperatorConfig
    metadata:
      namespace: gmp-public
      name: config
    collection:
      kubeletScraping:
        interval: 30s
    
  3. Salva il file e chiudi l'editor.

Dopo un breve lasso di tempo, verrà eseguito lo scraping degli endpoint della metrica Kubelet e delle metriche disponibili per l'esecuzione di query in Managed Service per Prometheus.

Lo scraping kubelet include alcuni filtri predefiniti e puoi aggiungerne altri filtri per la sezione collection della risorsa OperatorConfig come mostrato di seguito. La sezione di configurazione filter.matchOneOf ha la stessa semantica dei parametri match[] per la federazione di Prometheus.

L'esempio seguente esclude le metriche che iniziano con container_foo o container_bar:

collection:
  filter:
    matchOneOf:
    - '{__name__!~"container_foo.*|container_bar.*"}'

Puoi anche utilizzare questo filtro di raccolta OperatorConfig a scopo di debug. Ad esempio, potresti voler disattivare temporaneamente la raccolta di una determinata metrica nel tuo cluster senza modificare alcuna risorsa PodMonitoring.

Suggerimenti per le configurazioni avanzate di cAdvisor

Se esegui il deployment autonomo di cAdvisor o fornisci una configurazione avanzata a Kubelet con cAdvisor, tieni presente che è possibile associare etichette aggiuntive utilizzando le impostazioni avanzate di cAdvisor.

In particolare, evita di collegare etichette o ambienti di container Kubernetes variabili alle metriche e, in tal caso, controlla rigorosamente queste etichette utilizzando un pattern di una lista consentita (ad esempio, utilizzando la sezione metricRelabeling di PodMonitoring).

Controllare il numero di etichette aggiunte alle metriche può aiutarti a evitare di superare il limite del numero di etichette.