Anzahl der Prozesse auf einer VM überwachen

In diesem Dokument wird beschrieben, wie Sie mit der Google Cloud Console eine Benachrichtigungsrichtlinie erstellen, die die Anzahl der Prozesse überwacht, die auf Ihren virtuellen Maschinen (VMs) ausgeführt werden und die von Ihnen angegebenen Bedingungen erfüllen. Diese Art von Benachrichtigungsrichtlinie wird manchmal als process-health-Benachrichtigungsrichtlinie bezeichnet. Sie können beispielsweise die Anzahl der Prozesse zählen, die vom Root-Nutzer gestartet wurden. Sie können auch die Anzahl der Prozesse zählen, deren Aufrufbefehl einen bestimmten String enthielt. Mit einer Benachrichtigungsrichtlinie können Sie sich benachrichtigen lassen, wenn die Anzahl der Prozesse über oder unter einem Grenzwert liegt. Informationen darüber, welche Prozesse überwacht werden können, finden Sie unter Überwachte Prozesse.

Dieser Inhalt gilt nicht für logbasierte Benachrichtigungsrichtlinien. Informationen zu logbasierten Benachrichtigungsrichtlinien, die Sie benachrichtigen, wenn eine bestimmte Nachricht in Ihren Logs angezeigt wird, finden Sie unter Logs überwachen.

Hinweise

  1. Bitten Sie Ihren Administrator, Ihnen die IAM-Rolle Monitoring Editor (roles/monitoring.editor) für Ihr Projekt zu gewähren, damit Sie die Berechtigungen erhalten, die Sie zum Erstellen und Ändern von Benachrichtigungsrichtlinien über die Google Cloud Console benötigen. Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff verwalten.

    Möglicherweise können Sie die erforderlichen Berechtigungen auch über benutzerdefinierte Rollen oder andere vordefinierte Rollen erhalten.

    Weitere Informationen zu Cloud Monitoring-Rollen finden Sie unter Zugriff mit Identity and Access Management steuern.

  2. Machen Sie sich mit den allgemeinen Konzepten von Benachrichtigungsrichtlinien vertraut. Informationen zu diesen Themen finden Sie in der Benachrichtigungsübersicht.

  3. Konfigurieren Sie die Benachrichtigungskanäle, die Sie zum Empfangen von Benachrichtigungen verwenden möchten. Aus Gründen der Redundanz empfehlen wir auch, mehrere Arten von Benachrichtigungskanälen zu erstellen. Informationen zu diesen Schritten finden Sie unter Benachrichtigungskanäle erstellen und verwalten.

  4. Prüfen Sie, ob der Ops-Agent auf den VMs installiert ist, die Sie überwachen möchten. Weitere Informationen finden Sie unter Google Cloud-Beobachtbarkeits-Agents.

Benachrichtigungsrichtlinie erstellen

Zum Erstellen einer Benachrichtigungsrichtlinie, die die Anzahl der Prozesse überwacht, die auf einer VM mithilfe der Cloud Monitoring API ausgeführt werden, muss der Filterausdruck eine Zeitachsenauswahl angeben. Ein Beispiel für eine JSON-Datei, in der diese Auswahl festgelegt ist, finden Sie unter Richtlinie zur Prozessintegrität.

So erstellen Sie eine Benachrichtigungsrichtlinie, die die Anzahl der Prozesse überwacht, die auf einer VM ausgeführt werden:

  1. Wählen Sie im Navigationsbereich der Google Cloud Console Monitoring und anschließend  Benachrichtigungen aus:

    Zu Benachrichtigungen

  2. Wählen Sie Richtlinie erstellen aus.
  3. Wählen Sie ? in der Abschnittsüberschrift Messwert wählen und wählen Sie dann in der Kurzinfo Direkter Filtermodus aus.

  4. Geben Sie einen Monitoringfilter ein.

    Wenn Sie beispielsweise die Anzahl der Prozesse zählen möchten, die auf Compute Engine-VM-Instanzen ausgeführt werden, deren Name nginx enthält, geben Sie Folgendes ein:

    select_process_count("monitoring.regex.full_match(\".*nginx.*\")")
    resource.type="gce_instance"
    

    Syntaxinformationen finden Sie in folgenden Ressourcen:

    • Informationen zu Filtern, die zum Zählen von auf virtuellen Maschinen ausgeführten Prozessen genutzt werden, finden Sie unter Prozessintegritäts-Filter.
    • Informationen zur allgemeinen Syntax finden Sie unter Filter überwachen.
  5. Vervollständigen Sie die Benachrichtigungsrichtlinie. Sie müssen den Bedingungsauslöser, die Benachrichtigungen, die Dokumentation und den Richtliniennamen konfigurieren. Klicken Sie dann auf Richtlinie erstellen.

    Weitere Informationen finden Sie unter Benachrichtigungsrichtlinien für Messwertgrenzwerte erstellen.

Überwachte Prozesse

Nicht alle Prozesse, die in Ihrem System ausgeführt werden, können durch eine Bedingung des Typs "Prozessintegrität" überwacht werden. Diese Bedingung wählt die zu überwachenden Prozesse mithilfe eines regulären Ausdrucks aus, der auf die Befehlszeile angewendet wird, die den Prozess aufgerufen hat. Wenn das Befehlszeilenfeld nicht verfügbar ist, kann der Prozess nicht überwacht werden.

Eine Möglichkeit festzustellen, ob ein Prozess durch eine Prozessintegritätsbedingung überwacht werden kann, besteht darin, sich die aktiven Prozesse anzusehen. Auf einem Linux-System können Sie beispielsweise den Befehl ps verwenden:

    ps aux | grep nfs
    USER      PID  %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
    root      1598  0.0  0.0      0     0 ?        S<   Oct25   0:00 [nfsd4]
    root      1639  0.0  0.0      0     0 ?        S    Oct25   2:33 [nfsd]
    root      1640  0.0  0.0      0     0 ?        S    Oct25   2:36 [nfsd]

Wenn ein COMMAND-Eintrag in eckige Klammern gesetzt ist, z. B. [nfsd], sind die Befehlszeileninformationen für den Prozess nicht verfügbar. In diesem Fall können Sie den Prozess nicht mit Cloud Monitoring überwachen.