Cloud Logging

In diesem Dokument wird die Einbindung von GKE on Azure in Cloud Logging beschrieben und Sie erfahren, wie Sie auf Ihre Logs zugreifen können.

Überblick

GKE on Azure unterstützt Cloud Logging für Arbeitslasten und für Systemkomponenten, die auf Knoten der Steuerungsebene und des Knotenpools ausgeführt werden.

GKE on Azure 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. Von den Logging-Agents erfasste Daten können wie alle anderen Messwert- und Logdaten verwaltet und gelöscht werden, wie in der Cloud Logging-Dokumentation beschrieben.

Welche Daten werden erhoben?

GKE on Azure 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 mit Version 1.22 oder höher erstellen.

Wenn Sie einen Cluster erstellen, aktiviert GKE on Azure standardmäßig das System-Logging. Zum Aktivieren des Arbeitslast-Loggings 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 für einen neuen Cluster aktivieren möchten, folgen Sie der Anleitung zum Erstellen eines Clusters, fügen Sie jedoch das Flag --logging in den Befehl gcloud ein:

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

oder einen vorhandenen Cluster aktualisieren:

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

Auf Logs zugreifen

Es gibt mehrere Möglichkeiten, in Cloud Logging auf Ihre GKE on Azure-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

Dies sind die Ressourcentypen, die für GKE on Azure spezifisch sind:

Ressourcentyp Anzeigename
k8s_control_plane_component Logs der Komponente der Steuerungsebene
k8s_node Knotenpoollogs
k8s_container Arbeitslastcontainerlogs

Wenn GKE on Azure 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 Azure auf den Worker-Knoten installiert wurden. 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 suchen

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. Der Explorer für Logfelder ist besonders nützlich für Logs von GKE on Azure, da er eine einfache Möglichkeit bietet, die Kubernetes-Werte für Ihre Ressourcen auszuwählen. 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 Azure-Cluster CLUSTER_NAME ab:

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

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

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

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

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

Nächste Schritte