Messwerterfassung konfigurieren


In diesem Dokument wird beschrieben, wie Sie Google Kubernetes Engine (GKE) so konfigurieren, dass Messwerte an Cloud Monitoring gesendet werden. In Cloud Monitoring können Messwerte benutzerdefinierte Dashboards füllen, Benachrichtigungen generieren, Service Level Objectives erstellen oder mit der Cloud Monitoring API von Drittanbieter-Monitoring-Diensten abgerufen werden.

GKE bietet mehrere Quellen von Messwerten:

  • Systemmesswerte: Messwerte aus wichtigen Systemkomponenten, die Low-Level-Ressourcen wie CPU, Arbeitsspeicher und Speicher beschreiben.
  • Google Cloud Managed Service for Prometheus: Sie können Ihre Arbeitslasten mithilfe von Prometheus überwachen und Benachrichtigen dazu senden, ohne Prometheus manuell in großem Umfang verwalten und betreiben zu müssen.
  • Pakete für Messwerte zur Beobachtbarkeit:

    • Messwerte der Steuerungsebene: Messwerte, die aus bestimmten Komponenten der Steuerungsebene wie dem API-Server und dem Planer exportiert wurden.
    • Kube State Metrics: Eine ausgewählte Gruppe von Messwerten, die aus dem Kube State-Dienst exportiert wurden und zur Überwachung der den Status von Kubernetes-Objekten wie Pods, Deployments usw. Die enthaltenen Messwerte finden Sie unter Kube State Metrics verwenden.

      Das Kube State-Paket ist eine verwaltete Lösung. Wenn Sie mehr Flexibilität benötigen, z. B. wenn Sie zusätzliche Messwerte erfassen oder Extraktionsintervalle verwalten oder andere Ressourcen extrahieren möchten, können Sie das Paket deaktivieren, falls es aktiviert ist, und Ihre eigene Instanz des Open-Source-Diensts für Kube State Metrics bereitstellen. Weitere Informationen finden Sie in der Google Cloud Managed Service for Prometheus-Exporter-Dokumentation für Kube State Metrics.

    • cAdvisor/Kubelet: Eine ausgewählte Gruppe von cAdvisor- und Kubelet-Messwerten. Informationen zu den enthaltenen Messwerten finden Sie unter cAdvisor-/Kubelet-Messwerte verwenden.

      Das cAdvisor-/Kubelet-Paket ist eine verwaltete Lösung. Wenn Sie mehr Flexibilität benötigen, z. B. wenn Sie zusätzliche Messwerte erfassen oder Extraktionsintervalle verwalten oder andere Ressourcen extrahieren möchten, haben Sie folgende Möglichkeiten: Sie können das Paket deaktivieren, falls es aktiviert ist, und Ihre eigene Instanz der Open-Source-Dienste für cAdvisor-/Kubelet-Messwerte bereitstellen. Weitere Informationen finden Sie in der Dokumentation zu Google Cloud Managed Service for Prometheus für den cAdvisor/Kubelet-Exporter.

Systemmesswerte

Wenn ein Cluster erstellt wird, erfasst GKE standardmäßig bestimmte Messwerte, die von Systemkomponenten ausgegeben werden.

Sie können auswählen, ob Messwerte von Ihrem GKE-Cluster an Cloud Monitoring gesendet werden sollen oder nicht. Wenn Sie Messwerte an Cloud Monitoring senden, müssen Sie Systemmesswerte senden.

Alle GKE-Systemmesswerte werden in Cloud Monitoring mit dem Präfix kubernetes.io aufgenommen.

Preise

In Cloud Monitoring fallen keine Kosten für die Aufnahme von GKE-Systemmesswerten an. Weitere Informationen finden Sie unter Cloud Monitoring-Preise.

Erfassung von Systemmesswerten konfigurieren

Übergeben Sie zum Aktivieren der Systemmesswerterfassung den Wert SYSTEM an das Flag von --monitoring des gcloud container clusters create- oder gcloud container clusters update-Befehls.

Verwenden Sie zum Deaktivieren der Erfassung von Systemmesswerten für das Flag --monitoring den Wert NONE. Wenn die Erfassung von Systemmesswerten deaktiviert ist, sind grundlegende Informationen etwa zur CPU-, Arbeitsspeicher- und Festplattennutzung für einen Cluster im Tab Sichtbarkeit oder im Abschnitt GKE der Google Cloud Console nicht verfügbar.

Für GKE Autopilot-Cluster können Sie die Erfassung von Systemmesswerten nicht deaktivieren.

