Visualizza i log di GKE


Questa pagina fornisce una panoramica su come trovare e utilizzare i log di Google Kubernetes Engine (GKE).

Accedere ai log

Puoi accedere ai log di GKE in diversi modi:

  • Dalla console Google Cloud , puoi visualizzare i log dalle seguenti pagine:

    • Kubernetes Engine:

      • Seleziona un cluster nella pagina Cluster, quindi seleziona la scheda Log. Questa scheda offre anche query suggerite per i log del cluster.
      • Seleziona un workload nella pagina Workload. Puoi quindi fare clic sui link Log dei container o Audit log nella scheda Panoramica per visualizzare i log in Esplora log oppure selezionare la scheda Log per visualizzare i log nel contesto.
    • Logging: seleziona Esplora log e poi utilizza i filtri di logging per selezionare le risorse Kubernetes, ad esempio i log di cluster, nodi, spazi dei nomi, pod o container. Per esempi di query per iniziare, consulta Query correlate a Kubernetes.

    • Monitoraggio: le dashboard GKE mostrano metriche e log per le risorse GKE come cluster, nodi e pod. Per ulteriori informazioni, consulta Visualizzare le metriche di osservabilità.

  • Da Google Cloud CLI: esegui query sui log di cluster, nodi, pod e container utilizzando il comando gcloud logging read.

Per l'aggregazione personalizzata dei log, l'analisi dei log o l'integrazione con sistemi di terze parti, puoi anche utilizzare la funzionalità dei sink di logging per esportare i log in BigQuery, Cloud Storage e Pub/Sub.

Comprendere i log

Un log in Cloud Logging è una raccolta di voci di log e ogni voce di log si applica a un determinato tipo di risorsa di logging.

Tipi di risorse

Questi sono i tipi di risorse specifici per i cluster GKE:

Tipi di risorse di log
gke_cluster Log delle operazioni del cluster GKE
k8s_cluster Log del cluster Kubernetes
k8s_node Log dei nodi Kubernetes
k8s_pod Log dei pod Kubernetes
k8s_container Log dei container Kubernetes
k8s_control_plane_component Log dei componenti del control plane Kubernetes

Quando GKE scrive i log del cluster, ogni voce di log include il tipo di risorsa. Comprendere dove vengono visualizzati i log semplifica la loro ricerca quando ne hai bisogno.

Log di sistema

I log di sistema includono i log delle seguenti origini:

  • Tutti i pod in esecuzione negli spazi dei nomi kube-system, istio-system, knative-serving, gke-system e config-management-system.

  • Servizi chiave non containerizzati, inclusi i runtime docker/containerd, kubelet, kubelet-monitor, node-problem-detector e kube-container-runtime-monitor.

  • L'output delle porte seriali del nodo, se i metadati dell'istanza VM serial-port-logging-enable sono impostati su true. A partire da GKE 1.16-13-gke.400, l'output della porta seriale per i nodi viene raccolto dall'agente Logging. Per disabilitare la registrazione dell'output della porta seriale, imposta --metadata serial-port-logging-enable=false durante la creazione del cluster. L'output della porta seriale è utile per risolvere i problemi di arresti anomali, avvii non riusciti, problemi di avvio o arresto dei nodi GKE. La disattivazione di questi log potrebbe limitare la risoluzione dei problemi.

I log di controllo del sistema verranno visualizzati in Cloud Logging con i seguenti nomi:

  • projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Fdata_access – Data Access logs
  • projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Factivity – Log delle attività di amministrazione
  • projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Fsystem_event – System Event logs
  • projects/PROJECT_ID/logs/events – Events log

Per informazioni dettagliate sulle voci di log che si applicano ai tipi di risorse Cluster Kubernetes e Operazioni cluster GKE, consulta la documentazione relativa al logging di controllo.

Esistono log di sistema aggiuntivi, ad esempio quelli per kube-system, che vengono scritti e descritti in Controllare la raccolta dei log delle applicazioni.

Log delle applicazioni

I container Kubernetes raccolgono i log dei tuoi workload scritti in STDOUT e STDERR. Puoi trovare i log delle applicazioni del carico di lavoro utilizzando il tipo di risorsa k8s_container. I log verranno visualizzati in Logging con i seguenti nomi:

  • projects/PROJECT_ID/logs/stderr: log scritti nell'errore standard

  • projects/PROJECT_ID/logs/stdout: log scritti in standard out

