Cloud Logging
Questo documento descrive come GKE su Azure si integra con Cloud Logging e mostra come accedere ai log.
Panoramica
GKE su Azure supporta Cloud Logging per carichi di lavoro e per componenti di sistema in esecuzione sui nodi del piano di controllo e del pool di nodi.
GKE su Azure include un agente di logging basato su Fluentbit. Sui nodi del piano di controllo, l'agente Logging viene eseguito come componente di sistema; sui nodi del pool di nodi viene eseguito come Daemonset. I dati raccolti dagli agenti di logging possono essere gestiti ed eliminati come qualsiasi altra metrica e dati di log, come descritto nella documentazione di Cloud Logging.
Quali dati vengono raccolti
GKE su Azure registra le seguenti informazioni:
- Log dei componenti di sistema su ciascuna replica del piano di controllo.
- Log per i servizi di sistema su ciascuno dei nodi del pool di nodi.
- Facoltativamente, log per i carichi di lavoro
Abilita il logging dei carichi di lavoro
Per abilitare il logging dei carichi di lavoro, devi creare un nuovo cluster Kubernetes, versione 1.22 o successiva.
Per impostazione predefinita, quando crei un cluster, GKE su Azure abilita il logging di sistema. Per abilitare il logging dei carichi di lavoro, devi creare un cluster con il flag --logging
. Puoi scegliere di abilitare il logging per
componenti di sistema, carichi di lavoro o entrambi.
Ad esempio, per abilitare il logging del sistema e del carico di lavoro su un nuovo cluster, segui le istruzioni per creare un cluster, ma includi il flag --logging
nel comando gcloud
:
gcloud container azure clusters create CLUSTER_NAME ... --logging=SYSTEM,WORKLOAD
o aggiornare un cluster esistente:
gcloud container azure clusters update CLUSTER_NAME ... --logging=SYSTEM,WORKLOAD
Accedi ai tuoi log
Esistono diversi modi per accedere ai log di GKE su Azure in Cloud Logging:
Esplora log: puoi visualizzare i log direttamente da Esplora log utilizzando i filtri di logging per selezionare le risorse Kubernetes, come i log di cluster, nodo, spazio dei nomi, pod o container.
Google Cloud CLI: utilizzando il comando
gcloud logging read
, seleziona i log appropriati per cluster, nodo, pod e container.
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 di GKE su Azure:
Tipo di risorsa | Nome visualizzato |
---|---|
k8s_control_plane_component |
Log dei componenti del piano di controllo |
k8s_node |
Log del pool di nodi |
k8s_container |
Log dei container per carichi di lavoro |
Quando GKE su Azure scrive i log del cluster, ogni voce di log include il tipo di risorsa. Capire dove vengono visualizzati i log semplifica il reperimento dei log quando ne hai bisogno.
Log del piano di controllo
I log del piano di controllo utilizzano il tipo di risorsa k8s_control_plane_component
. Questi includono i log dei componenti di sistema in esecuzione sulle repliche del piano di controllo, come kube-apiserver
.
Log dei nodi
I log dei nodi rientrano nel tipo di risorsa k8s_node
. Questi includono i log di
componenti di sistema critici in esecuzione sui nodi worker, come
kubelet
e containerd
.
Log delle app di sistema
I log delle app di sistema rientrano nel tipo di risorsa k8s_container
. Includono i log dei pod installati sui nodi worker da GKE su Azure.
In particolare, sono inclusi i container in esecuzione nei seguenti spazi dei nomi:
kube-system
gke-connect
gke-system
gmp-system
asm-user-auth
cnrm-system
config-management-system
gatekeeper-system
gmp-public
istio-system
knative-serving
Trova i log nell'interfaccia utente di Cloud Logging
Puoi visualizzare i log utilizzando Esplora log nell'interfaccia utente di Cloud Logging.
Esplora log
Utilizzando Query Builder, puoi creare una query aggiungendo manualmente parametri di ricerca. Ad esempio, se vuoi esplorare i log per i carichi di lavoro di sistema, puoi iniziare selezionando o cercando il tipo di risorsa k8s_container
, per poi selezionare la località e il nome del cluster. Puoi quindi perfezionare la ricerca
filtrando i nomi dei container o dei pod.
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'esplorazione dei campi dei log è particolarmente utile per i log di GKE su Azure perché consente di selezionare facilmente i valori Kubernetes per le risorse. Ad esempio, puoi selezionare i log per un cluster specifico, lo spazio dei nomi, il nome del pod e il nome del container.
Per ulteriori informazioni, consulta Utilizzo di Esplora log.
Query di esempio
Questa sezione include query di esempio che puoi eseguire in Esplora log.
Esempio 1: recupera i log di kube-apiserver
sui nodi del piano di controllo per un cluster di Azure CLUSTER_NAME:
resource.type="k8s_control_plane_component"
resource.labels.cluster_name="azureClusters/CLUSTER_NAME"
resource.labels.component_name="apiserver"
Esempio 2: recupera i log di kubelet
sui nodi worker per un cluster Azure CLUSTER_NAME:
resource.type="k8s_node"
resource.labels.cluster_name="azureClusters/CLUSTER_NAME"
log_name="projects/PROJECT_ID/logs/kubelet"
Esempio 3: recupera i log del container cilium-agent
per un cluster Azure CLUSTER_NAME:
resource.type="k8s_container"
resource.labels.cluster_name="azureClusters/CLUSTER_NAME"
resource.labels.container_name="cilium-agent"
Passaggi successivi
- Panoramica di Cloud Logging
- Utilizzo di Esplora log
- Creazione di query per Cloud Logging
- Creare metriche basate su log