Weitere Informationen zur Einbindung von Cloud Monitoring in GKE finden Sie unter Beobachtbarkeit für GKE.

Informationen zum Konfigurieren der Erfassung von Systemmesswerten mit Terraform finden Sie im Block monitoring_config in der Terraform-Registry für google_container_cluster. Allgemeine Informationen zur Verwendung von Google Cloud mit Terraform finden Sie unter Terraform mit Google Cloud.

Liste der Systemmesswerte

Systemmesswerte umfassen Messwerte aus wichtigen Systemkomponenten, die für Kubernetes wichtig sind. Eine Liste dieser Messwerte finden Sie unter GKE-Systemmesswerte.

Fehlerbehebung bei Systemmesswerten

Wenn in Cloud Monitoring keine Systemmesswerte wie erwartet verfügbar sind, können Sie das Problem mit den folgenden Schritten beheben.

Prüfen, ob der Messwert-Agent über genügend Arbeitsspeicher verfügt

In den meisten Fällen ist die Standardzuweisung von Ressourcen an den GKE-Messwert-Agent ausreichend. Wenn das DaemonSet jedoch wiederholt abstürzt, können Sie den Grund für die Beendigung mit den folgenden Anweisungen prüfen:

  1. Rufen Sie die Namen der GKE-Messwert-Agent-Pods ab:

    kubectl get pods -n kube-system -l component=gke-metrics-agent
    

    Suchen Sie den Pod mit dem Status CrashLoopBackOff.

    Die Ausgabe sieht in etwa so aus:

    NAME                    READY STATUS           RESTARTS AGE
    gke-metrics-agent-5857x 0/1   CrashLoopBackOff 6        12m
    
  2. Beschreiben Sie den Pod mit dem Status CrashLoopBackOff:

    kubectl describe pod POD_NAME -n kube-system
    

    Ersetzen Sie POD_NAME durch den Namen des Pods aus dem vorherigen Schritt.

    Wenn der Beendigungsgrund des Pods OOMKilled lautet, benötigt der Agent zusätzlichen Speicher.

    Die Ausgabe sieht in etwa so aus:

      containerStatuses:
      ...
      lastState:
        terminated:
          ...
          exitCode: 1
          finishedAt: "2021-11-22T23:36:32Z"
          reason: OOMKilled
          startedAt: "2021-11-22T23:35:54Z"
    
  3. Fügen Sie dem Knoten mit dem fehlerhaften Messwert-Agent ein Knotenlabel hinzu. Sie können entweder ein persistentes oder ein temporäres Knotenlabel verwenden. Wir empfehlen Ihnen, weitere 20 MB hinzuzufügen. Wenn der Agent weiterhin abstürzt, können Sie diesen Befehl noch einmal ausführen. Ersetzen Sie dabei das Knotenlabel durch einen Knoten, der eine größere Menge an zusätzlichen Arbeitsspeicher anfordert.

    Führen Sie den folgenden Befehl aus, um einen Knotenpool mit einem nichtflüchtigen Label zu aktualisieren:

    gcloud container node-pools update NODEPOOL_NAME \
        --cluster=CLUSTER_NAME \
        --node-labels=ADDITIONAL_MEMORY_NODE_LABEL \
        --location=COMPUTE_LOCATION
    

    Ersetzen Sie Folgendes:

    • NODEPOOL_NAME ist der Name des Knotenpools.
    • CLUSTER_NAME den Namen des vorhandenen Clusters.
    • ADDITIONAL_MEMORY_NODE_LABEL: eines der zusätzlichen Speicherknotenlabels. Verwenden Sie eine der folgenden Optionen:
      • So fügen Sie 10 MB hinzu: cloud.google.com/gke-metrics-agent-scaling-level=10
      • So fügen Sie 20 MB hinzu: cloud.google.com/gke-metrics-agent-scaling-level=20
      • So fügen Sie 50 MB hinzu: cloud.google.com/gke-metrics-agent-scaling-level=50
      • So fügen Sie 100 MB hinzu: cloud.google.com/gke-metrics-agent-scaling-level=100
      • So fügen Sie 200 MB hinzu: cloud.google.com/gke-metrics-agent-scaling-level=200
      • So fügen Sie 500 MB hinzu: cloud.google.com/gke-metrics-agent-scaling-level=500
    • COMPUTE_LOCATION: der Compute Engine-Standort des Clusters.

    Alternativ können Sie mit dem folgenden Befehl ein temporäres Knotenlabel hinzufügen, das nach einem Upgrade nicht beibehalten wird:

    kubectl label node/NODE_NAME \
    ADDITIONAL_MEMORY_NODE_LABEL --overwrite
    

    Ersetzen Sie Folgendes:

    • NODE_NAME: Name des Knotens des betroffenen Messwert-Agents.
    • ADDITIONAL_MEMORY_NODE_LABEL: eines der zusätzlichen Speicherknotenlabels. Verwenden Sie einen der Werte aus dem vorherigen Beispiel.

