Proaktives Monitoring mit Cloud Monitoring durchführen


Wenn Sie erst reagieren, nachdem Probleme aufgetreten sind, kann es zu Ausfallzeiten kommen. Damit Ihr System in Google Kubernetes Engine (GKE) stabil bleibt, müssen Sie potenzielle Probleme bevor sie sich auf Ihre Nutzer auswirken erkennen.

Auf dieser Seite erfahren Sie, wie Sie Ihre GKE-Umgebung mit Cloud Monitoring proaktiv überwachen können, indem Sie Leistungskennzahlen im Blick behalten, Trends visualisieren und Benachrichtigungen einrichten, um Probleme wie steigende Fehlerraten oder Ressourcenbeschränkungen zu erkennen.

Diese Informationen sind wichtig für Plattformadministratoren und ‑operatoren, die für die Integrität, Zuverlässigkeit und Effizienz der GKE-Umgebung verantwortlich sind. Außerdem können Anwendungsentwickler so die Leistung ihrer App unter realen Bedingungen nachvollziehen, Regressionen bei Bereitstellungen erkennen und Optimierungsmöglichkeiten ermitteln. Weitere Informationen zu den gängigen Rollen und Beispielaufgaben, auf die wir in Google Cloud -Inhalten verweisen, finden Sie unter Häufig verwendete GKE-Nutzerrollen und -Aufgaben.

Nützliche Messwerte ansehen

GKE sendet automatisch eine Reihe von Messwerten an Cloud Monitoring. In den folgenden Abschnitten sind einige der wichtigsten Messwerte für die Fehlerbehebung aufgeführt:

Eine vollständige Liste der GKE-Messwerte finden Sie unter GKE-Systemmesswerte.

Messwerte für Containerleistung und -zustand

Beginnen Sie mit diesen Messwerten, wenn Sie ein Problem mit einer bestimmten App vermuten. Mit diesen Messwerten können Sie den Zustand Ihrer App überwachen und beispielsweise feststellen, ob ein Container häufig neu gestartet wird, der Arbeitsspeicher nicht ausreicht oder die CPU-Grenzwerte überschritten werden.

Messwert Beschreibung Fehlerbehebung bei Signifikanz
kubernetes.io/container/cpu/limit_utilization Der Bruchteil des CPU-Limits, der aktuell auf der Instanz verwendet wird. Dieser Wert darf größer als 1 sein, da ein Container sein CPU-Limit möglicherweise überschreiten darf. Gibt an, ob die CPU gedrosselt wird. Hohe Werte können zu Leistungseinbußen führen.
kubernetes.io/container/memory/limit_utilization Der Bruchteil des Speicherlimits, der aktuell auf der Instanz verwendet wird. Dieser Wert darf nicht größer als 1 sein. Überwacht das Risiko von OutOfMemory-Fehlern (OOM).
kubernetes.io/container/memory/used_bytes Tatsächlich vom Container belegter Arbeitsspeicher in Byte. Verfolgt den Arbeitsspeicherverbrauch, um potenzielle Speicherlecks oder das Risiko von OOM-Fehlern zu erkennen.
kubernetes.io/container/memory/page_fault_count Anzahl der Seitenfehler nach Typ: groß und klein. Weist auf einen erheblichen Arbeitsspeicherdruck hin. Schwerwiegende Seitenfehler bedeuten, dass der Arbeitsspeicher vom Laufwerk gelesen wird (Swapping), auch wenn die Arbeitsspeicherlimits nicht erreicht sind.
kubernetes.io/container/restart_count Anzahl der Containerneustarts. Hebt potenzielle Probleme wie abstürzende Apps, Fehlkonfigurationen oder Ressourcenerschöpfung durch eine hohe oder steigende Anzahl von Neustarts hervor.
kubernetes.io/container/ephemeral_storage/used_bytes Nutzung des lokalen flüchtigen Speichers in Byte. Überwacht die temporäre Laufwerknutzung, um zu verhindern, dass Pods aufgrund von vollem flüchtigem Speicher entfernt werden.
kubernetes.io/container/cpu/request_utilization Der Bruchteil der angeforderten CPU, der aktuell auf der Instanz verwendet wird. Dieser Wert darf größer als 1 sein, da die Auslastung die Anfrage überschreiten kann. Identifiziert über- oder unterdimensionierte CPU-Anfragen, damit Sie die Ressourcenzuweisung optimieren können.
kubernetes.io/container/memory/request_utilization Der Bruchteil des angeforderten Speichers, der aktuell auf der Instanz verwendet wird. Dieser Wert darf größer als 1 sein, da die Auslastung die Anfrage überschreiten kann. Identifiziert über- oder unterdimensionierte Arbeitsspeicheranforderungen, um die Planung zu verbessern und OOM-Fehler zu vermeiden.

Knotenleistungs- und ‑zustandsmesswerte

