Zustand überwachen

Nutzerverwaltete Notebookinstanzen bieten mehrere Methoden zum Monitoring des Zustands Ihrer Notebooks. Auf dieser Seite wird die Verwendung der einzelnen Methoden beschrieben.

Methoden zur Überwachung des Systemstatus

Sie können den Zustand Ihrer nutzerverwalteten Notebookinstanzen auf verschiedene Arten überwachen. Auf dieser Seite wird die Verwendung der folgenden Methoden beschrieben:

gcloud-Tool einrichten

Wenn Sie einige Schritte auf dieser Seite ausführen möchten, müssen Sie das gcloud-Befehlszeilentool verwenden. Installieren und initialisieren Sie das Cloud SDK.

Gastattribute verwenden, um den Systemzustand zu melden

Sie können Gastattribute verwenden, um den Systemzustand der folgenden Hauptdienste zu melden:

  • Docker-Dienst
  • Docker-Reverse-Proxy-Agent
  • Jupyter-Dienst
  • Jupyter API

Gastattribute sind ein spezieller Typ benutzerdefinierter Metadaten, in den Anwendungen schreiben können, während sie auf der nutzerverwalteten Notebookinstanz ausgeführt werden. Weitere Informationen zu Gastattributen finden Sie unter Metadaten speichern und abrufen.

Wie Instanzen Gastattribute verwenden, um den Systemzustand zu melden

Der notebooks-collection-agent-Dienst führt einen Python-Prozess im Hintergrund aus, der den Status der Hauptdienste der nutzerverwalteten Notebookinstanz prüft und die Gastattribute als 1 aktualisiert, wenn keine Probleme erkannt werden, oder als -1, wenn ein Fehler erkannt wird.

Wenn Sie den Dienst notebooks-collection-agent verwenden möchten, um Berichte zum Zustand Ihrer nutzerverwalteten Notebookinstanz zu erstellen, müssen Sie die folgenden Gastattribute bei der Erstellung einer nutzerverwalteten Notebookinstanz aktivieren:

  • enable-guest-attributes=TRUE: Aktiviert Gastattribute auf Ihrer nutzerverwalteten Notebookinstanz. Alle neuen Instanzen aktivieren dieses Attribut standardmäßig.
  • report-system-health=TRUE: Erfasst die Ergebnisse der Systemdiagnose in Ihren Gastattributen.

Der notebooks-collection-agent-Dienst benötigt keine speziellen Berechtigungen, um in die Gastattribute der Instanz zu schreiben.

Nutzerverwaltete Notebookinstanz mit aktivierten Systemstatus-Gastattributen erstellen

Wenn Sie Gastattribute für den Systemstatus verwenden möchten, um den Status der nutzerverwalteten Notebookinstanz zu melden, müssen Sie beim Erstellen einer nutzerverwalteten Notebookinstanz das Kästchen Systemzustandsbericht aktivieren anklicken.