Paket: Messwerte der Steuerungsebene

Sie können einen GKE-Cluster so konfigurieren, dass bestimmte Messwerte vom Kubernetes API-Server, vom Planer und vom Controller-Manager an Cloud Monitoring gesendet werden.

Voraussetzungen

Zum Senden von Messwerten, die von Komponenten der Kubernetes-Steuerungsebene an Cloud Monitoring ausgegeben werden, ist die GKE-Steuerungsebene ab Version 1.22.13 erforderlich. Außerdem muss die Erfassung von Systemmesswerten aktiviert sein.

Erfassung von Messwerten der Steuerungsebene konfigurieren

So aktivieren Sie Messwerte der Kubernetes-Steuerungsebene in einem vorhandenen GKE-Cluster:

Console

Sie können Messwerte der Steuerungsebene für einen Cluster entweder über den Tab Beobachtbarkeit für den Cluster oder über den Tab Details für den Cluster aktivieren. Wenn Sie den Tab Beobachtbarkeit verwenden, können Sie eine Vorschau der verfügbaren Diagramme und Messwerte aufrufen, bevor Sie das Messwertpaket aktivieren.

So aktivieren Sie Messwerte der Steuerungsebene auf dem Tab Beobachtbarkeit für den Cluster:

  1. Rufen Sie in der Google Cloud Console die Seite mit den Kubernetes-Clustern auf.

    Zur Seite Kubernetes-Cluster

    Wenn Sie diese Seite über die Suchleiste finden, wählen Sie das Ergebnis aus, dessen Zwischenüberschrift Kubernetes Engine ist.

  2. Klicken Sie auf den Namen Ihres Clusters und wählen Sie dann den Tab Beobachtbarkeit aus.

  3. Wählen Sie aus der Liste der Funktionen Steuerungsebene aus.

  4. Klicken Sie auf Paket aktivieren.

    Wenn die Messwerte der Steuerungsebene bereits aktiviert sind, werden stattdessen Diagramme für die Messwerte der Steuerungsebene angezeigt.

So aktivieren Sie Messwerte der Steuerungsebene auf dem Tab Details für den Cluster:

  1. Rufen Sie in der Google Cloud Console die Seite mit den Kubernetes-Clustern auf.

    Zur Seite Kubernetes-Cluster

    Wenn Sie diese Seite über die Suchleiste finden, wählen Sie das Ergebnis aus, dessen Zwischenüberschrift Kubernetes Engine ist.

  2. Klicken Sie auf den Namen Ihres Clusters.

  3. Klicken Sie in der Zeile Funktionen mit der Bezeichnung Cloud Monitoring auf das Symbol Bearbeiten.

  4. Prüfen Sie im angezeigten Dialogfeld Cloud Monitoring bearbeiten, ob Cloud Monitoring aktivieren ausgewählt ist.

  5. Wählen Sie im Drop-down-Menü Komponenten die Komponenten der Steuerungsebene aus, über die Sie Messwerte erfassen möchten: API-Server, Planer oder Controller-Manager.

  6. Klicken Sie auf OK.

  7. Klicken Sie auf Änderungen speichern.

gcloud

  1. Öffnen Sie ein Terminalfenster mit dem Google Cloud SDK und der installierten Google Cloud CLI. Eine Möglichkeit hierfür ist die Verwendung von Cloud Shell:

  2. In the Google Cloud console, activate Cloud Shell.

    Activate Cloud Shell

    At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.

  3. Übergeben Sie einen oder mehrere der Werte API_SERVER, SCHEDULER und CONTROLLER_MANAGER an das Flag --monitoring der Befehle gcloud container clusters create oder gcloud container clusters update.

    Führen Sie beispielsweise den folgenden Befehl aus, um Messwerte vom API-Server, Planer und Controller-Manager zu erfassen:

    gcloud container clusters update CLUSTER_NAME \
        --location=COMPUTE_LOCATION \
        --monitoring=SYSTEM,API_SERVER,SCHEDULER,CONTROLLER_MANAGER
    

