Questa pagina fornisce una panoramica di 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 carico di lavoro nella pagina Workload. Puoi quindi fare clic sui link Log del contenitore o Log di controllo nella scheda Panoramica per visualizzare i log in Esplora log oppure selezionare la scheda Log per visualizzarli nel contesto.
Logging: seleziona Esplora log, quindi utilizza i filtri di logging per selezionare le risorse Kubernetes, ad esempio log di cluster, nodi, spazi dei nomi, pod o container. Per esempi di query per aiutarti a iniziare, consulta le query relative a Kubernetes.
- Monitoraggio: le dashboard di GKE mostrano le metriche e i 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 contenuti utilizzando il comando
gcloud logging read
.
Per l'aggregazione dei log personalizzati, l'analisi dei log o l'integrazione con sistemi di terze parti, puoi anche utilizzare la funzionalità di sink di log per esportare i log in BigQuery, Cloud Storage e Pub/Sub.
Informazioni sui 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 piano di controllo 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 ti servono.
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
econfig-management-system
.Servizi chiave non in container, tra cui il runtime
docker
/containerd
,kubelet
,kubelet-monitor
,node-problem-detector
ekube-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 disattivare 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 la risoluzione dei problemi di arresti anomali, avvii non riusciti, problemi di avvio o di arresto dei nodi GKE. La disattivazione di questi log potrebbe limitare la risoluzione dei problemi.
Gli audit log di sistema verranno visualizzati in Cloud Logging con i seguenti nomi:
- projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Fdata_access – Log di accesso ai dati
- projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Factivity: log delle attività di amministrazione
- projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Fsystem_event: log degli eventi di sistema
- projects/PROJECT_ID/logs/events – Log eventi
Per informazioni dettagliate sulle voci di log che si applicano ai tipi di risorse del cluster Kubernetes e delle operazioni del cluster GKE, consulta la documentazione relativa ai log di controllo.
Esistono altri log di sistema, come quelli per kube-system, che vengonoscritti e descritti in Controllare la raccolta dei log delle applicazioni.Log delle applicazioni
I container Kubernetes raccolgono i log per i tuoi carichi di lavoro scritti in STDOUT
e
STDERR
. Puoi trovare i log delle applicazioni del tuo carico di lavoro utilizzando i tipi di risorse k8s_container
o gke_cluster
. I log verranno visualizzati in
Logging con i seguenti nomi:
projects/PROJECT_ID/logs/stderr: i log scritti nell'errore standard
projects/PROJECT_ID/logs/stdout: i log scritti in output standard
Log dei componenti del piano di controllo
Se i log del piano di controllo sono abilitati per il tuo cluster GKE, i log emessi da determinati componenti del piano di controllo di 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 attivare 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 state il risultato di un accesso amministrativo autorizzato da parte del personale Google. Per maggiori dettagli, consulta Verificare le connessioni di Google al piano di controllo 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 delle identità cluster
Se utilizzi l'autorità del piano di controllo GKE per eseguire le tue autorità di certificazione (CA) e le chiavi di firma per il tuo cluster, GKE genera log di controllo per i casi in cui queste CA e chiavi vengono utilizzate per emettere certificati X.509 o token JWT (JSON Web Token) nel tuo cluster. Puoi quindi correlare questi log di emissione delle identità con i log del server API Kubernetes, del Certificate Authority Service e di Cloud Key Management Service per monitorare l'utilizzo di questi certificati e JWT nel tuo cluster. Per maggiori dettagli, consulta 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 Log.
Esplora log
Con Query Builder 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 per i cluster GKE, puoi iniziare selezionando o cercando il tipo di risorsa Cluster Kubernetes e poi la posizione e il nome del cluster. Puoi quindi perfezionare la ricerca selezionando i log delle attività nel selettore Nome log.
Esplora log offre un modo aggiuntivo per creare le query di ricerca utilizzando lo strumento di esplorazione dei campi dei log. Mostra il conteggio delle voci di log, ordinate in ordine decrescente, per il campo di log specificato. L'utilizzo di Esplora campi log è particolarmente utile per i log GKE perché 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 contenitore specifico.
Puoi trovare ulteriori dettagli nella documentazione relativa alla registrazione sull'utilizzo di Esplora log.
Query di esempio
Se stai cercando log specifici, utilizza le seguenti query di esempio per aiutarti a trovare i log di GKE:
Query di log di esempio relative a Kubernetes
Query di esempio sui log del piano di controllo di Kubernetes Engine
Log per la risoluzione dei problemi
Se scrivi un volume elevato di log dal tuo cluster GKE, potresti scoprire che molti di questi log non vengono visualizzati in modo coerente in Cloud Logging. Una possibile causa è che il volume dei log supera la portate del logging supportata per GKE.
Il logging supporta fino a 100 KB/s per nodo di throughput del logging. Se uno dei nodi del tuo cluster GKE richiede un throughput del logging superiore, ti consigliamo di aumentare il throughput dell'agente di logging.