Hier erfahren Sie, wie Sie den Zustand, die Verfügbarkeit und die Upgrades Ihrer Google Distributed Cloud Connected-Bereitstellungen, einschließlich unterstützter Arbeitslasten, überwachen. 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 die Überwachung des Zustands und der Verfügbarkeit Ihrer Arbeitslasten (Container und virtuelle Maschinen) verantwortlich, die in Ihrer mit Distributed Cloud verbundenen Bereitstellung ausgeführt werden.
Containerarbeitslasten
Wir empfehlen die Verwendung der Prometheus-Messwertlösung, um den Zustand und die Verfügbarkeit der von Ihnen bereitgestellten containerisierten Arbeitslasten zu überwachen. 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, um Containerarbeitslasten zu überwachen. 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 bereitzustellen:
kube_pod_status_phase: Überwacht Pods in den PhasenFailedoderUnknown.kube_pod_container_status_waiting_reason: Pods identifizieren, die im StatusCrashLoopBackOffoderImagePullBackOffhängen.container_cpu_usage_seconds_totalundcontainer_memory_working_set_bytes(von cAdvisor): Überwachen Sie den Ressourcenverbrauch, um Probleme mit unzureichendem Arbeitsspeicher (Out of Memory, OOM) zu vermeiden.
VM-Arbeitslasten
In Distributed Cloud Connected werden virtuelle Maschinen (VMs) in Standard-Kubernetes-Pods ausgeführt, die normalerweise das Präfix virt-launcher- haben. Überwachen Sie den Zustand und Status der VM hauptsächlich, indem Sie den Status der benutzerdefinierten Ressource VirtualMachine prüfen oder Anwendungsmesswerte innerhalb der VM überwachen.
Verwenden Sie die zugrunde liegenden virt-launcher-Pod-Messwerte als sekundäre Indikatoren für die folgenden Details:
- Ressourcennutzung: Überwachen Sie den CPU- und Arbeitsspeicherverbrauch von Launcher-Pods, um sicherzustellen, dass VMs über ausreichende Ressourcen verfügen.
- Pod-Phase: Verfolgen Sie die Launcher-Pod-Phasen, um VMs zu identifizieren, die nicht gestartet werden 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 diese von der Plattform verwaltet werden. Alle direkten Änderungen werden überschrieben oder führen zu Abgleichsfehlern.
Informationen zur Fehlerbehebung bei VMs, die im Status „Ausstehend“ hängen, finden Sie unter Fehlerbehebung bei virtuellen Maschinen, die im Status „Ausstehend“ hängen.
Upgrades für Distributed Cloud Connected überwachen
Sie können den Fortschritt und Status von Softwareupgrades für Distributed Cloud Connected mithilfe von Cloud Monitoring-Messwerten und gcloud-Befehlen überwachen.
Upgrades werden von Google geplant und durchgeführt. Das Monitoring dient ausschließlich der Sichtbarkeit und der Planung der Arbeitslastmigration.
Eine detaillierte Anleitung dazu, wie Sie prüfen, ob ein Upgrade ausgeführt wird, den Status überwachen und fehlgeschlagene Upgrades beheben, finden Sie unter Fehlerbehebung bei Softwareupgrades.
Zustand des lokalen Speichers überwachen
Distributed Cloud Connected überwacht kontinuierlich den Zustand seiner Speichergeräte und benachrichtigt Google, wenn ein physisches Laufwerk ausgetauscht werden muss. Google vereinbart mit Ihnen einen Termin, um das fehlerhafte Laufwerk zu ersetzen. Sie können den Zustand Ihres Speichers mithilfe von Kubernetes-Zustandsbenachrichtigungen wie DiskPressure überwachen.
Zustand des Systemspeichers überwachen
Sie können den Zustand des mit Distributed Cloud verbundenen Systemspeichers mit einer der folgenden Methoden überwachen:
Prometheus mit Kube State Metrics (PromQL). Stellen Sie Kube State Metrics in Ihrem Cluster bereit und verwalten Sie sie, um Kubernetes-Zustandsmesswerte bereitzustellen.
Cloud Monitoring-Messwerte Erstellen Sie Benachrichtigungsrichtlinien basierend auf Messwerten auf Hostebene, die nach Cloud Monitoring exportiert wurden.
Zustand des Systemspeichers mit Prometheus überwachen
Wenn Sie den Zustand des Systemspeichers mit Prometheus und Kube State Metrics (PromQL) überwachen möchten, richten Sie die folgenden Benachrichtigungen ein:
Sofort benachrichtigen, wenn ein Knotenzustand den Status
DiskPressureerreicht:kube_node_status_condition{condition="DiskPressure",status="true"} == 1Sie können sich proaktiv benachrichtigen lassen, bevor die Schwellenwerte für die Bereinigung überschritten werden. Prüfen Sie dazu, wann die Laufwerksauslastung einen Betriebsschwellenwert überschreitet:
(1 - (node_filesystem_avail_bytes{mountpoint="/mnt/shared_lpvs"} / node_filesystem_size_bytes{mountpoint="/mnt/shared_lpvs"})) > THRESHOLDErsetzen Sie
THRESHOLDdurch den Zielgrenzwert für den Betrieb im Bereich von0.00bis1.00. Google empfiehlt, diesen Wert auf0.85zu 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 die Laufwerksauslastung des Dateisystems der lokalen Systempartition des Knotens (
/dev/mapper/shared_lpvs_encrypted) an. - Grenzwert: Konfigurieren Sie einen Benachrichtigungsgrenzwert für den Fall, dass die Laufwerksauslastung 85 % überschreitet. Dadurch wird die Auslastung des Systemlaufwerks erkannt, bevor ein
DiskPressure-Ereignis für einen harten Knoten 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.
Filesystem-Lautstärkemodus. Sie können Dateisystem-Volumes mit Prometheus überwachen, indem Sie die folgenden Kubelet-Volume-Messwerte erfassen:kubelet_volume_stats_capacity_byteskubelet_volume_stats_available_byteskubelet_volume_stats_used_byteskubelet_volume_stats_inodes_usedkubelet_volume_stats_inodes_free
Block-Lautstärkemodus. Rohblock-Volumes sind für Kubelet nicht sichtbar. Um ihren Zustand zu überwachen, müssen Sie Messwerte auf Anwendungsebene oder Symcloud Storage-Messwerte verwenden.
Monitoring mehrerer Cluster
Wenn Sie viele mit Distributed Cloud verbundene Cluster verwalten, empfehlen wir, Cloud Monitoring zum Aggregieren und Filtern von Messwerten zu verwenden.
Ressourcenlabels verwenden: Messwerte, die nach Cloud Monitoring exportiert werden, enthalten Labels, die die Quelle identifizieren. Die verfügbaren Labels hängen vom Ressourcentyp ab:
Für Cluster- und Container-Messwerte wie
k8s_containerenthalten die Schlüssellabels die folgenden Werte:project_id: Das Projekt in Google Cloud , das den Cluster hostet.location: Die Google Cloud -Region, in der der Cluster registriert ist.cluster_nameist der Name des Clusters.
Für Hardwaremesswerte wie
edgecontainer.googleapis.com/machineenthalten die Schlüssellabels 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-Verbundzone registriert ist.machine_id: Die Kennung der Maschine.
Hardwaremesswerte enthalten kein direktes
cluster_name-Label.
Benutzerdefinierte Dashboards erstellen: Erstellen Sie Dashboards, die wichtige Integritätsindikatoren für Ihre gesamte Flotte anzeigen. Zu den wichtigsten Statusindikatoren gehören die Konnektivität, der VM-Status und die Ressourcennutzung. Wenn Sie Daten aus mehreren Clustern in einem einzigen Diagramm darstellen möchten, verwenden Sie Platzhalter oder Gruppierungsvorgänge.
Multi-Cluster-Benachrichtigungen einrichten: Konfigurieren Sie Benachrichtigungsrichtlinien, die für mehrere Cluster gelten. Sie können beispielsweise eine Benachrichtigung erstellen, die ausgelöst wird, wenn ein Computer in einem Cluster die Verbindung verliert.
Benachrichtigungsstrategie
Das Monitoring und die Wartung von Distributed Cloud Connected ist eine gemeinsame Verantwortung. In diesem Abschnitt wird erläutert, worüber Google Alerts benachrichtigt und wie Sie Ihre eigenen Benachrichtigungsrichtlinien konfigurieren können.
Worüber Google Alerts benachrichtigt
Google überwacht die zugrunde liegende Infrastruktur kontinuierlich. In den folgenden Situationen werden Maßnahmen ergriffen und Sie werden bei Bedarf benachrichtigt:
- Hardwarefehler: Ausfälle der Stromversorgung, Lüfterausfälle, Überhitzung oder Laufwerksfehler, z. B. wenn ein Laufwerk den Schwellenwert für die Reserve oder das Ende der Lebensdauer erreicht. Google überwacht kontinuierlich den Zustand seiner internen Speichergeräte und löst einen automatischen Austausch aus, wenn ein Speichergerät ausfällt.
- Verbindungsprobleme: Vollständiger Verbindungsverlust zwischen der Distributed Cloud-verbundenen Zone und Google Cloud.
- Zustand der Steuerungsebene: Fehler in der Kubernetes-Steuerungsebene oder in von Google verwalteten Systemdiensten.
- Upgradefehler: Automatisierte Upgradeprozesse, die hängen bleiben oder fehlschlagen.
Benachrichtigungen konfigurieren
Konfigurieren Sie eigene Benachrichtigungsrichtlinien in Cloud Monitoring oder Prometheus für Probleme, die sich auf Ihre Arbeitslasten oder die lokale Umgebung auswirken.
Wenn Sie Benachrichtigungen in Cloud Monitoring konfigurieren möchten, verwenden Sie die Google Cloud Console oder die Cloud Monitoring API. Eine ausführliche Anleitung finden Sie unter Benachrichtigungsrichtlinien erstellen. Sie können Benachrichtigungsrichtlinien auf Grundlage der unter Logs und Messwerte dokumentierten Messwerte erstellen.
Wenn Sie Prometheus zum Erfassen von Messwerten verwenden, definieren Sie in Ihrer Prometheus-Konfiguration standardmäßige Prometheus-Benachrichtigungsregeln.
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 eine Benachrichtigung 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 | Laufwerksnutzung nähert sich der Kapazität oder hohe Arbeitsspeicher- oder CPU-Auslastung bei Arbeitslasten | Prometheus | Legen Sie für Containerarbeitslasten Schwellenwertbenachrichtigungen für container_cpu_usage_seconds_total und container_memory_working_set_bytes (von cAdvisor) fest, um Pods zu identifizieren, die sich ihren Ressourcenlimits nähern. |
| Cloud Monitoring | Überwachen Sie für den Maschinenspeicher den Messwert edgecontainer.googleapis.com/machine/disk/utilization für die Maschinenspeicherauslastung, um zu erkennen, wenn die Kapazität des Knotenspeichers fast erreicht ist. |
||
| Probleme mit dem lokalen Netzwerk | Verworfene Pakete an Netzwerkschnittstellen auf Maschinen | Cloud Monitoring | Prüfen Sie, ob der Messwert edgecontainer.googleapis.com/machine/network/up für die Netzwerkverfügbarkeit der Maschine 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.
|
|
| Maschineneustarts | Unerwartete Neustarts oder Herunterfahren von Maschinen | Cloud Monitoring | Benachrichtigungen mit edgecontainer.googleapis.com/machine/uptime- und edg/1.13.0/docs/ogleapis.com/machine/restart_count-Messwerten konfigurieren Weitere Informationen finden Sie unter Fehlerbehebung bei Maschinenneustarts. |
| Systemspeicher erschöpft | Der Systemspeicher ist voll. | Cloud Monitoring | Konfigurieren Sie Benachrichtigungen mit dem edgecontainer.googleapis.com/machine/disk/utilization/1.13.0/docs/Weitere Informationen finden Sie unter Systemspeicherzustand überwachen. |
Mit Distributed Cloud verbundene Hardware wird von Google verwaltet. Sie haben keinen SSH-Zugriff auf die Maschinen und keine Kontrolle über das Hostbetriebssystem. Wenn Benachrichtigungen auf der Grundlage von Messwerten auf Maschinenebene ausgelöst werden, z. B. Netzwerkverbindung oder Neustarts, beschränken sich Ihre Aufgaben auf die Überprüfung der physischen Stromversorgung, der Verkabelung und der lokalen Netzwerk- und Firewallkonfigurationen oder die Eskalation des Problems an den Google-Support.