Terraform

Informationen zum Konfigurieren der Sammlung von Messwerten der Kubernetes-Steuerungsebene mit Terraform finden Sie im Block monitoring_config in der Terraform-Registry für google_container_cluster. Allgemeine Informationen zur Verwendung von Google Cloud mit Terraform finden Sie unter Terraform mit Google Cloud.

Messwerte der Steuerungsebene verwenden

Weitere Informationen finden Sie unter Messwerte der Steuerungsebene verwenden:

Dashboards zur Visualisierung der Messwerte der Steuerungsebene, die in der Google Cloud Console auf dem GKE-Tab Beobachtbarkeit verfügbar sind. Informationen zu diesen Dashboards finden Sie unter Beobachtbarkeitsmesswerte aufrufen.

Paket:: Kube State Metrics

Sie können einen GKE-Cluster so konfigurieren, dass eine ausgewählte Gruppe von Kube State Metrics im Prometheus-Format an Cloud Monitoring gesendet wird. Dieses Paket von Kube State Metrics enthält Messwerte für Pods, Deployments, StatefulSets, DaemonSets, HorizontalPodAutoscaler-Ressourcen, nichtflüchtige Volumes und Anforderungen von nichtflüchtigen Volumes.

Für GKE-Standardcluster ab Version 1.29.2-gke.2000 und GKE Autopilot-Cluster ab Version 1.27.4-gke.900 ist das Kube-Statusmesswerte-Paket standardmäßig aktiviert.

Voraussetzungen

Zum Erfassen von Kube State Metrics muss Ihr GKE-Cluster die folgenden Anforderungen erfüllen:

Sie können Systemmesswerte und Google Cloud Managed Service for Prometheus gleichzeitig mit dem Paket von Kube State Metrics aktivieren. Die von Google Cloud Managed Service for Prometheus verwaltete Sammlung ist in neuen Clustern standardmäßig aktiviert.

Erfassung von Kube State Metrics konfigurieren

So aktivieren Sie Kube State Metrics in einem vorhandenen GKE-Cluster:

Console

Sie können Kube State Metrics auf dem Tab Beobachtbarkeit für einen Cluster oder ein Deployment innerhalb eines Clusters aktivieren. Sie können auch eine Vorschau der verfügbaren Diagramme und Messwerte aufrufen, bevor Sie das Messwertpaket aktivieren.

Auf dem Tab Beobachtbarkeit für einen Cluster werden die Diagramme für Kube State Metrics im Filtermenü auf zwei Elemente aufgeteilt:

  • Arbeitslaststatus: Enthält die Messwerte für Pods, Deployments, StatefulSets, DaemonSets und HorizontalPodAutoscaler-Ressourcen.
  • Speicher > Nichtflüchtig: Enthält die Messwerte für PersistentVolumes und Ansprüche auf nichtflüchtige Volumes.

Sie können einen oder beide Messwertgruppen aktivieren.

So aktivieren Sie Kube State Metrics auf dem Tab Beobachtbarkeit für einen Cluster:

  1. Rufen Sie in der Google Cloud Console die Seite mit den Kubernetes-Clustern auf.

    Zur Seite Kubernetes-Cluster

    Wenn Sie diese Seite über die Suchleiste finden, wählen Sie das Ergebnis aus, dessen Zwischenüberschrift Kubernetes Engine ist.

  2. Klicken Sie auf den Namen Ihres Clusters und wählen Sie dann den Tab Beobachtbarkeit aus.

  3. Wählen Sie entweder Arbeitslaststatus oder Speicher > Nichtflüchtig aus der Liste der Features aus.

  4. Klicken Sie auf Paket aktivieren.

    Wenn Kube State Metrics bereits aktiviert ist, werden stattdessen eine Reihe von Diagrammen für Kube State Metrics angezeigt.

So aktivieren Sie Kube State Metrics auf dem Tab Beobachtbarkeit für ein Deployment:

  1. Rufen Sie in der Google Cloud Console die Seite Arbeitslasten auf:

    Zu Arbeitslasten

    Wenn Sie diese Seite über die Suchleiste finden, wählen Sie das Ergebnis aus, dessen Zwischenüberschrift Kubernetes Engine ist.

  2. Klicken Sie auf den Namen Ihres Deployments und wählen Sie dann den Tab Beobachtbarkeit aus.

  3. Wählen Sie Kube State aus der Liste der Features aus.

  4. Klicken Sie auf Paket aktivieren. Das Paket ist für den gesamten Cluster aktiviert.

    Wenn das Kube State Metrics-Paket bereits aktiviert ist, werden eine Reihe von Diagrammen für Messwerte von Pods, Deployments und horizontalen Pod-Autoscalings angezeigt.