Sehen Sie sich diese Messwerte an, wenn Sie Probleme mit der zugrunde liegenden GKE-Infrastruktur diagnostizieren müssen. Diese Messwerte sind entscheidend, um den allgemeinen Zustand und die Kapazität Ihrer Knoten zu verstehen. Sie helfen Ihnen, zu untersuchen, ob der Knoten fehlerhaft ist oder unter Druck steht oder ob der Knoten genügend Arbeitsspeicher hat, um neue Pods zu planen.

Messwert Beschreibung Fehlerbehebung bei Signifikanz
kubernetes.io/node/cpu/allocatable_utilization Der Bruchteil der zuweisbaren CPU, der aktuell auf der Instanz verwendet wird. Gibt an, ob die Summe der Pod-Nutzung die verfügbaren CPU-Ressourcen des Knotens überlastet.
kubernetes.io/node/memory/allocatable_utilization Der Bruchteil des zuweisbaren Speichers, der aktuell auf der Instanz verwendet wird. Dieser Wert darf 1 nicht überschreiten, da die Nutzung nicht höher als die Anzahl der zuweisbaren Speicherbyte sein darf. Weist darauf hin, dass der Knoten nicht genügend Arbeitsspeicher für die Planung neuer Pods oder für den Betrieb vorhandener Pods hat, insbesondere wenn die Werte hoch sind.
kubernetes.io/node/status_condition (BETA) Bedingung eines Knotens aus dem Feld „Knotenstatusbedingung“. Meldet Knotenstatusbedingungen wie Ready, MemoryPressure oder DiskPressure.
kubernetes.io/node/ephemeral_storage/used_bytes Vom Knoten verwendete, lokale flüchtige Speicherbyte. Sie erhalten Warnungen bei hoher Nutzung des temporären Speichers, um Fehler beim Starten von Pods oder das Entfernen von Pods zu verhindern.
kubernetes.io/node/ephemeral_storage/inodes_free Anzahl der freien Indexknoten (Inodes) im lokalen flüchtigen Speicher. Überwacht die Anzahl der freien Inodes. Ein Mangel an Inodes kann Vorgänge stoppen, auch wenn Speicherplatz verfügbar ist.
kubernetes.io/node/interruption_count (BETA) Unterbrechungen sind Systementfernungen von Infrastruktur, während der Kunde die Kontrolle über diese Infrastruktur hat. Dieser Messwert gibt die aktuelle Anzahl der Unterbrechungen nach Typ und Grund an. Hier wird erklärt, warum ein Knoten aufgrund von Systementfernungen unerwartet verschwinden kann.

Leistungs- und Gesundheitsmesswerte für Pods

Mithilfe dieser Messwerte können Sie Probleme im Zusammenhang mit der Interaktion eines Pods mit seiner Umgebung beheben, z. B. Netzwerk- und Speicherprobleme. Verwenden Sie diese Messwerte, wenn Sie langsam startende Pods diagnostizieren, potenzielle Probleme mit der Netzwerkverbindung untersuchen oder den Speicher proaktiv verwalten müssen, um Schreibfehler aufgrund von vollen Volumes zu vermeiden.

Messwert Beschreibung Fehlerbehebung bei Signifikanz
kubernetes.io/pod/network/received_bytes_count Gesamtzahl der vom Pod über das Netzwerk empfangenen Byte. Erkennt ungewöhnliche Netzwerkaktivitäten (hoch oder niedrig), die auf App- oder Netzwerkprobleme hinweisen können.
kubernetes.io/pod/network/policy_event_count (BETA) Änderung der Anzahl der in der Datenebene beobachteten Netzwerkrichtlinienereignisse. Identifiziert Verbindungsprobleme, die durch Netzwerkrichtlinien verursacht werden.
kubernetes.io/pod/volume/utilization Der Bruchteil des Volumes, der aktuell von der Instanz belegt wird. Dieser Wert darf nicht größer als 1 sein, da die Auslastung den verfügbaren Gesamtspeicherplatz des Volumes nicht überschreiten darf. Ermöglicht die proaktive Verwaltung des Speicherplatzes von Volumes, indem gewarnt wird, wenn eine hohe Auslastung (nahe 1) zu Schreibfehlern führen könnte.
kubernetes.io/pod/latencies/pod_first_ready (BETA) Die End-to-End-Startlatenz des Pods (von „Created“ bis „Ready“), einschließlich des Abrufens von Images. Diagnostiziert Pods, die langsam starten.

Messwerte mit dem Metrics Explorer visualisieren

Um den Status Ihrer GKE-Umgebung zu visualisieren, können Sie mit dem Metrics Explorer Diagramme auf Grundlage von Messwerten erstellen.

So verwenden Sie den Metrics Explorer:

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

    Zum Metrics Explorer

  2. Wählen Sie im Feld Messwerte den Messwert aus, den Sie untersuchen möchten, oder geben Sie ihn ein.

  3. Sehen Sie sich die Ergebnisse an und beobachten Sie Trends im Zeitverlauf.

