Google Kubernetes Engine (GKE) bietet Einbindung in Cloud Logging und Cloud Monitoring, einschließlich Google Cloud Managed Service for Prometheus.
Durch diese Einbindung können Sie Ihre ausgeführten GKE-Cluster beobachten, Ihr System und Ihre Debug-Logs verwalten sowie die Leistung Ihres Systems mithilfe erweiterter Profilerstellungs- und Tracing-Funktionen analysieren.
Diese Einbindung bietet auch ein Dashboard zur Beobachtung Ihrer GKE-Cluster.
Hinweis: Sicherheitslogs, einschließlich grundlegender Audit-Logs, sind für GKE und die meisten anderen Google Cloud-Dienste auch dann verfügbar, wenn Cloud Logging für einen GKE-Cluster nicht aktiviert ist. Weitere Informationen finden Sie unter Cloud-Audit-Logs.
Auf dieser Seite wird Folgendes beschrieben:
Neuen Cluster erstellen und Cloud Logging, Cloud Monitoring und Google Cloud Managed Service for Prometheus konfigurieren
Zu erfassende Logs und Messwerte auswählen
Cloud Logging, Cloud Monitoring und Google Cloud Managed Service for Prometheus für einen Cluster deaktivieren.
Für GKE Autopilot-Cluster können Sie die Einbindung von Cloud Logging und Cloud Monitoring nicht deaktivieren.
Hinweise
Führen Sie die folgenden Aufgaben aus, bevor Sie beginnen:
- Aktivieren Sie die Google Kubernetes Engine API. Google Kubernetes Engine API aktivieren
- Wenn Sie die Google Cloud CLI für diese Aufgabe verwenden möchten, müssen Sie die gcloud CLI installieren und dann initialisieren. Wenn Sie die gcloud CLI bereits installiert haben, rufen Sie die neueste Version mit
gcloud components update
ab.
Sie müssen Inhaber des Projekts sein, das Ihren Cluster enthält.
Achten Sie darauf, dass die Cloud Logging API aktiviert ist. Sie können den Status der Cloud Logging API auf der zugehörigen Übersichtsseite prüfen.
Logs und Messwerte
Sie können auswählen, ob Sie Logs und Messwerte von Ihrem GKE-Cluster an Cloud Logging und Cloud Monitoring senden möchten. In den folgenden Abschnitten wird beschrieben, welche Logs und Messwerte verfügbar sind und welche Logs und Messwerte beim Erstellen des Clusters standardmäßig aktiviert sind.
Verfügbare Logs
Wenn Sie Logs an Cloud Logging senden, müssen Sie Systemlogs senden. Optional können Sie auch Logs aus zusätzlichen Quellen senden.
Weitere Informationen zu Cloud Logging-Preisen
In der folgenden Tabelle sind die unterstützten Werte für das Flag --logging
der Befehle create und update aufgeführt.
Logquelle | --logging -Wert |
Erfasste Logs |
---|---|---|
Keine | NONE |
Keine an Cloud Logging gesendeten Logs; im Cluster ist kein Agent für die Logerfassung installiert. Dieser Wert wird für GKE Autopilot-Cluster nicht unterstützt. |
System | SYSTEM |
Erfasst Logs aus folgenden Quellen:
Erfassen außerdem Kubernetes-Ereignisse. Dieser Wert ist für alle Clustertypen erforderlich. |
Arbeitslasten | WORKLOAD |
Alle Logs, die von Nicht-System-Containern generiert werden, die auf Nutzerknoten ausgeführt werden. Dieser Wert ist standardmäßig aktiviert, aber für alle Clustertypen optional. |
API-Server | API_SERVER |
Alle von kube-apiserver generierten Logs. Dieser Wert ist für alle Clustertypen optional. |
Planer | SCHEDULER |
Alle von kube-scheduler generierten Logs. Dieser Wert ist für alle Clustertypen optional. |
Controller-Manager | CONTROLLER_MANAGER |
Alle von kube-controller-manager generierten Logs. Dieser Wert ist für alle Clustertypen optional. |
Verfügbare Messwerte
Wenn Sie Messwerte an Cloud Monitoring senden, müssen dies Systemmesswerte sein. Sie können optional zusätzliche Messwerte enthalten.
Weitere Informationen zu den Preisen von Cloud Monitoring und den kostenlosen Messwerten
In der folgenden Tabelle sind die unterstützten Werte für das Flag --monitoring
der Befehle create und update aufgeführt.
Quelle | --monitoring -Wert |
Erfasste Messwerte |
---|---|---|
Keine | NONE |
Keine an Cloud Monitoring gesendeten Messwerte; im Cluster ist kein Agent für die Messwerterfassung installiert. Dieser Wert wird für GKE Autopilot-Cluster nicht unterstützt. |
System | SYSTEM |
Messwerte aus wesentlichen Systemkomponenten, die für Kubernetes erforderlich sind. Sehen Sie sich eine vollständige Liste dieser Kubernetes-Messwerte an. |
API-Server | API_SERVER |
Messwerte aus kube-apiserver . Sehen Sie sich eine vollständige Liste von API-Servermesswerten an. |
Planer | SCHEDULER |
Messwerte aus kube-scheduler . Sehen Sie sich eine vollständige Liste von Planer-Messwerten an. |
Controller-Manager | CONTROLLER_MANAGER |
Messwerte aus kube-controller-manager . Sehen Sie sich eine vollständige Liste von Controller Manager-Messwerten an. |
Nichtflüchtiges Volume (Speicher) | STORAGE |
Speichermesswerte von kube-state-metrics . Enthält Messwerte für nichtflüchtiges Volume und Ansprüche auf nichtflüchtige Volumes. Sehen Sie sich eine vollständige Liste von Speichermesswerten an.
|
Pod | POD |
Pod-Messwerte aus kube-state-metrics .
Sehen Sie sich eine vollständige Liste von
Pod-Messwerten an.
|
Bereitstellung | DEPLOYMENT |
Bereitstellungsmesswerte aus kube-state-metrics .
Sehen Sie sich eine vollständige Liste von Bereitstellungsmesswerten an.
|
StatefulSet | STATEFULSET |
StatefulSet-Messwerte von kube-state-metrics .
Sehen Sie sich eine vollständige Liste von StatefulSet-Messwerten an. |
DaemonSet | DAEMONSET |
DaemonSet-Messwerte aus kube-state-metrics .
Sehen Sie sich eine vollständige Liste von
DaemonSet-Messwerten an.
|
HorizonalPodAutoscaler | HPA |
HPA-Messwerte von kube-state-metrics . Sehen Sie sich eine vollständige Liste von
Horizon-PodAutoscaler-Messwerten an.
|
Darüber hinaus können Sie mithilfe von Google Cloud Managed Service for Prometheus Messwerte im Prometheus-Stil, die von einer beliebigen GKE-Arbeitslast bereitgestellt werden, erfassen. Damit können Sie Ihre Arbeitslasten mithilfe von Prometheus überwachen und melden, ohne Prometheus manuell im großen Maßstab verwalten und betreiben zu müssen.
Standardmäßig aktivierte Logs und Messwerte
Wenn Sie einen neuen GKE-Cluster in Google Cloud erstellen, werden bei der Clustererstellung standardmäßig einige Logs und Messwerte aktiviert.
- Systemlogs und -messwerte sind für alle Clustertypen aktiviert und können nicht deaktiviert werden.
- Arbeitslastlogs sind standardmäßig für alle Autopilot-Cluster aktiviert, können aber deaktiviert werden. Wir raten davon ab, Arbeitslastlogs aufgrund der Auswirkungen auf den Support zu deaktivieren.
- Für Projekte der GKE Enterprise-Version sind standardmäßig zusätzliche nützliche Logs und Messwerte aktiviert, wenn Sie sich beim Erstellen des Clusters in einer Flotte registrieren. Informationen zum Aktivieren dieser Logs und Messwerte nach dem Erstellen eines Clusters finden Sie unter Cluster ändern.
In den folgenden Tabellen weist ein Häkchen () darauf hin, welche Logs und Metriken standardmäßig aktiviert sind, wenn Sie einen neuen Cluster in einem Projekt mit aktiviertem GKE Enterprise erstellen und registrieren:
Mehr über Logs erfahren
Logname | Autopilot | Standard |
---|---|---|
System | ||
Arbeitslasten | - |
|
API-Server | ||
Planer | ||
Controller-Manager |
Für die Logs der Steuerungsebene (API-Server, Planer und Controller-Manager) fallen Cloud Logging-Gebühren an.
Messwerte
Messwertname | Autopilot | Standard |
---|---|---|
System | ||
API-Server | ||
Planer | ||
Controller-Manager | ||
Nichtflüchtiges Volume (Speicher) | ||
Pods | ||
Bereitstellung | ||
StatefulState | ||
DaemonSet | ||
HorizonalPodAutoscaler |
Alle registrierten Cluster in einem Projekt, für das GKE Enterprise aktiviert ist, können Messwerte der Steuerelemente und Kube State Metrics ohne zusätzliche Kosten verwenden. Andernfalls fallen für diese Messwerte Cloud Monitoring-Gebühren an.
Sie können die Standardlogs und -messwerte während der Clustererstellung oder nach dem Erstellen des Clusters deaktivieren.
Monitoring und Logging für einen neuen Cluster konfigurieren
Die Anleitungen zur Clustererstellung in diesem Abschnitt beziehen sich nur auf die Optionen, die für Cloud Logging und Cloud Monitoring relevant sind. Eine vollständige Anleitung zum Erstellen eines GKE-Clusters finden Sie in der Dokumentation zum Erstellen eines Standard- oder Autopilot-Clusters.
Führen Sie die folgenden Schritte aus, um Logging und Monitoring beim Erstellen eines GKE-Clusters manuell zu konfigurieren:
Console
Für einen Autopilot-Cluster:
Klicken Sie auf der Seite zur Erstellung von Autopilot-Clustern im Navigationsbereich auf Erweiterte Einstellungen.
Wählen Sie in der Liste Vorgänge aus, welche Logs und Messwerte erfasst werden sollen.
Wählen Sie in der Liste Komponenten für Cloud Logging die Komponenten aus, aus denen Sie Logs erfassen möchten.
Wählen Sie in der Liste Komponenten für Cloud Monitoring die Komponenten aus, aus denen Sie Messwerte erfassen möchten.
Autopilot-Cluster verwenden immer die Best Practices von Google für die Telemetrieerfassung. Das bedeutet, dass System- und Arbeitslast-Logging sowie System-Monitoring immer aktiviert sind.
Klicken Sie auf Erstellen.
Für einen Standardcluster:
Klicken Sie auf der Seite zur Standardclustererstellung im Navigationsbereich unter Cluster auf Features.
Wählen Sie in der Liste Vorgänge aus, welche Logs und Messwerte erfasst werden sollen.
Wählen Sie in der Liste Komponenten für Cloud Logging die Komponenten aus, aus denen Sie Logs erfassen möchten.
Wählen Sie in der Liste Komponenten für Cloud Monitoring die Komponenten aus, aus denen Sie Messwerte erfassen möchten.
Zum Deaktivieren von Cloud Logging (außer für Audit-Logs) entfernen Sie das Häkchen aus dem Kästchen Cloud Logging aktivieren.
Zum Deaktivieren von Cloud Monitoring entfernen Sie das Häkchen aus dem Kästchen Cloud Monitoring aktivieren.
Um Google Cloud Managed Service for Prometheus zu deaktivieren, entfernen Sie das Häkchen aus dem Kästchen Google Cloud Managed Service for Prometheus aktivieren.
gcloud
Bei neuen Clustern sind Cloud Logging und Cloud Monitoring standardmäßig aktiviert. Führen Sie den folgenden Befehl aus, um den Cluster zu erstellen.
gcloud container clusters create CLUSTER_NAME \ --location=COMPUTE_LOCATION
Ersetzen Sie Folgendes:
CLUSTER_NAME
: Der Name Ihres Clusters.COMPUTE_LOCATION
: der Compute Engine-Standort für den Cluster.
Alternativ können Sie konfigurieren, welche Logs an Cloud Logging gesendet werden. Übergeben Sie dazu eine durch Kommas getrennte Liste von Werten an das Flag
--logging
des Befehlscreate
. Übergeben Sie--logging=NONE
, um keine Logs zu erfassen. Übergeben Sie--logging=SYSTEM,API_SERVER,SCHEDULER,CONTROLLER_MANAGER
, um System-, API-Server-, Scheduler- und Controller Manager-Logs zu erfassen. Übergeben Sie--logging=SYSTEM,WORKLOAD
, um sowohl System- als auch Arbeitslastlogs zu erfassen. Beispiel:gcloud container clusters create CLUSTER_NAME \ --location=COMPUTE_LOCATION \ --logging=SYSTEM,WORKLOAD
Ebenso können Sie konfigurieren, welche Messwerte an Cloud Monitoring gesendet werden. Dazu übergeben Sie eine durch Kommas getrennte Liste von Werten an das Flag
--monitoring
. Übergeben Sie--monitoring=NONE
, um keine Messwerte zu erfassen. Übergeben Sie--monitoring=SYSTEM
, um Systemmesswerte zu erfassen. Übergeben Sie--monitoring=SYSTEM,API_SERVER,SCHEDULER,CONTROLLER_MANAGER,STORAGE,POD,DEPLOYMENT,STATEFULSET,
DAEMONSET,HPA
, um alle Messwerte zu erfassen. Beispiel:gcloud container clusters create CLUSTER_NAME \ --location=COMPUTE_LOCATION \ --monitoring=SYSTEM,API_SERVER,SCHEDULER,CONTROLLER_MANAGER,STORAGE,POD,DEPLOYMENT,STATEFULSET,DAEMONSET,HPA
Unabhängig davon können Sie Google Cloud Managed Service for Prometheus mit dem Flag
--enable-managed-prometheus
aktivieren. Beispiel:gcloud container clusters create CLUSTER_NAME \ --location=COMPUTE_LOCATION \ --enable-managed-prometheus
Das Flag
--enable-managed-prometheus
aktiviert den verwalteten Collector, der konfiguriert sein muss.
Terraform
Informationen zum Konfigurieren der Sammlung von Logs und Messwerten mit Terraform finden Sie in den Blöcken
logging_config
undmonitoring_config
in der Terraform-Registry fürgoogle_container_cluster
. Für die Aktivierung Erfassung von Logs vom API-Server, Planer und Controller-Manager ist Version von Terraform Google Cloud Anbieter 4.44.0 oder höher erforderlich.Allgemeine Informationen zur Verwendung von Google Cloud mit Terraform finden Sie unter Terraform mit Google Cloud.
Monitoring und Logging für einen vorhandenen Cluster konfigurieren
Im folgenden Abschnitt wird beschrieben, wie Sie die Cloud Logging- und Cloud Monitoring-Einbindung für einen vorhandenen GKE-Cluster ändern.
Hinweis: Das Ändern der Monitoring- und Logging-Unterstützung und das Ändern der Kubernetes-Version Ihres Clusters sind unterschiedliche Aktionen. Wenn Sie die Kubernetes-Version Ihres Clusters ändern, hat dies keine Auswirkungen auf die konfigurierte Unterstützung für Monitoring und Logging.
Welche Monitoring- und Logging-Unterstützung verwendet mein Cluster?
So rufen Sie die Einbindungseinstellungen von Cloud Logging und Cloud Monitoring für Ihren Cluster auf:
-
Wählen Sie im Navigationsbereich der Google Cloud Console Kubernetes Engine und dann Cluster aus:
Unter Details für Ihren Cluster finden Sie den Status für Cloud Logging, Cloud Monitoring und Managed Service for Prometheus.
Cluster ändern
So ändern Sie die Einbindungseinstellungen von Cloud Logging oder Cloud Monitoring für einen vorhandenen Cluster:
Console
-
Wählen Sie im Navigationsbereich der Google Cloud Console Kubernetes Engine und dann Cluster aus:
Klicken Sie auf den Namen Ihres Clusters.
Wenn Sie ändern möchten, welche Logs an Cloud Logging gesendet werden, welche Messwerte an Cloud Monitoring gesendet werden oder ob Managed Service for Prometheus aktiviert ist, klicken Sie auf Bearbeiten edit neben Cloud Logging, Cloud Monitoring oder Managed Service for Prometheus.
Klicken Sie auf Speichern.
gcloud
Die folgenden gcloud
-Anleitungen beschreiben die Aktualisierung der Monitoring- und Logging-Unterstützung Ihres Clusters mit dem Befehl gcloud container clusters update
. Achten Sie darauf, dass Sie den Befehl update
und nicht den Befehl upgrade
verwenden.
Konfigurieren Sie, welche Logs an Cloud Logging gesendet werden. Übergeben Sie dazu eine durch Kommas getrennte Liste von Werten an das Flag
--logging
des Befehlsgcloud container clusters update
. Sehen Sie sich eine vollständige Liste der verfügbaren Logquellen an. Zum Erfassen von System- und Arbeitslastlogs übergeben Sie beispielsweise--logging=SYSTEM,WORKLOAD
. Übergeben Sie--logging=SYSTEM
, um nur Systemlogs zu erfassen. Wenn Sie keine Logs erfassen möchten, übergeben Sie--logging=NONE
:gcloud container clusters update CLUSTER_NAME \ --location=COMPUTE_LOCATION \ --logging=NONE
Konfigurieren Sie, welche Messwerte an Cloud Monitoring gesendet werden. Übergeben Sie dazu eine durch Kommas getrennte Liste von Werten an das Flag
--monitoring
des Befehlsgcloud container clusters update
. Sehen Sie sich eine vollständige Liste der verfügbaren Messwertquellen an. Wenn Sie beispielsweise Systemmesswerte erfassen möchten, übergeben Sie--monitoring=SYSTEM
. Wenn Sie keine Messwerte erfassen möchten, übergeben Sie--monitoring=NONE
:gcloud container clusters update CLUSTER_NAME \ --location=COMPUTE_LOCATION \ --monitoring=NONE
Konfigurieren Sie mithilfe des Flags
--enable-managed-prometheus
oder--disable-managed-prometheus
, ob Google Cloud Managed Service for Prometheus aktiviert ist. Beispiel:gcloud container clusters update CLUSTER_NAME \ --location=COMPUTE_LOCATION \ --enable-managed-prometheus
Terraform
Informationen zum Konfigurieren der Sammlung von Logs und Messwerten mit Terraform finden Sie in den Blöcken
logging_config
undmonitoring_config
in der Terraform-Registry fürgoogle_container_cluster
. Für die Aktivierung Erfassung von Logs vom API-Server, Planer und Controller-Manager ist Version von Terraform Google Cloud Anbieter 4.44.0 oder höher erforderlich.Allgemeine Informationen zur Verwendung von Google Cloud mit Terraform finden Sie unter Terraform mit Google Cloud.
Verworfene Konfigurationsparameter
Wenn Sie bisher die alten Konfigurationsparameter verwendet haben, um die Logging- und Monitoring-Unterstützung für Ihren GKE-Cluster zu konfigurieren, wurden diese Parameter verworfen. Die folgende Tabelle zeigt die entsprechenden Konfigurationsparameter, um die verworfenen Flags zu ersetzen.
Alte Konfiguration | Alte create -Argumente |
Alte update -Argumente |
Neue create - und update -Argumente |
---|---|---|---|
Deaktiviert | --no-enable-stackdriver-kubernetes |
--no-enable-stackdriver-kubernetes |
--logging=NONE --monitoring=NONE |
Nur Monitoring für System (Logging deaktiviert) | --enable-stackdriver-kubernetes --no-enable-cloud-logging |
--logging-service=none --monitoring-service=monitoring.googleapis.com/kubernetes |
--logging=NONE --monitoring=SYSTEM |
Nur Logging für System und Arbeitslast (Monitoring deaktiviert) | --enable-stackdriver-kubernetes --no-enable-cloud-monitoring |
--logging-service=logging.googleapis.com/kubernetes --monitoring-service=none |
--logging=SYSTEM,WORKLOAD --monitoring=NONE |
Logging und Monitoring nur für System (Beta) | --enable-logging-monitoring-system-only |
--enable-logging-monitoring-system-only |
--logging=SYSTEM --monitoring=SYSTEM |
Logging und Monitoring für System und Arbeitslast | --enable-stackdriver-kubernetes |
--enable-stackdriver-kubernetes |
--logging=SYSTEM,WORKLOAD --monitoring=SYSTEM |
Nächste Schritte
- Erfahren Sie mehr über die Kosten für Cloud Logging, Cloud Monitoring und Managed Service for Prometheus auf der Seite Preise.