So konfigurieren Sie Kube State Metrics auf dem Tab Details für den Cluster:

  1. Rufen Sie in der Google Cloud Console die Seite mit den Kubernetes-Clustern auf.

    Zur Seite Kubernetes-Cluster

    Wenn Sie diese Seite über die Suchleiste finden, wählen Sie das Ergebnis aus, dessen Zwischenüberschrift Kubernetes Engine ist.

  2. Klicken Sie auf den Namen Ihres Clusters.

  3. Klicken Sie in der Zeile Funktionen mit der Bezeichnung Cloud Monitoring auf das Symbol Bearbeiten.

  4. Prüfen Sie im angezeigten Dialogfeld Cloud Monitoring bearbeiten, ob Cloud Monitoring aktivieren ausgewählt ist.

  5. Wählen Sie im Drop-down-Menü Komponenten die Kube State-Komponenten aus, aus denen Sie Messwerte erfassen möchten:

    • Nichtflüchtiges Volume (Speicher)
    • Pods
    • Deployment
    • StatefulSet
    • DaemonSet
    • Horizontales Pod-Autoscaling
  6. Klicken Sie auf OK.

  7. Klicken Sie auf Änderungen speichern.

gcloud

  1. Öffnen Sie ein Terminalfenster mit dem Google Cloud SDK und der installierten Google Cloud CLI. Eine Möglichkeit hierfür ist die Verwendung von Cloud Shell:

  2. In the Google Cloud console, activate Cloud Shell.

    Activate Cloud Shell

    At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.

  3. Übergeben Sie einen oder mehrere der folgenden Werte an das Flag --monitoring der Befehle gcloud container clusters create oder gcloud container clusters update:

    • DAEMONSET
    • DEPLOYMENT
    • HPA
    • POD
    • STATEFULSET
    • STORAGE: Diese Option enthält Messwerte für nichtflüchtige Volumes und Anforderungen an nichtflüchtige Volumes.

    Führen Sie beispielsweise den folgenden Befehl aus, um Messwerte für Deployments und Pods in einem vorhandenen Cluster zu erfassen:

    gcloud container clusters update CLUSTER_NAME \
        --location=COMPUTE_LOCATION \
        --enable-managed-prometheus
        --monitoring=SYSTEM,DEPLOYMENT,POD
    

    Der Satz von Werten, der für das Flag --monitoring angegeben ist, überschreibt jede vorherige Einstellung. Wenn der Cluster im vorherigen Beispiel zum Erfassen von DAEMONSET-Messwerten konfiguriert wurde, deaktiviert der Beispielbefehl die Erfassung dieser Messwerte.

Terraform

Informationen zum Konfigurieren der Sammlung von Kube State Metrics mit Terraform finden Sie im Block monitoring_config in der Terraform-Registry für google_container_cluster. Allgemeine Informationen zur Verwendung von Google Cloud mit Terraform finden Sie unter Terraform mit Google Cloud.

Kube State Metrics verwenden

Weitere Informationen finden Sie unter Kube State Metrics verwenden:

  • Informationen zum Abfragen Ihrer Kube State Metrics.
  • Tabellen von Kube State Metrics.

Dashboards zur Visualisierung der Kube State Metrics sind auf dem GKE-Tab Beobachtbarkeit in der Google Cloud Console verfügbar. Informationen zu diesen Dashboards finden Sie unter Beobachtbarkeitsmesswerte aufrufen.

Paket: cAdvisor/Kubelet-Messwerte

Sie können einen GKE-Cluster so konfigurieren, dass eine ausgewählte Gruppe von cAdvisor/Kubelet-Messwerten im Prometheus-Format an Cloud Monitoring gesendet wird. Die ausgewählten Messwerte sind eine Teilmenge der großen cAdvisor-/Kubelet-Messwerte, die standardmäßig in jede Kubernetes-Bereitstellung integriert sind. Der ausgewählte cAdvisor/Kubelet wurde entwickelt, um die nützlichsten Messwerte bereitzustellen und das Aufnahmevolumen und die damit verbundenen Kosten zu reduzieren.

Voraussetzungen

Zum Erfassen von cAdvisor-/Kubelet-Messwerten muss Ihr GKE-Cluster die folgenden Anforderungen erfüllen:

