Questa pagina fornisce una panoramica su come trovare e utilizzare i log di Google Kubernetes Engine (GKE).
Accesso ai log
Puoi accedere ai log GKE in molti modi:
Nella console Google Cloud puoi visualizzare i log delle 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 Carichi di lavoro. Quindi, fai clic sui link Log container o Audit log nella scheda Panoramica per visualizzare i log in Esplora log oppure seleziona la scheda Log per visualizzare i log nel contesto.
Logging: seleziona Esplora log, quindi utilizza i filtri di logging per selezionare le risorse Kubernetes, ad esempio i log di cluster, nodo, spazio dei nomi, pod o container. Ad esempio di query per aiutarti a iniziare, consulta Query correlate a Kubernetes.
- Monitoraggio: le dashboard GKE mostrano metriche e log per le risorse GKE come cluster, nodi e pod. Per maggiori 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 utilizzare la funzionalità dei sink di logging anche per esportare i log in BigQuery, Cloud Storage e Pub/Sub.
Interpretazione dei 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 log.
Tipi di risorse
Questi sono i tipi di risorse specifici dei cluster GKE:
Tipo di risorsa | Nome visualizzato |
---|---|
k8s_cluster |
Log del cluster Kubernetes |
k8s_node |
Log del pool di nodi GKE |
k8s_pod |
Log dei pod GKE |
k8s_container |
Log dei container GKE |
k8s_control_plane_component |
Componente piano di controllo Kubernetes |
Quando GKE scrive i log del cluster, ogni voce di log include il tipo di risorsa. Capire dove appaiono i log ti consente di trovarli più facilmente 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
econfig-management-system
.Servizi chiavi non containerizzati, inclusi 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 di serie per i nodi viene raccolto dall'agente Logging. Per disabilitare il logging degli 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 di arresto dei nodi GKE. La disattivazione di questi log potrebbe limitare la risoluzione dei problemi.
I log di sistema vengono acquisiti per i seguenti tipi di risorse:
log del cluster con
k8s_cluster
log dei nodi con
k8s_node
pod con
k8s_pod
app di sistema con
k8s_container
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/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 sull'audit logging.
Esistono log di sistema aggiuntivi, come quelli per kube-system che vengono scritti, descritti in Controllo della raccolta dei log delle applicazioni.Registri di applicazioni
I container Kubernetes raccolgono i log per i carichi di lavoro scritti in STDOUT
e STDERR
. Puoi trovare i log delle applicazioni per i tuoi carichi di lavoro utilizzando i tipi di risorse k8s_container
o gke_cluster
. I tuoi 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 su standard out
Log 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 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
Trovare i log nell'interfaccia utente di Logging
Puoi visualizzare i log utilizzando Esplora log nell'interfaccia utente di Logging.
Esplora log
Utilizzando Query Builder, puoi creare una query selezionando i campi da un menu a discesa o aggiungendo parametri di ricerca manualmente. Ad esempio, se stai esaminando i log per i cluster GKE, puoi iniziare selezionando o cercando il tipo di risorsa Cluster Kubernetes, quindi selezionando la località 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 l'esplorazione campi Log. Mostra il numero delle voci di log, ordinate in base al numero decrescente, per il campo di log specificato. L'utilizzo di Esplora campi di log è particolarmente utile per i log di GKE perché Explorer campi di log offre un modo per selezionare i valori Kubernetes per le risorse al fine di creare una query. Ad esempio, utilizzando l'Explorer campi dei log, puoi selezionare i log per un cluster, uno spazio dei nomi, un nome pod e, quindi, un nome container specifico.
Puoi trovare ulteriori dettagli nella documentazione di Logging sull'utilizzo di Esplora log.
Query di esempio
Se stai cercando log specifici, utilizza le seguenti query di esempio che ti consentono di trovare i log GKE:
Query di log relative a Kubernetes di esempio
Query di esempio dei log del piano di controllo Kubernetes Engine
Risoluzione dei problemi relativi ai log
Se stai scrivendo un volume elevato di log dal tuo cluster GKE, potresti notare che molti di questi log non vengono costantemente visualizzati in Cloud Logging. Una potenziale causa è che il volume di logging supera la velocità effettiva di logging supportata per GKE.
Logging supporta fino a 100 kB/s per nodo di velocità effettiva di logging. Se uno dei nodi nel tuo cluster GKE richiede una velocità effettiva di logging superiore a questa, ti consigliamo di aumentare la velocità effettiva dell'agente Logging.