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 offre un set di metriche "guidato" e selezionato che viene configurato per impostazione predefinita in nuovi cluster.

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 di cAdvisor/Kubelet è stato selezionato per fornire 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 di cAdvisor come descritto in documento, la configurazione ha la precedenza sulla configurazione di cAdvisor. La configurazione descritta in questo documento consente un sovrainsieme di metriche di cAdvisor gestite.

Quando utilizzi l'approccio descritto in questo documento, anziché utilizzare una personalizzata di PodMonitoring, puoi configurare una raccolta gestita per eseguire automaticamente lo scraping Metriche 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 di filter.matchOneOf presenta lo stesso come i parametri match[] per la federazione 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 un nel cluster senza modificare alcuna risorsa PodMonitoring.

Suggerimenti per configurazioni avanzate di cAdvisor

Se esegui il deployment di cAdvisor autonomamente o fornisci una configurazione avanzata a Kubelet a cAdvisor, tieni presente che puoi applicare etichette aggiuntive utilizzando 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 superare il limite relativo al numero di etichette.