Die Erfassung von Systemmesswerten sowie die von Google Cloud Managed Service for Prometheus verwaltete Erfassung sind standardmäßig aktiviert, wenn Sie einen Cluster erstellen, der 1.29.3-gke.1093000 ausführt. Sie können die cAdvisor- und Kubelet-Messwerte beim Erstellen des Clusters aktivieren.

Wenn Sie einen Cluster erstellen, der keine Systemmesswerte erfasst oder die verwaltete Erfassung verwendet, können Sie Systemmesswerte und Google Cloud Managed Service for Prometheus gleichzeitig mit der Konfiguration der Sammlung aktivieren der cAdvisor-/Kubelet-Messwerte.

Erfassung von cAdvisor-/Kubelet-Messwerten konfigurieren

So aktivieren Sie cAdvisor-/Kubelet-Messwerte in einem vorhandenen GKE-Cluster:

Console

So konfigurieren Sie cAdvisor-/Kubelet-Messwerte auf dem Tab Details für den Cluster:

  1. Rufen Sie in der Google Cloud Console die Seite mit den Kubernetes-Clustern auf.

    Zur Seite Kubernetes-Cluster

    Wenn Sie diese Seite über die Suchleiste finden, wählen Sie das Ergebnis aus, dessen Zwischenüberschrift Kubernetes Engine ist.

  2. Klicken Sie auf den Namen Ihres Clusters.

  3. Klicken Sie in der Zeile Funktionen mit der Bezeichnung Cloud Monitoring auf das Symbol Bearbeiten.

  4. Prüfen Sie im angezeigten Dialogfeld Cloud Monitoring bearbeiten, ob Cloud Monitoring aktivieren ausgewählt ist.

  5. Wählen Sie im Drop-down-Menü Komponenten die cAdvisor-/Kubelet-Komponenten aus, aus denen Sie Messwerte erfassen möchten:

    • cAdvisor
    • Kubelet
  6. Klicken Sie auf OK.

  7. Klicken Sie auf Änderungen speichern.

gcloud

  1. Öffnen Sie ein Terminalfenster mit dem Google Cloud SDK und der installierten Google Cloud CLI. Eine Möglichkeit hierfür ist die Verwendung von Cloud Shell:

  2. In the Google Cloud console, activate Cloud Shell.

    Activate Cloud Shell

    At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.

  3. Übergeben Sie einen oder mehrere der folgenden Werte an das Flag --monitoring der Befehle gcloud container clusters create oder gcloud container clusters update:

    • CADVISOR
    • KUBELET

    Wenn Sie beispielsweise nur die cAdvisor-/Kubelet-Messwerte in einem vorhandenen Cluster erfassen möchten, führen Sie den folgenden Befehl aus:

    gcloud container clusters update CLUSTER_NAME \
        --location=COMPUTE_LOCATION \
        --enable-managed-prometheus \
        --monitoring=SYSTEM,CADVISOR,KUBELET
    

    Der Satz von Werten, der für das Flag --monitoring angegeben ist, überschreibt jede vorherige Einstellung. Wenn der Cluster im vorherigen Beispiel so konfiguriert wurde, dass DAEMONSET-Messwerte aus dem Kube State-Paket erfasst werden, deaktiviert der Beispielbefehl die Erfassung dieser Messwerte.

Terraform

Informationen zum Konfigurieren der Sammlung von cAdvisor-/Kubelet-Messwerten mit Terraform finden Sie im Block monitoring_config in der Terraform-Registry für google_container_cluster. Allgemeine Informationen zur Verwendung von Google Cloud mit Terraform finden Sie unter Terraform mit Google Cloud.

cAdvisor/Kubelet-Messwerte verwenden

Weitere Informationen finden Sie unter cAdvisor-/Kubelet-Messwerte verwenden:

  • Informationen zum Abfragen Ihrer cAdvisor-/Kubelet-Messwerte
  • Tabellen von cAdvisor-/Kubelet-Messwerten

Messwertpakete deaktivieren

Sie können die Verwendung von Messwertpaketen im Cluster deaktivieren. Sie können bestimmte Pakete deaktivieren, um Kosten zu senken, oder wenn Sie einen alternativen Mechanismus zum Erfassen der Messwerte verwenden, z. B. Google Cloud Managed Service for Prometheus und einen Exporter.

Console