Log dei componenti del control plane

Se i log del control plane sono abilitati per il tuo cluster GKE, i log emessi da determinati componenti del control plane Kubernetes (ad esempio, il server API, lo scheduler e il gestore del controller) vengono esportati in Cloud Logging.

Questi log utilizzano il tipo di risorsa k8s_control_plane_component e vengono visualizzati in Cloud Logging con i seguenti nomi:

  • projects/PROJECT_ID/logs/container.googleapis.com%2Fapiserver

  • projects/PROJECT_ID/logs/container.googleapis.com%2Fscheduler

  • projects/PROJECT_ID/logs/container.googleapis.com%2Fcontroller-manager

Log di accesso al control plane

Se utilizzi l'autorità del piano di controllo GKE, puoi abilitare i log facoltativi per tutte le connessioni di rete in entrata alle istanze del piano di controllo e quando si verificano eventi SSH nelle istanze del piano di controllo. Puoi quindi correlare questi log di accesso al control plane con i log di Access Transparency e con i log del server API Kubernetes per verificare facoltativamente che le connessioni alle istanze del control plane siano il risultato di un accesso amministrativo autorizzato da parte del personale Google. Per maggiori dettagli, consulta Verificare le connessioni di Google al control plane del cluster.

Questi log utilizzano il tipo di risorsa gke_cluster e vengono visualizzati in Cloud Logging con i seguenti nomi:

  • projects/PROJECT_ID/logs/container.googleapis.com%2Fkcp_connection
  • projects/PROJECT_ID/logs/container.googleapis.com%2Fkcp_ssh

Log di emissione dell'identità del cluster

Se utilizzi l'autorità del control plane GKE per eseguire le tue autorità di certificazione (CA) e le chiavi di firma per il tuo cluster, GKE genera log di controllo per quando queste CA e chiavi vengono utilizzate per emettere certificati X.509 o JSON Web Token (JWT) nel tuo cluster. Puoi quindi correlare questi log di emissione di identità con i log del server API Kubernetes, di Certificate Authority Service e di Cloud Key Management Service per monitorare l'utilizzo di questi certificati e JWT nel tuo cluster. Per maggiori dettagli, vedi Verificare l'emissione e l'utilizzo dell'identità.

Questi log sono audit log degli eventi di sistema che utilizzano il tipo di risorsa gke_cluster e vengono visualizzati in Cloud Logging con il seguente nome:

  • projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Fsystem_event

Trovare i log nell'interfaccia utente di Logging

Puoi visualizzare i log utilizzando Esplora log nell'interfaccia utente di Logging.

Esplora log

Con lo strumento di creazione delle query, puoi creare una query selezionando i campi da un menu a discesa o aggiungendo manualmente parametri di ricerca. Ad esempio, se stai esaminando i log dei cluster GKE, puoi iniziare selezionando o cercando il tipo di risorsa Cluster Kubernetes, quindi selezionare la località e il nome del cluster. Puoi quindi perfezionare la ricerca selezionando i log attività nel selettore Nome log.

Esplora log offre un modo aggiuntivo per creare query di ricerca utilizzando l'Esploratore dei campi dei log. Mostra il conteggio delle voci di log, ordinate in base al conteggio decrescente, per il campo log specificato. L'utilizzo di Esplora campi log è particolarmente utile per i log GKE perché Esplora campi log consente di selezionare i valori Kubernetes per le risorse per creare una query. Ad esempio, utilizzando l'Esploratore dei campi dei log, puoi selezionare i log per un cluster, uno spazio dei nomi, un nome pod e poi un nome container specifici.

Puoi trovare maggiori dettagli nella documentazione di Logging sull'utilizzo di Esplora log.

Query di esempio

Se stai cercando log specifici, utilizza le seguenti query di esempio per trovare i log GKE:

Risoluzione dei problemi relativi ai log

Se scrivi un volume elevato di log dal tuo cluster GKE, potresti notare che molti di questi log non vengono visualizzati in modo coerente in Cloud Logging. Una potenziale causa è che il volume di logging supera la velocità effettiva di logging supportata per GKE.

La registrazione supporta una velocità effettiva fino a 100 KB/s per nodo. Se uno dei nodi del cluster GKE richiede una velocità effettiva di logging superiore, ti consigliamo di aumentare la velocità effettiva dell'agente di logging.