Bereitstellungen überwachen

Informationen zum Überwachen des Zustands, der Verfügbarkeit und der Upgrades Ihrer Google Distributed Cloud Connected-Bereitstellungen, einschließlich unterstützter Arbeitslasten. Weitere Informationen zum Konfigurieren des Monitorings und zu den verfügbaren Messwerten finden Sie unter Logs und Messwerte.

Zustand und Verfügbarkeit von Arbeitslasten überwachen

Sie sind für das Monitoring des Zustands und der Verfügbarkeit Ihrer Arbeitslasten (Container und virtuelle Maschinen) verantwortlich, die in Ihrer Distributed Cloud Connected-Bereitstellung ausgeführt werden.

Containerarbeitslasten

Wenn Sie den Zustand und die Verfügbarkeit der von Ihnen bereitgestellten containerisierten Arbeitslasten überwachen möchten, empfehlen wir die Verwendung der Prometheus-Messwertlösung. Sie können Prometheus so konfigurieren, dass Messwerte aus Ihren Pods und Diensten extrahiert werden. Von Google verwaltete Systemdienste werden automatisch von Google überwacht und verwaltet. Weitere Informationen zum Konfigurieren von Prometheus finden Sie unter Messwerte mit Prometheus erfassen.

Verwenden Sie die folgenden wichtigen Messwerte für das Monitoring von Containerarbeitslasten. Wenn Sie Prometheus verwenden, sind Sie für die Bereitstellung und Verwaltung von Kube State Metrics verantwortlich, um diese spezifischen Messwerte für Ihre Arbeitslasten verfügbar zu machen:

  • kube_pod_status_phase: Überwachen Sie Pods in den Phasen Failed oder Unknown.
  • kube_pod_container_status_waiting_reason: Identifizieren Sie Pods, die in CrashLoopBackOff oder ImagePullBackOff feststecken.
  • container_cpu_usage_seconds_total und container_memory_working_set_bytes (aus cAdvisor): Überwachen Sie den Ressourcenverbrauch, um Probleme mit unzureichendem Arbeitsspeicher (Out of Memory, OOM) zu vermeiden.

Arbeitslasten virtueller Maschinen

In Distributed Cloud Connected werden virtuelle Maschinen (VMs) in Standard-Kubernetes-Pods ausgeführt, die in der Regel das Präfix virt-launcher- haben. Überwachen Sie den Zustand und Status von VMs in erster Linie, indem Sie den Status der benutzerdefinierten Ressource VirtualMachine prüfen oder Anwendungsmesswerte in der VM überwachen.

Verwenden Sie die zugrunde liegenden virt-launcher-Pod-Messwerte als sekundäre Indikatoren für die folgenden Details:

  • Ressourcennutzung: Überwachen Sie die CPU- und Arbeitsspeicherauslastung von Launcher-Pods, um sicherzustellen, dass VMs über genügend Ressourcen verfügen.
  • Pod-Phase: Verfolgen Sie die Phasen von Launcher-Pods, um VMs zu identifizieren, die nicht gestartet werden können oder abstürzen.

Wenn Sie die einer VM zugewiesenen Ressourcen anpassen möchten, ändern Sie die Spezifikation der benutzerdefinierten VM-Ressource. Ändern Sie die zugrunde liegenden virt-launcher-Pod-YAMLs nicht direkt, da sie von der Plattform verwaltet werden. Direkte Änderungen werden überschrieben oder führen zu Abstimmungsfehlern.

Informationen zur Fehlerbehebung bei VMs, die im Status „Ausstehend“ feststecken, finden Sie unter Fehlerbehebung bei virtuellen Maschinen, die im Status „Ausstehend“ feststecken.

Distributed Cloud Connected-Upgrades überwachen

Überwachen Sie den Fortschritt und Status von Distributed Cloud Connected-Softwareupgrades mit Cloud Monitoring-Messwerten und gcloud-Befehlen. Upgrades werden von Google geplant und ausgeführt. Das Monitoring dient ausschließlich der Sichtbarkeit und Planung der Arbeitslastmigration.

Eine detaillierte Anleitung zum Prüfen, ob ein Upgrade ausgeführt wird, zum Überwachen des Status und zur Fehlerbehebung bei fehlgeschlagenen Upgrades finden Sie unter Fehlerbehebung bei Softwareupgrades.

Zustand des lokalen Speichers überwachen

Distributed Cloud Connected überwacht kontinuierlich den Zustand der Speichergeräte und benachrichtigt Google, wenn ein physisches Laufwerk ersetzt werden muss. Google vereinbart mit Ihnen einen Termin und ersetzt das fehlerhafte Laufwerk. Sie können den Zustand Ihres Speichers mit Kubernetes-Zustandsbenachrichtigungen wie DiskPressure überwachen.

Zustand des Systemspeichers überwachen

Sie haben folgende Möglichkeiten, den Zustand des Systemspeichers von Distributed Cloud Connected zu überwachen:

  • Prometheus mit Kube State Metrics (PromQL) Stellen Sie Kube State Metrics in Ihrem Cluster bereit und verwalten Sie sie, um Kubernetes-Zustandsmesswerte verfügbar zu machen.

  • Cloud Monitoring-Messwerte Erstellen Sie Benachrichtigungsrichtlinien basierend auf Messwerten auf Hostebene, die in Cloud Monitoring exportiert werden.