So deaktivieren Sie die Erfassung von Messwerten auf dem Tab Details für den Cluster:

  1. Rufen Sie in der Google Cloud Console die Seite mit den Kubernetes-Clustern auf.

    Zur Seite Kubernetes-Cluster

    Wenn Sie diese Seite über die Suchleiste finden, wählen Sie das Ergebnis aus, dessen Zwischenüberschrift Kubernetes Engine ist.

  2. Klicken Sie auf den Namen Ihres Clusters.

  3. Klicken Sie in der Zeile Funktionen mit der Bezeichnung Cloud Monitoring auf das Symbol Bearbeiten.

  4. Deaktivieren Sie im Drop-down-Menü Komponenten die Messwertkomponenten, die Sie deaktivieren möchten.

  5. Klicken Sie auf OK.

  6. Klicken Sie auf Änderungen speichern.

gcloud

  1. Öffnen Sie ein Terminalfenster mit dem Google Cloud SDK und der installierten Google Cloud CLI. Eine Möglichkeit hierfür ist die Verwendung von Cloud Shell:

  2. In the Google Cloud console, activate Cloud Shell.

    Activate Cloud Shell

    At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.

  3. Rufen Sie den Befehl gcloud container clusters update auf und übergeben Sie einen aktualisierten Satz von Werten an das Flag --monitoring. Der Satz von Werten, der für das Flag --monitoring angegeben ist, überschreibt alle vorherigen Einstellungen.

    Führen Sie beispielsweise den folgenden Befehl aus, um die Erfassung aller Messwerte außer Systemmesswerten zu deaktivieren:

    gcloud container clusters update CLUSTER_NAME \
        --location=COMPUTE_LOCATION \
        --enable-managed-prometheus \
        --monitoring=SYSTEM
    

    Dieser Befehl deaktiviert die Erfassung aller zuvor konfigurierten Messwertpakete.

Terraform

Informationen zum Konfigurieren der Erfassung von Messwerten mit Terraform finden Sie im Block monitoring_config in der Terraform-Registry für google_container_cluster. Allgemeine Informationen zur Verwendung von Google Cloud mit Terraform finden Sie unter Terraform mit Google Cloud.

Preise und Kontingente für Beobachtbarkeitspakete

Die Informationen in diesem Abschnitt gelten für die folgenden Beobachtbarkeitspakete:

Messwerte der GKE-Steuerungsebene und Kube State Metrics verwenden Google Cloud Managed Service for Prometheus, um Messwerte in Cloud Monitoring zu laden. Die Gebühren für die Aufnahme dieser Messwerte in Cloud Monitoring basieren auf der Anzahl der aufgenommenen Stichproben. Diese Messwerte sind jedoch für die registrierten Cluster, die zu einem Projekt gehören, für das die GKE Enterprise-Version aktiviert ist, kostenlos.

Weitere Informationen finden Sie unter Cloud Monitoring-Preise.

Informationen zu Ihrer Monitoring-Rechnung

Mit Cloud Monitoring können Sie die Messwerte der Steuerungsebene oder Kube State Metrics ermitteln, die die größte Anzahl von Stichproben schreiben. Diese Messwerte tragen am meisten zu Ihren Kosten bei. Nachdem Sie die teuersten Messwerte ermittelt haben, können Sie die Extraktionskonfigurationen ändern, um diese Messwerte entsprechend zu filtern.

Auf der Cloud Monitoring-Seite Messwertverwaltung finden Sie Informationen, mit denen Sie den Betrag steuern können, den Sie für kostenpflichtige Messwerte ausgeben, ohne die Beobachtbarkeit zu beeinträchtigen. Die Seite Messwertverwaltung enthält folgende Informationen:

  • Aufnahmevolumen für byte- und probenbasierte Abrechnung für Messwertdomains und einzelne Messwerte
  • Daten zu Labels und zur Kardinalität von Messwerten
  • Verwenden Messwerten in Benachrichtigungsrichtlinien und benutzerdefinierten Dashboards
  • Rate von Messwert-Schreibfehlern

So rufen Sie die Seite Messwertverwaltung auf:

  1. Rufen Sie in der Google Cloud Console die Seite  Messwertverwaltung auf:

    Zur Messwertverwaltung

    Wenn Sie diese Seite über die Suchleiste suchen, wählen Sie das Ergebnis aus, dessen Zwischenüberschrift Monitoring ist.

  2. Wählen Sie in der Symbolleiste das Zeitfenster aus. Standardmäßig werden auf der Seite Messwertverwaltung Informationen zu den Messwerten angezeigt, die am Vortag erfasst wurden.

Weitere Informationen zur Seite Messwertverwaltung finden Sie unter Messwertnutzung ansehen und verwalten.