Wenn Sie beispielsweise den Arbeitsspeicherverbrauch von Pods in einem bestimmten Namespace untersuchen möchten, können Sie Folgendes tun:

  1. Wählen Sie in der Liste Messwert auswählen den Messwert kubernetes.io/container/memory/used_bytes aus und klicken Sie auf Übernehmen.
  2. Klicken Sie auf Filter hinzufügen und wählen Sie namespace_name aus.
  3. Wählen Sie in der Liste Wert den Namespace aus, den Sie untersuchen möchten.
  4. Wählen Sie im Feld Aggregation die Option Summe > pod_name aus und klicken Sie auf OK. Mit dieser Einstellung wird für jeden Pod eine separate Zeitachse angezeigt.
  5. Klicken Sie auf Diagramm speichern.

Das resultierende Diagramm zeigt die Speichernutzung für jeden Pod im Zeitverlauf. So können Sie Pods mit ungewöhnlich hohem oder sprunghaft ansteigendem Speicherverbrauch visuell erkennen.

Mit Metrics Explorer können Sie die Messwerte, die Sie sehen möchten, sehr flexibel erstellen. Weitere Informationen zu den erweiterten Optionen des Metrics Explorers finden Sie in der Cloud Monitoring-Dokumentation unter Diagramme mit dem Metrics Explorer erstellen.

Benachrichtigungen für die proaktive Problemerkennung erstellen

Wenn Sie Benachrichtigungen erhalten möchten, wenn etwas schiefgeht oder wenn Messwerte bestimmte Grenzwerte überschreiten, richten Sie Benachrichtigungsrichtlinien in Cloud Monitoring ein.

So richten Sie beispielsweise eine Benachrichtigungsrichtlinie ein, die Sie benachrichtigt, wenn das CPU-Limit des Containers fünf Minuten lang über 80% liegt:

  1. Rufen Sie in der Google Cloud -Console- die Seite Benachrichtigungen auf.

    Zu Benachrichtigungen

  2. Klicken Sie auf Richtlinie erstellen.

  3. Filtern Sie im Feld Messwert auswählen nach CPU limit utilization und wählen Sie dann den folgenden Messwert aus: kubernetes.io/container/cpu/limit_utilization.

  4. Klicken Sie auf Übernehmen.

  5. Lassen Sie das Feld Filter hinzufügen leer. Mit dieser Einstellung wird eine Benachrichtigung ausgelöst, wenn ein Cluster gegen den Schwellenwert verstößt.

  6. Führen Sie im Bereich Daten transformieren folgende Schritte aus:

    1. Wählen Sie in der Liste Rollierendes Fenster die Option 1 Minute aus. Mit dieser Einstellung berechnet Google Cloud jede Minute einen Durchschnittswert.
    2. Wählen Sie in der Liste Funktion für rollierendes Zeitfenster die Option Mittelwert aus.

      Bei beiden Einstellungen wird die CPU-Limit-Auslastung für jeden Container jede Minute gemittelt.

  7. Klicken Sie auf Weiter.

  8. Führen Sie im Abschnitt Benachrichtigung konfigurieren die folgenden Schritte aus:

    1. Wählen Sie als Bedingungstyp die Option Schwellenwert aus.
    2. Wählen Sie unter Benachrichtigungstrigger die Option Bei jedem Verstoß aus.
    3. Wählen Sie für Grenzwertposition die Option Über Grenzwert aus.
    4. Geben Sie für Grenzwert den Wert 0.8 ein. Dieser Wert stellt den 80‑%‑Schwellenwert dar, den Sie überwachen möchten.
    5. Klicken Sie auf Erweiterte Optionen.
    6. Wählen Sie in der Liste Retest window (Zeitraum für erneuten Test) die Option 5 min aus. Mit dieser Einstellung wird die Benachrichtigung nur ausgelöst, wenn die CPU-Auslastung über einen kontinuierlichen Zeitraum von fünf Minuten über 80 % bleibt. Dadurch werden Fehlalarme durch kurze Spitzen reduziert.
    7. Geben Sie im Feld Bedingungsname einen aussagekräftigen Namen für die Bedingung ein.
    8. Klicken Sie auf Weiter.
  9. Führen Sie im Bereich Benachrichtigungen konfigurieren und Benachrichtigung fertigstellen die folgenden Schritte aus:

    1. Wählen Sie in der Liste Benachrichtigungskanäle den Kanal aus, über den Sie die Benachrichtigung erhalten möchten. Wenn Sie keinen Kanal haben, klicken Sie auf Benachrichtigungskanäle verwalten, um einen zu erstellen.
    2. Geben Sie im Feld Benachrichtigungsrichtlinie benennen einen eindeutigen und aussagekräftigen Namen für die Richtlinie ein.
    3. Behalten Sie in allen anderen Feldern die Standardwerte bei.
    4. Klicken Sie auf Weiter.
  10. Prüfen Sie die Richtlinie. Wenn alles korrekt aussieht, klicken Sie auf Richtlinie erstellen.

Weitere Informationen zum Erstellen von Benachrichtigungen finden Sie in der Cloud Monitoring-Dokumentation unter Benachrichtigungen – Übersicht.

Nächste Schritte