Zustand des Systemspeichers mit Prometheus überwachen

Wenn Sie den Zustand des Systemspeichers mit Prometheus mit Kube State Metrics (PromQL) überwachen möchten, richten Sie die folgenden Benachrichtigungen ein:

  1. Benachrichtigen Sie sofort, wenn ein Knotenzustand den Status DiskPressure erreicht:

    kube_node_status_condition{condition="DiskPressure",status="true"} == 1
    
  2. Benachrichtigen Sie proaktiv, bevor die Grenzwerte für die Entfernung überschritten werden, indem Sie prüfen, wann die Festplattenauslastung einen Betriebsschwellenwert überschreitet:

    (1 - (node_filesystem_avail_bytes{mountpoint="/mnt/shared_lpvs"} / node_filesystem_size_bytes{mountpoint="/mnt/shared_lpvs"})) > THRESHOLD
    

    Ersetzen Sie THRESHOLD durch den Zielbetriebsschwellenwert im Bereich 0.00 bis 1.00. Google empfiehlt, diesen Wert auf 0.85 zu setzen.

Zustand des Systemspeichers mit Cloud Monitoring überwachen

Wenn Sie den Zustand des Systemspeichers mit Cloud Monitoring-Messwerten überwachen möchten, erstellen Sie eine Benachrichtigungsrichtlinie mit den folgenden Parametern:

  • Messwert:edgecontainer.googleapis.com/machine/disk/utilization
  • Umfang:Dieser Messwert gibt speziell die Festplattenauslastung des lokalen Systempartitionsdateisystems des Knotens (/dev/mapper/shared_lpvs_encrypted) an.
  • Schwellenwert:Konfigurieren Sie einen Benachrichtigungsschwellenwert, wenn die Festplattenauslastung über 85 % liegt. So wird die Sättigung der Systemfestplatte erkannt, bevor ein DiskPressure-Ereignis für einen Hard-Node auftritt.

Zustand des Arbeitslastspeichers überwachen

Sie können den Zustand des Arbeitslastspeichers entweder mit Kubelet-Volume-Messwerten oder direkt mit Telemetriedaten auf Anwendungsebene überwachen, je nachdem, welcher Volume-Modus von der Arbeitslast verwendet wird.

  • Volume-Modus Filesystem Sie können Dateisystem-Volumes mit Prometheus überwachen, indem Sie die folgenden Kubelet-Volume-Messwerte extrahieren:

    • kubelet_volume_stats_capacity_bytes
    • kubelet_volume_stats_available_bytes
    • kubelet_volume_stats_used_bytes
    • kubelet_volume_stats_inodes_used
    • kubelet_volume_stats_inodes_free
  • Volume-Modus Block Rohblock-Volumes sind für Kubelet nicht sichtbar. Wenn Sie ihren Zustand überwachen möchten, müssen Sie Messwerte auf Anwendungsebene oder Symcloud Storage-Messwerte verwenden.

Monitoring mehrerer Cluster

Wenn Sie viele Distributed Cloud Connected-Cluster verwalten, empfehlen wir, Cloud Monitoring zum Aggregieren und Filtern von Messwerten zu verwenden.

  • Ressourcenlabels verwenden: In Cloud Monitoring exportierte Messwerte enthalten Labels, die die Quelle identifizieren. Die verfügbaren Labels hängen vom Ressourcentyp ab:

    • Für Cluster- und Containermesswerte wie k8s_container enthalten die wichtigsten Labels die folgenden Werte:

      • project_id: Das Google Cloud Projekt, in dem sich der Cluster befindet.
      • location: Die Google Cloud Region, in der der Cluster registriert ist.
      • cluster_name: Der Name des Clusters.
    • Für Hardwaremesswerte wie edgecontainer.googleapis.com/machine enthalten die wichtigsten Labels die folgenden Werte:

      • resource_container: Das Google Cloud Projekt, das mit der Hardware verknüpft ist.
      • location: Die Google Cloud Region, in der die Distributed Cloud Connected-Zone registriert ist.
      • machine_id: Die ID der Maschine.

      Hardwaremesswerte enthalten kein cluster_name-Label.

  • Benutzerdefinierte Dashboards erstellen: Erstellen Sie Dashboards, auf denen wichtige Zustands indikatoren für Ihre gesamte Flotte angezeigt werden. Zu den wichtigsten Zustandsindikatoren gehören Konnektivität, VM-Status und Ressourcennutzung. Wenn Sie Daten aus mehreren Clustern in einem einzigen Diagramm anzeigen möchten, verwenden Sie Platzhalter oder Group-by-Vorgänge.

  • Benachrichtigungen für mehrere Cluster einrichten: Konfigurieren Sie Benachrichtigungsrichtlinien, die für mehrere Cluster gelten. Sie können beispielsweise eine Benachrichtigung erstellen, die ausgelöst wird, wenn die Verbindung zu einer Maschine in einem Cluster unterbrochen wird.