Sie können den Systemzustandsbericht entweder mit der Google Cloud Console, mit notebook.new (https://notebook.new) oder über das gcloud-Befehlszeilentool aktivieren.

Führen Sie die Schritte unter Hinweis aus, um ein Google Cloud-Projekt zu erstellen und die Notebooks API zu aktivieren.

Console

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

    Zu "Notebooks"

  2. Achten Sie darauf, dass der Tab Nutzerverwaltete Notebooks ausgewählt ist.

  3. Klicken Sie auf  Neues Notebook und wählen Sie dann Instanz anpassen aus.

  4. Die Seite Nutzerverwaltetes Notebook erstellen wird geöffnet.

    Informationen zum Aktivieren des Systemzustandsberichts finden Sie unter Umgebungsupgrade und Systemzustand.

notebook.new

  1. Gehen Sie zu notebook.new (https://notebook.new).

  2. Das Dialogfeld Nutzerverwaltetes Notebook erstellen wird geöffnet.

    Informationen zum Aktivieren des Systemzustandsberichts finden Sie unter Umgebungsupgrade und Systemzustand.

gcloud

  1. Geben Sie in Cloud Shell oder in einer Umgebung, in der das Cloud SDK installiert ist, den folgenden Befehl des gcloud-Befehlszeilentools ein.

     gcloud notebooks instances create INSTANCE_NAME \
         --vm-image-project=deeplearning-platform-release \
         --vm-image-family=IMAGE_FAMILY \
         --machine-type=MACHINE_TYPE \
         --location=ZONE \
         --metadata=enable-guest-attributes=TRUE,report-system-health=TRUE
    

    Dabei gilt:

    • INSTANCE_NAME: Name der neuen Instanz
    • IMAGE_FAMILY: der Image-Familienname, den Sie zum Erstellen Ihrer Instanz verwenden möchten
    • MACHINE_TYPE: der Maschinentyp der VM Ihrer Instanz, z. B. n1-standard-4
    • ZONE: die Zone, in der sich die neue Instanz befinden soll, z. B. us-west1-a
  2. Greifen Sie über die Cloud Console auf Ihre Instanz zu.

Systemzustand durch Gastattribute überwachen

Für nutzerverwaltete Notebookinstanzen, für die die zugehörigen Gastattribute aktiviert sind, können Sie die Werte der Gastattribute zum Systemzustands mithilfe der Google Cloud Console, des gcloud-Befehlszeilentools oder der Notebooks API abrufen.

Console

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

    Zu "Notebooks"

  2. Klicken Sie auf dem Tab Nutzerverwaltete Notebooks auf den Namen des Notebooks, für das Sie den Systemstatus abrufen möchten.

  3. Klicken Sie auf der Seite Notebookdetails auf den Tab Status. Prüfen Sie den Status Ihrer Instanz und der zugehörigen Hauptdienste.

gcloud

 gcloud compute instances get-guest-attributes INSTANCE_NAME \
     --zone ZONE

Dabei gilt:

  • INSTANCE_NAME: durch den Namen der Instanz
  • ZONE: Zone, in der sich Ihre Instanz befindet.

    Wenn Ihre Hauptdienste fehlerfrei sind, sehen die Ergebnisse folgendermaßen aus. Der Wert 1 bedeutet, dass kein Ausfall erkannt wurde.

     NAMESPACE   KEY                         VALUE
     notebooks   docker_proxy_agent_status   1
     notebooks   docker_status               1
     notebooks   jupyterlab_api_status       1
     notebooks   jupyterlab_status           1
     notebooks   system-health               1
     notebooks   updated                     2020-10-01 17:00:00.12345
    

    Wenn einer der vier Hauptdienste fehlschlägt, meldet der Systemzustand den Wert -1, um einen Systemausfall anzuzeigen. In den meisten Fällen bedeutet ein Systemausfall, dass JupyterLab nicht zugänglich ist.

    Ein Beispiel für ein Ausfallergebnis könnte so aussehen:

     NAMESPACE   KEY                         VALUE
     notebooks   docker_proxy_agent_status   -1
     notebooks   docker_status               -1
     notebooks   jupyterlab_api_status       1
     notebooks   jupyterlab_status           1
     notebooks   system-health               -1
     notebooks   updated                     2020-10-01 17:00:00.12345
    

Notebooks API

Zum Monitoring des Systemzustands können Sie die Methode getInstanceHealth verwenden, um die Werte Ihrer Gastattribute abzurufen.

Im folgenden Beispiel wird gezeigt, wie das mit dem gcloud-Tool möglich ist.

gcloud notebooks instances is-healthy example-instance \
    --location=ZONE

Ersetzen Sie ZONE durch die Zone, in der sich die Instanz befindet, z. B. us-west1-a.

Wenn Ihre Hauptdienste fehlerfrei sind, sehen die Ergebnisse folgendermaßen aus. Der Wert 1 bedeutet, dass kein Ausfall erkannt wurde.

  {
          "health_state": HEALTHY,
          "docker-proxy-agent": 1,
          "docker-service": 1,
          "jupyter-service": 1,
          "jupyter-api": 1,
          "last-updated": "2020-10-01 17:00:30.12345"
  }

Ein Beispiel für ein Ausfallergebnis könnte so aussehen:

  {
          "healthy": UNHEALTHY,
          "docker-proxy-agent": 1,
          "docker-service": 1,
          "jupyter-service": -1,
          "jupyter-api": -1,
          "last-updated": "2020-10-01 17:00:30.12345"
  }

Benutzerdefinierte Messwerte an Monitoring melden

Mit nutzerverwalteten Notebookinstanzen können Sie den Systemstatus und JupyterLab-Messwerte erfassen und an Cloud Monitoring melden. Diese benutzerdefinierten Messwerte unterscheiden sich von den Standardmesswerten, die gemeldet werden, wenn Sie Monitoring auf Ihrer nutzerverwalteten Notebookinstanz installieren.

Zu den an Monitoring gemeldeten benutzerdefinierten Messwerten gehören:

  • Der Systemzustand dieser Hauptdienste für nutzerverwaltete Notebooks:

    • Docker-Dienst
    • Docker-Reverse-Proxy-Agent
    • Jupyter-Dienst
    • Jupyter API
  • Die folgenden JupyterLab-Messwerte:

    • Anzahl der Kernel
    • Anzahl der Terminals
    • Anzahl Verbindungen
    • Anzahl der Sitzungen
    • Maximaler Arbeitsspeicher
    • Großer Speicher
    • Aktueller Arbeitsspeicher

Wie Instanzen benutzerdefinierte Messwerte an Monitoring melden

Wenn Sie benutzerdefinierte Messwerte an Monitoring melden möchten, müssen Sie die Metadateneinstellung report-notebook-metrics beim Erstellen einer nutzerverwalteten Notebookinstanz aktivieren.

Sie müssen außerdem dafür sorgen, dass das Dienstkonto der nutzerverwalteten Notebookinstanz die Berechtigung „Monitoring-Messwert-Autor“ (roles/monitoring.metricWriter) hat. Weitere Informationen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.

Nutzerverwaltete Notebookinstanz erstellen, die benutzerdefinierte Messwerte an Monitoring meldet

Wenn Sie benutzerdefinierte Messwerte an Monitoring melden möchten, müssen Sie das Kästchen Benutzerdefinierte Messwerte an Cloud Monitoring melden anklicken, wenn Sie eine nutzerverwaltete Notebookinstanz erstellen.

Sie können das Melden von benutzerdefinierten Messwerten an Cloud Monitoring entweder über die Google Cloud Console, notebook.new (https://notebook.new) oder das gcloud-Befehlszeilentool aktivieren.

Führen Sie die Schritte unter Hinweis aus, um ein Google Cloud-Projekt zu erstellen und die Notebooks API zu aktivieren.

Console

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

    Zu "Notebooks"

  2. Achten Sie darauf, dass der Tab Nutzerverwaltete Notebooks ausgewählt ist.

  3. Klicken Sie auf  Neues Notebook und wählen Sie dann Instanz anpassen aus.

  4. Die Seite Nutzerverwaltetes Notebook erstellen wird geöffnet.

    Informationen zum Aktivieren von des Meldens von benutzerdefinierten Messwerten an Cloud Monitoring finden Sie unter Umgebungsupgrade und Systemzustand.

notebook.new

  1. Gehen Sie zu notebook.new (https://notebook.new).

  2. Das Dialogfeld Nutzerverwaltetes Notebook erstellen wird geöffnet.

    Informationen zum Aktivieren von des Meldens von benutzerdefinierten Messwerten an Cloud Monitoring finden Sie unter Umgebungsupgrade und Systemzustand.

gcloud

  1. Geben Sie in Cloud Shell oder in einer Umgebung, in der das Cloud SDK installiert ist, den folgenden Befehl des gcloud-Befehlszeilentools ein.

     gcloud notebooks instances create INSTANCE_NAME \
         --vm-image-project=deeplearning-platform-release \
         --vm-image-family=IMAGE_FAMILY \
         --machine-type=MACHINE_TYPE \
         --location=ZONE \
         --metadata=report-notebook-metrics=TRUE
    

    Dabei gilt:

    • INSTANCE_NAME: Name der neuen Instanz
    • IMAGE_FAMILY: der Image-Familienname, den Sie zum Erstellen Ihrer Instanz verwenden möchten
    • MACHINE_TYPE: der Maschinentyp der VM Ihrer Instanz, z. B. n1-standard-4
    • ZONE: die Zone, in der sich die neue Instanz befinden soll, z. B. us-west1-a
  2. Greifen Sie über die Cloud Console auf Ihre Instanz zu.

Dem Dienstkonto die Berechtigungen von „Monitoring-Messwert-Autor“ erteilen

Nachdem Sie die neue nutzerverwaltete Notebookinstanz erstellt haben, erteilen Sie dem Dienstkonto für die nutzerverwaltete Notebookinstanz die Berechtigungen von „Monitoring-Messwert-Autor“ (roles/monitoring.metricWriter). Weitere Informationen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.

Benutzerdefinierte Messwerte mit Monitoring beobachten

Für nutzerverwaltete Notebookinstanzen, für die das Melden benutzerdefinierter Messwerte aktiviert ist, können Sie Ihre benutzerdefinierten Messwerte mithilfe der Google Cloud Console überwachen.

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

    Zu "Notebooks"

  2. Klicken Sie auf dem Tab Nutzerverwaltete Notebooks auf den Namen des Notebooks, dessen benutzerdefinierte Messwerte Sie sich ansehen möchten.

  3. Klicken Sie auf der Seite Notebookdetails auf den Tab Monitoring. Sehen Sie sich die benutzerdefinierten Messwerte für Ihre Instanz an.

Monitoring auf einer Instanz installieren

Mit dieser Option wird Monitoring automatisch installiert. Die Installation erfordert 256 MB Speicherplatz. Eine Internetverbindung ist erforderlich, damit die Messwerte an Monitoring gemeldet werden können.

Wie Instanzen System- und Anwendungsmesswerte melden

Wenn Sie System- und Anwendungsmesswerte melden möchten, indem Sie Cloud Monitoring auf Ihrer nutzerverwalteten Notebookinstanz installieren, müssen Sie das Kästchen Cloud Monitoring-Agent installieren anklicken, wenn Sie eine nutzerverwaltete Notebookinstanz erstellen. Diese Messwerte unterscheiden sich von den benutzerdefinierten Messwerten, die gemeldet werden, wenn Sie die Metadateneinstellung report-notebook-metrics aktivieren.

Nutzerverwaltete Notebookinstanz erstellen, die System- und Anwendungsmesswerte an Monitoring meldet

Sie können Monitoring auf Ihrer nutzerverwalteten Notebookinstanz entweder über die Google Cloud Console, mit notebook.new (https://notebook.new) oder mit dem gcloud-Befehlszeilentool installieren.

Führen Sie die Schritte unter Hinweis aus, um ein Google Cloud-Projekt zu erstellen und die Notebooks API zu aktivieren.

Console

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

    Zu "Notebooks"

  2. Achten Sie darauf, dass der Tab Nutzerverwaltete Notebooks ausgewählt ist.

  3. Klicken Sie auf  Neues Notebook und wählen Sie dann Instanz anpassen aus.

  4. Die Seite Nutzerverwaltetes Notebook erstellen wird geöffnet.

    Informationen zur Installation des Monitoring-Agents finden Sie unter Umgebungsupgrade und Systemzustand.

notebook.new

  1. Gehen Sie zu notebook.new (https://notebook.new).

  2. Das Dialogfeld Nutzerverwaltetes Notebook erstellen wird geöffnet.

    Informationen zur Installation des Monitoring-Agents finden Sie unter Umgebungsupgrade und Systemzustand.

gcloud

  1. Geben Sie in Cloud Shell oder in einer Umgebung, in der das Cloud SDK installiert ist, den folgenden Befehl des gcloud-Befehlszeilentools ein.

     gcloud notebooks instances create INSTANCE_NAME \
         --vm-image-project=deeplearning-platform-release \
         --vm-image-family=IMAGE_FAMILY \
         --machine-type=MACHINE_TYPE \
         --location=ZONE \
         --metadata=install-monitoring-agent=TRUE
    

    Dabei gilt:

    • INSTANCE_NAME: Name der neuen Instanz
    • IMAGE_FAMILY: der Image-Familienname, den Sie zum Erstellen Ihrer Instanz verwenden möchten
    • MACHINE_TYPE: der Maschinentyp der VM Ihrer Instanz, z. B. n1-standard-4
    • ZONE: die Zone, in der sich die neue Instanz befinden soll, z. B. us-west1-a
  2. Greifen Sie über die Cloud Console auf Ihre Instanz zu.

System- und Anwendungsmesswerte über Monitoring überwachen

Für nutzerverwaltete Notebookinstanzen, auf denen Monitoring installiert ist, können Sie Ihre System- und Anwendungsmesswerte mithilfe der Google Cloud Console überwachen:

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

    Zu "Notebooks"

  2. Klicken Sie auf dem Tab Nutzerverwaltete Notebooks auf den Namen des Notebooks, für das Sie die System- und Anwendungsmesswerte aufrufen möchten.

  3. Klicken Sie auf der Seite Notebookdetails auf den Tab Monitoring. Sehen Sie sich die System- und Anwendungsmesswerte für Ihre Instanz an.

Systemzustand mit dem Diagnosetool überwachen

Nutzerverwaltete Notebookinstanzen enthalten ein integriertes Diagnosetool, mit dem Sie den Systemzustand Ihrer Instanzen überwachen können.

Vom Diagnosetool ausgeführte Aufgaben

Das Diagnosetool führt die folgenden Aufgaben aus:

  • Verifiziert den Status der folgenden nutzerverwalteten Notebook-Hauptdienste:

    • Docker-Dienst
    • Docker-Reverse-Proxy-Agent
    • Jupyter-Dienst
    • Jupyter API
  • Prüft, ob der Speicherplatz für Boot- und Datenlaufwerke über einen Grenzwert von 85 % hinaus verwendet wird.

  • Installiert lsof (Internetverbindung erforderlich).

  • Erfasst die folgenden Instanzlogs:

    • Netzwerkinformationen (ifconfig, netstat)
    • Logs im Ordner /var/log/
    • Docker-Statusinformationen
    • lsof-Daten (geöffnete Dateien)
    • Docker-Dienststatus
    • Status des Proxy-Reverse-Agents
    • Jupyter-Dienststatus
    • Jupyter API-Status
    • Konfigurationsdatei für den Proxy-Agent
    • Python-Prozesse
  • Führt die folgenden Befehle aus und erfasst die Ergebnisse:

    • pip freeze
    • conda list
    • gcloud compute instances describe INSTANCE_NAME
    • gcloud config list

Diagnosetool ausführen

Führen Sie die folgenden Schritte aus, um das Diagnosetool auszuführen:

  1. Stellen Sie eine SSH-Verbindung zur nutzerverwalteten Notebookinstanz her.

  2. Führen Sie im SSH-Terminal die folgenden Befehle aus:

    sudo -i
    cd /opt/deeplearning/bin/
    ./diagnostic_tool.sh
    
  3. Das Diagnosetool erfasst die Logs, komprimiert sie in einer .tar.gz-Datei und speichert die Datei im Ordner /tmp/.

  4. Extrahieren Sie die Datei und bewerten Sie den Inhalt. Die Inhalte umfassen:

    • log-Ordner: Logs aus dem Ordner var/log/
    • report.log: Ausgabe für alle erfassten Befehle
    • proxy-agent-config.json: Informationen zur Proxykonfiguration
    • Docker-Log: Eine -json.log-Datei, die Docker-Containerlogs enthält

Sie können die folgenden Optionen mit dem Diagnosetool verwenden.

Option Beschreibung
-r Eine Reparaturoption, die versucht, den Status fehlgeschlagener Hauptdienste für nutzerverwaltete Notebooks wiederherzustellen
-s Ausführung ohne Bestätigung
-b Lädt die Datei .tar.gz in einen Cloud Storage-Bucket hoch
-v Debugging-Option für die Fehlerbehebung im Fall von Ausfällen
-c Erfasst 30 Sekunden Paket-Traffic in Ihre nutzerverwaltete Notebookinstanz und filtert SSH
-d Ein Zielordner, in dem die Logs gespeichert werden sollen
-h Hilfe

Nächste Schritte