GKE-Logs aufrufen


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:

Ressourcentypen für Protokolle
gke_cluster GKE-Cluster-Vorgangsprotokolle
k8s_cluster Kubernetes-Cluster-Logs
k8s_node Kubernetes-Knotenprotokolle
k8s_pod Kubernetes-Pod-Logs
k8s_container Kubernetes-Containerlogs
k8s_control_plane_component Logs der 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

Systemprotokolle umfassen Protokolle aus den folgenden Quellen:

  • Alle Pods, die in den Namespaces kube-system, istio-system, knative-serving, gke-system und config-management-system ausgeführt werden.

  • Wichtige nicht containerbasierte Dienste, einschließlich docker/containerd-Laufzeit, kubelet, kubelet-monitor, node-problem-detector und kube-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.

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/cloudaudit.googleapis.com%2Fsystem_event – Systemereignislogs
  • 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 Komponente 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 für den Zugriff auf die Steuerungsebene

Wenn Sie die GKE Control Plane Authority verwenden, können Sie optionale Protokolle für alle eingehenden Netzwerkverbindungen zu Instanzen der Steuerungsebene und bei SSH-Ereignissen in Ihren Instanzen der Steuerungsebene aktivieren. Sie können diese Protokolle für den Zugriff auf die Steuerungsebene dann mit Protokollen aus Access Transparency und mit Protokollen vom Kubernetes API-Server in Beziehung setzen, um optional zu prüfen, ob Verbindungen zu Ihren Steuerungsebeneninstanzen auf einen autorisierten Administratorzugriff durch Google-Mitarbeiter zurückzuführen sind. Weitere Informationen finden Sie unter Google-Verbindungen zur Clustersteuerungsebene prüfen.

Diese Logs verwenden den Ressourcentyp gke_cluster und werden in Cloud Logging mit folgenden Namen angezeigt:

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

Protokolle zur Ausstellung von Clusteridentitäten

Wenn Sie die GKE-Steuerungsebene verwenden, um Ihre eigenen Zertifizierungsstellen (Certificate Authorities, CAs) und Signaturschlüssel für Ihren Cluster auszuführen, generiert GKE Audit-Logs, wenn diese CAs und Schlüssel zum Ausstellen von X.509-Zertifikaten oder JSON Web Tokens (JWTs) in Ihrem Cluster verwendet werden. Sie können diese Protokolle zur Identitätsausstellung dann mit Protokollen vom Kubernetes API-Server, vom Zertifizierungsstellendienst und vom Cloud Key Management Service in Beziehung setzen, um die Nutzung dieser Zertifikate und JWTs in Ihrem Cluster zu verfolgen. Weitere Informationen finden Sie unter Ausstellung und Nutzung von Identitäten überprüfen.

Diese Logs sind Audit-Logs für Systemereignisse. Sie verwenden den Ressourcentyp gke_cluster und werden in Cloud Logging mit folgendem Namen angezeigt:

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

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:

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.