Auf dieser Seite werden Schritte zur Fehlerbehebung beschrieben, die bei Problemen mit Vertex AI Workbench hilfreich sein können.
Informationen zur Verwendung anderer Komponenten von Vertex AI finden Sie unter Fehlerbehebung für Vertex AI.
Klicken Sie auf ein Thema, um die Inhalte dieser Seite zu filtern:
Nützliche Vorgehensweisen
In diesem Abschnitt werden Verfahren beschrieben, die Ihnen helfen können.
SSH verwenden, um eine Verbindung zu Ihrer nutzerverwalteten Notebookinstanz herzustellen
Verwenden Sie SSH, um eine Verbindung zu Ihrer Instanz herzustellen. Geben Sie dafür folgenden Befehl in Cloud Shell oder in einer Umgebung ein, in der das Google Cloud CLI installiert ist.
gcloud compute ssh --project PROJECT_ID \
--zone ZONE \
INSTANCE_NAME -- -L 8080:localhost:8080
Dabei gilt:
PROJECT_ID
: Ihre Projekt-IDZONE
: Die Google Cloud-Zone, in der sich die Instanz befindet.INSTANCE_NAME
: Der Name Ihrer Instanz.
Sie können auch eine Verbindung zu Ihrer Instanz herstellen, indem Sie die Compute Engine-Detailseite der Instanz öffnen und dann auf die Schaltfläche SSH klicken.
Beim Inverting-Proxy-Server neu registrieren
Wenn Sie die nutzerverwaltete Notebookinstanz noch einmal beim internen Inverting-Proxy-Server registrieren möchten, können Sie die VM auf der Seite Nutzerverwaltete Notebooks anhalten und starten oder SSH verwenden, um eine Verbindung zu Ihrer nutzerverwalteten Notebookinstanz herzustellen, und dann Folgendes eingeben:
cd /opt/deeplearning/bin sudo ./attempt-register-vm-on-proxy.sh
Docker-Dienststatus überprüfen
Prüfen Sie den Docker-Dienststatus, indem Sie SSH verwenden, um eine Verbindung zu Ihrer nutzerverwalteten Notebookinstanz herzustellen, und dann Folgendes eingeben:
sudo service docker status
Prüfen, ob der Backverting-Proxy-Agent ausgeführt wird
Sie können prüfen, ob der Notebook-Inverting-Proxy-Agent ausgeführt wird. Stellen Sie dazu mit SSH eine Verbindung zu Ihrer nutzerverwalteten Notebookinstanz her und geben Sie Folgendes ein:
# Confirm Inverting Proxy agent Docker container is running (proxy-agent) sudo docker ps # Verify State.Status is running and State.Running is true. sudo docker inspect proxy-agent # Grab logs sudo docker logs proxy-agent
Jupyter-Dienststatus prüfen und Logs erfassen
Prüfen Sie den Jupyter-Dienststatus, indem Sie SSH verwenden, um eine Verbindung zu Ihrer nutzerverwalteten Notebookinstanz herzustellen, und dann Folgendes eingeben:
sudo service jupyter status
So erfassen Sie Jupyter-Dienstlogs:
sudo journalctl -u jupyter.service --no-pager
Prüfen, ob die interne Jupyter API aktiv ist
Die Jupyter API sollte immer auf Port 8080 ausgeführt werden. Sie können dies prüfen, indem Sie in den Protokollen der Instanz nach einem Eintrag suchen, der in etwa so aussieht:
Jupyter Server ... running at: http://localhost:8080
Sie können prüfen, ob die interne Jupyter API aktiv ist. Stellen Sie dazu mit SSH eine Verbindung zu Ihrer nutzerverwalteten Notebookinstanz her und geben Sie Folgendes ein:
curl http://127.0.0.1:8080/api/kernelspecs
Sie können auch die Zeit messen, die die API für die Antwort benötigt, falls die Anfragen zu lange dauern:
time curl -V http://127.0.0.1:8080/api/status
time curl -V http://127.0.0.1:8080/api/kernels
time curl -V http://127.0.0.1:8080/api/connections
Wenn Sie diese Befehle in Ihrer Vertex AI Workbench-Instanz ausführen möchten, öffnen Sie JupyterLab und erstellen Sie ein neues Terminal.
Starten Sie den Docker-Dienst neu
Sie können den Docker-Dienst neu starten, indem Sie die VM über die Seite Nutzerverwaltete Notebooks anhalten und starten oder SSH verwenden, um eine Verbindung zu Ihrer nutzerverwalteten Notebookinstanz herzustellen, und dann Folgendes eingeben:
sudo service docker restart
Reverse-Proxy-Agent neu starten
Wenn Sie den Inverting-Proxy-Agent neu starten möchten, können Sie die VM über die Seite Nutzerverwaltete Notebooks anhalten und starten oder SSH verwenden, um eine Verbindung zu Ihrer nutzerverwalteten Notebookinstanz herzustellen, und dann Folgendes eingeben:
sudo docker restart proxy-agent
Jupyter-Dienst neu starten
Sie können den Jupyter-Dienst neu starten, indem Sie die VM über die Seite Nutzerverwaltete Notebooks anhalten und starten oder SSH verwenden, um eine Verbindung zu Ihrer nutzerverwalteten Notebookinstanz herzustellen, und dann Folgendes eingeben:
sudo service jupyter restart
Notebooks-Erfassungs-Agent neu starten
Der Notebooks Collection Agent-Dienst führt einen Python-Prozess im Hintergrund aus, der den Status der Hauptdienste der Vertex AI Workbench-Instanz prüft.
Sie können den Dienst „Notebooks Collection Agent“ neu starten, indem Sie die VM über die Google Cloud Console anhalten und starten oder SSH verwenden, um eine Verbindung zu Ihrer Vertex AI Workbench-Instanz herzustellen, und dann Folgendes eingeben:
sudo systemctl stop notebooks-collection-agent.service
gefolgt von:
sudo systemctl start notebooks-collection-agent.service
Wenn Sie diese Befehle in Ihrer Vertex AI Workbench-Instanz ausführen möchten, öffnen Sie JupyterLab und erstellen Sie ein neues Terminal.
Skript für Notebooks Collection Agent ändern
Wenn Sie auf das Script zugreifen und es bearbeiten möchten, öffnen Sie ein Terminal in unserer Instanz oder verbinden Sie sich per SSH mit Ihrer Vertex AI Workbench-Instanz und geben Sie Folgendes ein:
nano /opt/deeplearning/bin/notebooks_collection_agent.py
Denken Sie daran, die Datei nach der Bearbeitung zu speichern.
Anschließend müssen Sie den Dienst „Notebooks Collection Agent“ neu starten.
Prüfen, ob die Instanz die erforderlichen DNS-Domains auflösen kann
Sie können prüfen, ob die Instanz die erforderlichen DNS-Domains auflösen kann. Stellen Sie dazu mit SSH eine Verbindung zu Ihrer nutzerverwalteten Notebookinstanz her und geben Sie Folgendes ein:
host notebooks.googleapis.com
host *.notebooks.cloud.google.com
host *.notebooks.googleusercontent.com
host *.kernels.googleusercontent.com
oder:
curl --silent --output /dev/null "https://notebooks.cloud.google.com"; echo $?
Wenn für die Instanz Dataproc aktiviert ist, können Sie mit dem folgenden Befehl prüfen, ob die Instanz *.kernels.googleusercontent.com
auflöst:
curl --verbose -H "Authorization: Bearer $(gcloud auth print-access-token)" https://${PROJECT_NUMBER}-dot-${REGION}.kernels.googleusercontent.com/api/kernelspecs | jq .
Wenn Sie diese Befehle in Ihrer Vertex AI Workbench-Instanz ausführen möchten, öffnen Sie JupyterLab und erstellen Sie ein neues Terminal.
Kopie der Nutzerdaten auf einer Instanz erstellen
Führen Sie die folgenden Schritte aus, um eine Kopie der Nutzerdaten Ihrer Instanz in Cloud Storage zu speichern.
Cloud Storage-Bucket erstellen (optional)
Erstellen Sie in dem Projekt, in dem sich Ihre Instanz befindet und einen Cloud Storage-Bucket, in dem Sie Ihre Nutzerdaten speichern können. Wenn Sie bereits einen Cloud Storage-Bucket haben, überspringen Sie diesen Schritt.
-
Create a Cloud Storage bucket:
Replacegcloud storage buckets create gs://BUCKET_NAME
BUCKET_NAME
with a bucket name that meets the bucket naming requirements.
Nutzerdaten kopieren
Wählen Sie auf der JupyterLab-Benutzeroberfläche Ihrer verwalteten Notebookinstanz Datei >Neu > Terminal aus, um ein Terminalfenster zu öffnen. Bei nutzerverwalteten Notebookinstanzen können Sie stattdessen mit SSH eine Verbindung zum Terminal Ihrer Instanz herstellen.
Verwenden Sie die gcloud CLI, um Ihre Nutzerdaten in einen Cloud Storage-Bucket zu kopieren. Mit dem folgenden Beispielbefehl werden alle Dateien aus dem Verzeichnis
/home/jupyter/
Ihrer Instanz in ein Verzeichnis in einem Cloud Storage-Bucket kopiert.gcloud storage cp /home/jupyter/* gs://BUCKET_NAMEPATH --recursive
Ersetzen Sie dabei Folgendes:
BUCKET_NAME
: Der Name Ihres Cloud Storage-Buckets.PATH
: Der Pfad zu dem Verzeichnis, in das Sie Ihre Dateien kopieren möchten, z. B./copy/jupyter/
.
Problem mit einer Instanz, die nicht bereitgestellt wird, mit gcpdiag untersuchen
gcpdiag
ist ein Open-Source-Tool. Es ist kein offiziell unterstütztes Google Cloud-Produkt.
Mit dem Tool gcpdiag
können Sie Probleme mit Google Cloud-Projekten identifizieren und beheben. Weitere Informationen finden Sie im gcpdiag-Projekt auf GitHub.
gcpdiag
-Runbook werden mögliche Ursachen dafür untersucht, dass der Bereitstellungsstatus einer Vertex AI Workbench-Instanz nicht fortschreitet. Dabei werden die folgenden Bereiche geprüft:
- Status: Prüft den aktuellen Status der Instanz, um sicherzustellen, dass sie sich nicht in der Bereitstellung befindet und nicht angehalten oder aktiv ist.
- Compute Engine-VM-Bootlaufwerk-Image der Instanz: Wird geprüft, ob die Instanz mit einem benutzerdefinierten Container, einem offiziellen
workbench-instances
-Image, Deep Learning-VM-Images oder nicht unterstützten Images erstellt wurde, die dazu führen können, dass die Instanz im Bereitstellungsstatus hängen bleibt. - Benutzerdefinierte Scripts: Prüft, ob für die Instanz benutzerdefinierte Start- oder Post-Start-Scripts verwendet werden, die den Standard-Jupyter-Port ändern oder Abhängigkeiten aufheben, die dazu führen können, dass die Instanz im Bereitstellungsstatus hängen bleibt.
- Umgebungsversion: Prüft, ob für die Instanz die neueste Umgebungsversion verwendet wird, indem die Möglichkeit zum Upgrade geprüft wird. Bei älteren Versionen bleibt die Instanz möglicherweise im Bereitstellungsstatus hängen.
- Compute Engine-VM-Leistung der Instanz: Wird die aktuelle Leistung der VM geprüft, um sicherzustellen, dass sie nicht durch eine hohe CPU-Auslastung, einen unzureichenden Arbeitsspeicher oder Probleme mit dem Speicherplatz beeinträchtigt wird, die den normalen Betrieb beeinträchtigen könnten.
- Compute Engine-Seriellport- oder Systemprotokolle der Instanz: Prüft, ob die Instanz Protokolle für den seriellen Port hat. Diese werden analysiert, um sicherzustellen, dass Jupyter an Port
127.0.0.1:8080
ausgeführt wird. - Compute Engine-SSH- und Terminalzugriff der Instanz: Prüft, ob die Compute Engine-VM der Instanz ausgeführt wird, damit der Nutzer SSH verwenden und ein Terminal öffnen kann, um zu prüfen, ob die Speichernutzung unter „home/jupyter“ unter 85 % liegt. Wenn kein Speicherplatz mehr vorhanden ist, bleibt die Instanz möglicherweise im Bereitstellungsstatus.
- Externe IP deaktiviert: Prüft, ob der externe IP-Zugriff deaktiviert ist. Eine falsche Netzwerkkonfiguration kann dazu führen, dass die Instanz im Bereitstellungsstatus hängen bleibt.
Google Cloud Console
- Führen Sie den folgenden Befehl aus und kopieren Sie ihn.
- Öffnen Sie die Google Cloud Console und aktivieren Sie Cloud Shell. Cloud Console öffnen
- Fügen Sie den kopierten Befehl ein.
- Führen Sie den Befehl
gcpdiag
aus, um das Docker-Imagegcpdiag
herunterzuladen und dann Diagnoseprüfungen durchzuführen. Folgen Sie gegebenenfalls der Anleitung für die Ausgabe, um fehlgeschlagene Prüfungen zu beheben.
gcpdiag runbook vertex/workbench-instance-stuck-in-provisioning \
--parameter project_id=PROJECT_ID \
--parameter instance_name=INSTANCE_NAME \
--parameter zone=ZONE
Docker
Sie können
gcpdiag
mit einem Wrapper ausführen, der gcpdiag
in einem Docker-Container startet. Docker oder Podman muss installiert sein.
- Kopieren Sie den folgenden Befehl und führen Sie ihn auf Ihrer lokalen Workstation aus.
curl https://gcpdiag.dev/gcpdiag.sh >gcpdiag && chmod +x gcpdiag
- Führen Sie den Befehl
gcpdiag
aus../gcpdiag runbook vertex/workbench-instance-stuck-in-provisioning \ --parameter project_id=PROJECT_ID \ --parameter instance_name=INSTANCE_NAME \ --parameter zone=ZONE
Verfügbare Parameter für dieses Runbook ansehen
Ersetzen Sie Folgendes:
- PROJECT_ID: Die ID des Projekts, das die Ressource enthält.
- INSTANCE_NAME: Der Name der Ziel-Vertex AI Workbench-Instanz in Ihrem Projekt.
- ZONE: Die Zone, in der sich die Ziel-Vertex AI Workbench-Instanz befindet.
Nützliche Flags:
--universe-domain
: Die Domain Trusted Partner Sovereign Cloud, auf der die Ressource gehostet wird--parameter
oder-p
: Runbook-Parameter
Eine Liste und Beschreibung aller gcpdiag
-Tool-Flags finden Sie in der gcpdiag
-Nutzungsanleitung.