Cloud Logging

In diesem Dokument wird beschrieben, wie GKE on AWS in Cloud Logging eingebunden wird und wie Sie auf Ihre Logs zugreifen.

Übersicht

GKE on AWS unterstützt Cloud Logging für Arbeitslasten und für Systemkomponenten, die auf Steuerungsebenen- und Knotenpoolknoten ausgeführt werden.

GKE on AWS enthält einen Fluentbit-basierten Logging-Agent. Auf den Knoten der Steuerungsebene wird der Logging-Agent als Systemkomponente ausgeführt. auf den Knotenpoolknoten wird es als Daemonset ausgeführt. Die von den Logging-Agents erfassten Daten können wie alle anderen Messwert- und Logdaten verwaltet und gelöscht werden, wie in der Dokumentation zu Cloud Logging erläutert.

Welche Daten werden erhoben?

GKE on AWS protokolliert die folgenden Informationen:

  • Logs für Systemkomponenten zu jedem Replikat der Steuerungsebene.
  • Logs für Systemdienste auf jedem Knotenpoolknoten.
  • Optional: Logs für Arbeitslasten

Arbeitslast-Logging aktivieren

Zum Aktivieren des Arbeitslast-Loggings müssen Sie einen neuen Kubernetes-Cluster der Version 1.22 oder höher erstellen.

Wenn Sie einen Cluster erstellen, aktiviert GKE on AWS standardmäßig System-Logging. Zum Aktivieren von Arbeitslast-Logging müssen Sie einen Cluster mit dem Flag --logging erstellen. Sie können das Logging für Systemkomponenten, Arbeitslasten oder beides aktivieren.

Wenn Sie beispielsweise sowohl das System- als auch das Arbeitslast-Logging in einem neuen Cluster aktivieren möchten, folgen Sie der Anleitung zum Erstellen eines Clusters, fügen Sie aber das Flag --logging in den gcloud-Befehl ein:

gcloud container aws clusters create CLUSTER_NAME
...
--logging=SYSTEM,WORKLOAD

oder einen vorhandenen Cluster aktualisieren:

gcloud container aws clusters update CLUSTER_NAME
...
--logging=SYSTEM,WORKLOAD

Auf Logs zugreifen

Es gibt mehrere Möglichkeiten, in Cloud Logging auf Ihre GKE on AWS-Logs zuzugreifen:

  • Log-Explorer: Sie können Ihre Logs direkt über den Log-Explorer aufrufen, indem Sie per Logging-Filter die Kubernetes-Ressourcen auswählen, z. B. Cluster-, Knoten-, Namespace-, Pod- oder Container-Logs.

  • Google Cloud CLI: Wählen Sie mit dem Befehl gcloud logging read die entsprechenden Cluster-, Knoten-, Pod- und Containerlogs aus.

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 on AWS:

Ressourcentyp Anzeigename
k8s_control_plane_component Logs der Komponente der Steuerungsebene
k8s_node Knotenpool-Logs
k8s_container Arbeitslastcontainerlogs

Wenn GKE on AWS die Logs Ihres Clusters schreibt, enthält jeder Logeintrag den Ressourcentyp. Wenn Sie wissen, wo Logs zu finden sind, können Sie diese bei Bedarf einfacher ermitteln.

Logs der Steuerungsebene

Logs der Steuerungsebene verwenden den Ressourcentyp k8s_control_plane_component. Dazu gehören Logs von Systemkomponenten, die auf Replikaten der Steuerungsebene ausgeführt werden, z. B. kube-apiserver.

Knotenlogs

Knotenlogs fallen unter den Ressourcentyp k8s_node. Dazu gehören Logs von wichtiger Systemkomponente, die auf den Worker-Knoten ausgeführt wird, z. B. kubelet und containerd.

Logs von Systemanwendungen

Logs von Systemanwendungen fallen unter den Ressourcentyp k8s_container. Dazu gehören Logs von Pods, die von GKE on AWS auf den Worker-Knoten installiert sind. Insbesondere sind Container enthalten, die in den folgenden Namespaces ausgeführt werden:

  • kube-system
  • gke-connect
  • gke-system
  • gmp-system
  • asm-user-auth
  • cnrm-system
  • config-management-system
  • gatekeeper-system
  • gmp-public
  • istio-system
  • knative-serving

Logs in der Cloud Logging-Benutzeroberfläche ermitteln

Sie können Ihre Logs in der Cloud Logging-Benutzeroberfläche mit dem Log-Explorer aufrufen.

Log-Explorer

Query Builder bietet die Möglichkeit, eine Abfrage zu erstellen und manuell Abfrageparameter hinzuzufügen. Wenn Sie beispielsweise Logs für Systemarbeitslasten untersuchen möchten, können Sie als Erstes den Ressourcentyp k8s_container auswählen oder danach suchen und dann den Standort sowie den Clusternamen auswählen. Anschließend haben Sie die Möglichkeit, Ihre Suche zu verfeinern und dafür die Container- oder Pod-Namen zu filtern.

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 on AWS-Logs, da sie eine einfache Möglichkeit zum Auswählen der Kubernetes-Werte für Ihre Ressourcen bietet. Sie können beispielsweise Logs für einen bestimmten Cluster, Namespace, Pod-Namen und Containernamen auswählen.

Weitere Informationen finden Sie unter Log-Explorer verwenden.

Beispielabfragen

Dieser Abschnitt enthält Beispielabfragen, die Sie im Log-Explorer ausführen können.

Beispiel 1: Rufen Sie die Logs von kube-apiserver auf Knoten der Steuerungsebene für einen AWS-Cluster CLUSTER_NAME ab:

resource.type="k8s_control_plane_component"
resource.labels.cluster_name="awsClusters/CLUSTER_NAME"
resource.labels.component_name="apiserver"

Beispiel 2: Rufen Sie die Logs von kubelet auf Worker-Knoten für einen AWS-Cluster CLUSTER_NAME ab:

resource.type="k8s_node"
resource.labels.cluster_name="awsClusters/CLUSTER_NAME"
log_name="projects/PROJECT_ID/logs/kubelet"

Beispiel 3: Rufen Sie die Logs des Containers cilium-agent für einen AWS-Cluster CLUSTER_NAME ab:

resource.type="k8s_container"
resource.labels.cluster_name="awsClusters/CLUSTER_NAME"
resource.labels.container_name="cilium-agent"

Nächste Schritte