Diese Seite bietet eine Übersicht darüber, wie Sie GKE-Logs (Google Kubernetes Engine) finden und verwenden.
Auf Logs zugreifen
Sie haben viele Möglichkeiten, auf Ihre GKE-Logs zuzugreifen:
In der Google Cloud Console können Sie Logs der folgenden Seiten ansehen:
Kubernetes Engine:
- Wählen Sie auf der Seite Cluster einen Cluster und dann den Tab Logs aus. Auf diesem Tab werden auch Vorschläge für Clusterlogs angezeigt.
- Wählen Sie auf der Seite Arbeitslasten eine Arbeitslast aus. Wenn Sie dann auf dem Tab Übersicht auf die Links Containerlogs oder Audit-Logs klicken, werden Ihre Logs im Log-Explorer angezeigt. Sie können auch den Tab Logs auswählen, um die Logs im Kontext anzuzeigen.
Logging: Wählen Sie Log-Explorer aus und wählen Sie dann mit Logging-Filtern die Kubernetes-Ressourcen aus, z. B. Cluster-, Knoten-, Namespace-, Pod- oder Containerlogs. Informationen zu den ersten Schritten finden Sie unter Kubernetes-bezogene Abfragen.
- Monitoring: In GKE-Dashboards werden Messwerte und Logs für GKE-Ressourcen wie Cluster, Knoten und Pods angezeigt. Weitere Informationen finden Sie unter Beobachtbarkeitsmesswerte aufrufen.
Über die Google Cloud CLI: Mit dem Befehl
gcloud logging read
können Sie Logs von Clustern, Knoten, Pods und Containern abfragen.
Für die benutzerdefinierte Logaggregation, die Loganalyse oder die Einbindung in Drittanbietersysteme können Sie mit dem Logging-Senken-Feature auch Logs nach BigQuery, Cloud Storage und Pub/Sub exportieren.
Informationen zu Logs
Ein Log in Cloud Logging ist eine Sammlung von Logeinträgen. Jeder Logeintrag bezieht sich auf einen bestimmten Typ von Logging-Ressourcen.
Ressourcentypen
Die folgenden Ressourcentypen gelten für GKE-Cluster:
Ressourcentyp | Anzeigename |
---|---|
k8s_cluster |
Kubernetes-Cluster-Logs |
k8s_node |
GKE-Knotenpoollogs |
k8s_pod |
GKE-Pod-Logs |
k8s_container |
GKE-Containerlogs |
k8s_control_plane_component |
Komponenten der Kubernetes-Steuerungsebene |
Wenn GKE die Logs Ihres Clusters schreibt, wird für jeden Logeintrag der Ressourcentyp angezeigt. Wenn Sie wissen, wo Ihre Logs zu finden sind, können Sie diese bei Bedarf einfacher ermitteln.
Systemprotokolle
Systemlogs enthalten Logs aus den folgenden Quellen:
Alle Pods, die in den Namespaces
kube-system
,istio-system
,knative-serving
,gke-system
undconfig-management-system
ausgeführt werden.Wichtige nicht containerbasierte Dienste, einschließlich
docker
/containerd
-Laufzeit,kubelet
,kubelet-monitor
,node-problem-detector
undkube-container-runtime-monitor
.Die Ausgabe serieller Ports des Knotens, wenn für
serial-port-logging-enable
der Metadaten der VM-Instanz der Wert "true" festgelegt ist. Mit GKE 1.16-13-gke.400 wird die Ausgabe des seriellen Ports für Knoten vom Logging-Agent erfasst. Wenn Sie das Logging der Ausgabe des seriellen Ports deaktivieren möchten, legen Sie beim Erstellen des Clusters--metadata serial-port-logging-enable=false
fest. Die Ausgabe des seriellen Ports ist für die Fehlerbehebung bei Abstürzen, fehlgeschlagenen Startvorgängen, Startproblemen oder Problemen beim Herunterfahren von GKE-Knoten hilfreich. Durch Deaktivieren dieser Logs kann die Fehlerbehebung eingeschränkt werden.
Systemlogs werden für die folgenden Ressourcentypen erfasst:
Clusterlogs mit
k8s_cluster
Knotenlogs mit
k8s_node
Pod mit
k8s_pod
System-Apps mit
k8s_container
Ihre System-Audit-Logs werden in Cloud Logging unter folgenden Namen angezeigt:
projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Fdata_access – Datenzugriffslogs
projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Factivity – Administratoraktivitätslogs
projects/PROJECT_ID/logs/events – Ereignislog
Ausführliche Informationen zu Logeinträgen für die Ressourcentypen Kubernetes-Cluster und GKE-Clustervorgänge finden Sie in der Dokumentation zum Audit-Logging.
Es werden zusätzliche Systemlogs geschrieben, z. B. für das kube-system, die unter Sammlung von Anwendungslogs steuern erläutert werden.Anwendungslogs
Kubernetes-Container erfassen Logs für Ihre Arbeitslasten, die nach STDOUT
und STDERR
geschrieben wurden. Sie finden Ihre Anwendungslogs für Arbeitslasten unter den Ressourcentypen k8s_container
oder gke_cluster
. Die Logs werden in Logging unter folgenden Namen angezeigt:
projects/PROJECT_ID/logs/stderr – in den Standardfehlerkanal geschriebene Logs
projects/PROJECT_ID/logs/stdout – in die Standardausgabe geschriebene Logs
Logs der Steuerungsebene
Wenn Logs für die Steuerungsebene für Ihren GKE-Cluster aktiviert sind, werden Logs, die von bestimmten Komponenten der Kubernetes-Steuerungsebene ausgegeben werden (z. B. API-Server, Planer und Controller-Manager), nach Cloud Logging exportiert.
Diese Logs verwenden den Ressourcentyp k8s_control_plane_component
und werden in Cloud Logging mit folgenden Namen angezeigt:
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
Logs in der Logging-Benutzeroberfläche ermitteln
Sie können Ihre Logs in der Logging-Benutzeroberfläche mit dem Log-Explorer aufrufen.
Log-Explorer
Query Builder bietet die Möglichkeit, eine Abfrage zu erstellen und dazu entweder Felder aus einem Drop-down-Menü auszuwählen oder Abfrageparameter manuell hinzuzufügen. Wenn Sie beispielsweise Logs für GKE-Cluster überprüfen, können Sie als Erstes den Kubernetes-Clusterressourcentyp auswählen oder danach suchen und dann den Standort sowie den Clusternamen auswählen. Sie können Ihre Suche dann verfeinern und dafür unter Logname die Aktivitätslogs auswählen.
Mit dem Log-Explorer können Sie Ihre Suchanfragen mit dem Log-Feld-Explorer erstellen. Darin wird die Anzahl der Logeinträge für das angegebene Logfeld abnehmend sortiert angezeigt. Die Verwendung des Logfeld-Explorers ist besonders hilfreich für GKE-Logs, da der Logfeld-Explorer eine einfache Möglichkeit zum Auswählen der Kubernetes-Werte für Ihre Ressourcen beim Erstellen einer Abfrage bietet. Mit dem Logfeld-Explorer können Sie beispielsweise Logs für einen bestimmten Cluster, Namespace, Pod-Namen und dann für einen Containernamen auswählen.
Ausführliche Informationen zur Verwendung von Log-Explorer finden Sie in der Logging-Dokumentation.
Beispielabfragen
Bei der Suche nach bestimmten Logs können Sie die folgenden Beispielabfragen verwenden, um Ihre GKE-Logs zu finden:
Beispiele für Kubernetes-bezogene Logabfragen
Beispiele für Logabfragen der Kubernetes Engine-Steuerungsebene
Fehlerbehebung von Logs
Wenn Sie eine große Anzahl von Logs aus Ihrem GKE-Cluster schreiben, werden Sie möglicherweise feststellen, dass viele dieser Logs immer wieder nicht in Cloud Logging angezeigt werden. Eine mögliche Ursache ist, dass Ihr Logging-Volumen den unterstützten Logging-Durchsatz für GKE überschreitet.
Logging unterstützt einen Logging-Durchsatz von bis zu 100 KB/s pro Knoten. Wenn einer der Knoten in Ihrem GKE-Cluster einen höheren Logging-Durchsatz benötigt, sollten Sie den Durchsatz des Logging-Agents erhöhen.