Tun Sie Folgendes, um zu ermitteln, welche Messwerte der Steuerungsebene oder welche Kube Static Metrics die größte Anzahl an aufgenommenen Stichproben haben:

  1. Rufen Sie in der Google Cloud Console die Seite  Messwertverwaltung auf:

    Zur Messwertverwaltung

    Wenn Sie diese Seite über die Suchleiste suchen, wählen Sie das Ergebnis aus, dessen Zwischenüberschrift Monitoring ist.

  2. Klicken Sie in der Kurzübersicht Aufgenommene kostenpflichtige Stichproben auf Diagramme ansehen.

  3. Suchen Sie das Diagramm Volume-Aufnahme nach Namespace und klicken Sie dann auf  Weitere Diagrammoptionen.

  4. Prüfen Sie im Feld Messwert, ob die folgende Ressource und der folgende Messwert ausgewählt sind:
    Metric Ingestion Attribution und Samples written by attribution id.

  5. Führen Sie auf der Seite Filter folgende Schritte aus:

    1. Prüfen Sie im Feld Label, ob der Wert attribution_dimension ist.

    2. Prüfen Sie im Feld Vergleich, ob der Wert = (equals) ist.

    3. Wählen Sie im Feld Wert cluster aus.

  6. Entfernen Sie die Einstellung Gruppieren nach.

  7. Optional können Sie nach bestimmten Messwerten filtern. Beispielsweise enthalten die API-Servermesswerte der Steuerungsebene "apiserver" als Teil des Messwertnamens und die Kube-State-Pod-Messwerte enthalten alle "kube_pod" als Teil des Messwertnamens, sodass Sie nach Messwerten mit diesen Strings filtern können:

    • Klicken Sie auf Filter hinzufügen.

    • Wählen Sie im Feld Label die Option metric_type aus.

    • Wählen Sie im Feld Vergleich die Option =~ (equals regex) aus.

    • Geben Sie im Feld Wert .*apiserver.* oder .*kube_pod.* ein.

  8. Optional können Sie die Anzahl der von der GKE-Region oder dem Projekt aufgenommenen Stichproben gruppieren.

    • Klicken Sie auf Gruppieren nach.

    • Achten Sie darauf, dass metric_type ausgewählt ist.

    • Wählen Sie location aus, um nach GKE-Region zu gruppieren.

    • Wählen Sie project_id aus, um nach Projekt zu gruppieren.

    • Klicken Sie auf OK.

  9. Optional können Sie die Anzahl der Stichproben gruppieren, die vom GKE-Clusternamen aufgenommen wurden:

    • Klicken Sie auf Gruppieren nach.

    • Um nach dem GKE-Clusternamen zu gruppieren, müssen Sie attribution_dimension und attribution_id ausgewählt haben.

    • Klicken Sie auf OK.

  10. Um das Aufnahmevolumen für jeden der Messwerte anzuzeigen, wählen Sie auf der Schaltfläche Diagramm Tabelle Beides Beides aus. Die Tabelle zeigt das aufgenommene Volumen für jeden Messwert in der Spalte Wert an.

    Klicken Sie zweimal auf die Spaltenüberschrift Wert, um die Messwerte nach absteigendem Aufnahmevolumen zu sortieren.

Mit diesen Schritten werden die Messwerte mit der höchsten Rate an Stichproben, die in Cloud Monitoring aufgenommen wurden, angezeigt. Da die Messwerte in den Beobachtbarkeitspaketen nach der Anzahl der aufgenommenen Stichproben abgerechnet werden, sollten Sie auf die Messwerte mit der größten Rate aufgenommener Stichproben achten.

Kontingent

Messwerte der Steuerungsebene und der Kube State Metrics verbrauchen das Kontingent "Zeitachsenaufnahmeanfragen pro Minute" der Cloud Monitoring API. Bevor Sie die Messwertpakete aktivieren, prüfen Sie die letzte Spitzennutzung dieses Kontingents. Wenn sich viele Cluster im selben Projekt befinden oder sich dem Limit dieses Kontingents nähern, können Sie eine Erhöhung des Kontingentlimits beantragen, bevor Sie ein Beobachtbarkeitspaket aktivieren.

Weitere Messwerte

Neben den in diesem Dokument beschriebenen Systemmesswerten und Messwertpaketen stehen auch Istio-Messwerte für GKE-Cluster zur Verfügung. Preisinformationen finden Sie unter Cloud Monitoring-Preise.