Benachrichtigungsstrategie

Das Monitoring und die Wartung von Distributed Cloud Connected sind eine gemeinsame Verantwortung. In diesem Abschnitt wird erläutert, bei welchen Ereignissen Google Benachrichtigungen sendet und wie Sie Ihre eigenen Benachrichtigungsrichtlinien konfigurieren können.

Ereignisse, bei denen Google Benachrichtigungen sendet

Google überwacht kontinuierlich die zugrunde liegende Infrastruktur. Bei den folgenden Ereignissen ergreift Google Maßnahmen und benachrichtigt Sie gegebenenfalls:

  • Hardwarefehler: Ausfälle der Stromversorgung, Lüfterausfälle, Überhitzung, oder Festplattenfehler, z. B. wenn eine Festplatte den Schwellenwert für den Ersatz erreicht oder das Ende ihrer Lebensdauer erreicht. Google überwacht kontinuierlich den Zustand der internen Speichergeräte und löst automatisch einen Austausch aus, wenn ein Speichergerät ausfällt.
  • Verbindungsprobleme: Vollständiger Verbindungsverlust zwischen der Distributed Cloud Connected-Zone und Google Cloud.
  • Zustand der Steuerungsebene: Fehler in der Kubernetes-Steuerungsebene oder in von Google verwalteten Systemdiensten.
  • Fehler bei Upgrades: Automatisierte Upgradevorgänge, die hängen bleiben oder fehlschlagen.

Benachrichtigungen konfigurieren

Konfigurieren Sie Ihre eigenen Benachrichtigungsrichtlinien in Cloud Monitoring oder in Prometheus für Probleme, die sich auf Ihre Arbeitslasten oder Ihre lokale Umgebung auswirken.

Sie können Benachrichtigungen für die folgenden Probleme einrichten:

Problem Beschreibung Überwachungssystem Details
Ausfallzeit der Arbeitslast Pods oder VMs können nicht gestartet werden oder befinden sich in einer Absturzschleife Prometheus Erstellen Sie für Containerarbeitslasten Benachrichtigungen für kube_pod_status_phase, um Pods in den Phasen Failed oder Unknown zu erkennen. Sie können auch Benachrichtigungen für kube_pod_container_status_waiting_reason einrichten, wenn der Wert CrashLoopBackOff oder ImagePullBackOff ist.
Cloud Monitoring Richten Sie für VM-Arbeitslasten, die in Pods ausgeführt werden, Benachrichtigungen mit Standard-Kubernetes-Containermesswerten in Cloud Monitoring ein, um den Status von virt-launcher-Pods zu verfolgen.
Erschöpfung der Arbeitslastressourcen Die Festplattenauslastung nähert sich der Kapazität oder die Arbeitsspeicher- oder CPU-Auslastung ist bei Arbeitslasten hoch Prometheus Legen Sie für Containerarbeitslasten Schwellenwertbenachrichtigungen für container_cpu_usage_seconds_total und container_memory_working_set_bytes (aus cAdvisor) fest, um Pods zu identifizieren, die sich ihren Ressourcengrenzen nähern.
Cloud Monitoring Überwachen Sie für den Maschinenspeicher den Messwert für die Festplattenauslastung der Maschine edgecontainer.googleapis.com/machine/disk/utilization, um zu erkennen, wann sich der Knotenspeicher der Kapazität nähert.
Probleme mit dem lokalen Netzwerk Ausfälle der Netzwerkschnittstelle auf Maschinen Cloud Monitoring Prüfen Sie, ob der Messwert für die Netzwerkverfügbarkeit der Maschine edgecontainer.googleapis.com/machine/network/up false ist.
Verlust der Internetverbindung Cloud Monitoring Prüfen Sie, ob der Messwert für die Netzwerkverbindung edgecontainer.googleapis.com/machine/network/connectivity false ist.
Neustarts von Maschinen Unerwartete Neustarts oder Herunterfahren von Maschinen Cloud Monitoring Konfigurieren Sie Benachrichtigungen mit den Messwerten edgecontainer.googleapis.com/machine/uptime und edgecontainer.googleapis.com/machine/restart_count. Weitere Informationen finden Sie unter Fehlerbehebung bei Neustarts von Maschinen.
Erschöpfung des Systemspeichers Der Systemspeicher ist voll Cloud Monitoring Konfigurieren Sie Benachrichtigungen mit dem Messwert edgecontainer.googleapis.com/machine/disk/utilization. Weitere Informationen finden Sie unter Zustand des Systemspeichers überwachen.

Die Distributed Cloud Connected-Hardware wird von Google verwaltet. Sie haben keinen SSH-Zugriff auf die Maschinen und keine Kontrolle über das Hostbetriebssystem. Wenn Benachrichtigungen basierend auf Messwerten auf Maschinenebene ausgelöst werden, z. B. für die Netzwerkverbindung oder Neustarts, können Sie nur die physische Stromversorgung, die Verkabelung und die Konfigurationen des lokalen Netzwerks und der Firewall prüfen oder das Problem an den Google-Support eskalieren.