Cette page décrit les étapes de dépannage qui vous aideront si vous rencontrez des problèmes lors de l'utilisation de Vertex AI Workbench.
Consultez également la page Résoudre les problèmes liés à Vertex AI pour obtenir de l'aide sur l'utilisation d'autres composants de Vertex AI.
Cliquez sur l'une des catégories ci-après pour filtrer le contenu de cette page :
Procédures utiles
Cette section décrit des procédures qui pourraient vous être utiles.
Utiliser SSH pour se connecter à une instance de notebooks gérés par l'utilisateur
Utilisez ssh pour vous connecter à votre instance en saisissant la commande suivante dans Cloud Shell ou dans tout environnement dans lequel Google Cloud CLI est installé.
gcloud compute ssh --project PROJECT_ID \
--zone ZONE \
INSTANCE_NAME -- -L 8080:localhost:8080
Remplacez les éléments suivants :
PROJECT_ID
: ID de votre projetZONE
: zone Google Cloud dans laquelle se trouve votre instance.INSTANCE_NAME
: nom de l'instance
Vous pouvez également vous connecter à votre instance en ouvrant la page d'informations Compute Engine de votre instance, puis en cliquant sur le bouton SSH.
.Se réenregistrer auprès du serveur de proxy d'inversion
Pour réenregistrer l'instance de notebooks gérés par l'utilisateur auprès du serveur de proxy d'inversion interne, vous pouvez arrêter et démarrer la VM à partir de la page Notebooks gérés par l'utilisateur, ou utiliser SSH pour vous connecter à l'instance de notebooks gérés par l'utilisateur et saisir la commande suivante :
cd /opt/deeplearning/bin sudo ./attempt-register-vm-on-proxy.sh
Vérifier l'état du service Docker
Pour vérifier l'état du service Docker, vous pouvez utiliser ssh pour vous connecter à votre instance de notebooks gérés par l'utilisateur, puis saisir la commande suivante :
sudo service docker status
Vérifier que l'agent de proxy inverse est en cours d'exécution
Pour vérifier si l'agent de proxy inverse du notebook est en cours d'exécution, utilisez ssh pour vous connecter à votre instance de notebooks gérés par l'utilisateur, puis saisissez la commande suivante :
# 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
Vérifier l'état du service Jupyter et collecter les journaux
Pour vérifier l'état du service Jupyter, vous pouvez utiliser ssh pour vous connecter à votre instance de notebooks gérés par l'utilisateur, puis saisir la commande suivante :
sudo service jupyter status
Pour collecter les journaux du service Jupyter, procédez comme suit :
sudo journalctl -u jupyter.service --no-pager
Vérifier que l'API interne Jupyter est active
L'API Jupyter doit toujours s'exécuter sur le port 8080. Pour vérifier cela, inspectez les syslogs de l'instance pour trouver une entrée semblable à la suivante :
Jupyter Server ... running at: http://localhost:8080
Pour vérifier que l'API interne Jupyter est active, vous pouvez utiliser SSH pour vous connecter à votre instance de notebooks gérés par l'utilisateur, puis saisir la commande suivante :
curl http://127.0.0.1:8080/api/kernelspecs
Vous pouvez également mesurer le temps nécessaire à l'API pour répondre en cas de requêtes trop longues :
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
Pour exécuter ces commandes dans votre instance Vertex AI Workbench, ouvrez JupyterLab et créez un terminal.
Redémarrer le service Docker
Pour redémarrer le service Docker, vous pouvez arrêter et démarrer la VM à partir de la page Notebooks gérés par l'utilisateur, ou utiliser ssh pour vous connecter à votre instance de notebooks gérés par l'utilisateur, puis saisir la commande suivante :
sudo service docker restart
Redémarrer l'agent de proxy inverse
Pour redémarrer l'agent de proxy inverse, vous pouvez arrêter et démarrer la VM à partir de la page Notebooks gérés par l'utilisateur ou utiliser ssh pour vous connecter à votre instance de notebooks gérés par l'utilisateur, puis saisir la commande suivante :
sudo docker restart proxy-agent
Redémarrer le service Jupyter
Pour redémarrer le service Jupyter, vous pouvez arrêter et démarrer la VM à partir de la page Notebooks gérés par l'utilisateur ou utiliser ssh pour vous connecter à votre instance de notebooks gérés par l'utilisateur, puis saisir la commande suivante :
sudo service jupyter restart
Redémarrer l'agent de collecte de notebooks
Le service d'agent de collecte de notebooks exécute un processus Python en arrière-plan qui vérifie l'état des services principaux de l'instance Vertex AI Workbench.
Pour redémarrer le service d'agent de collecte de notebooks, vous pouvez arrêter et démarrer la VM à partir de la console Google Cloud ou utiliser SSH pour vous connecter à votre instance Vertex AI Workbench, puis saisir :
sudo systemctl stop notebooks-collection-agent.service
suivi de :
sudo systemctl start notebooks-collection-agent.service
Pour exécuter ces commandes dans votre instance Vertex AI Workbench, ouvrez JupyterLab et créez un terminal.
Modifier le script de l'agent de collecte de notebooks
Pour accéder au script et le modifier, ouvrez un terminal dans notre instance ou utilisez SSH pour vous connecter à votre instance Vertex AI Workbench, puis saisissez :
nano /opt/deeplearning/bin/notebooks_collection_agent.py
N'oubliez pas d'enregistrer le fichier après l'avoir modifié.
Vous devez ensuite redémarrer le service d'agent de collecte de notebooks.
Vérifier que l'instance peut résoudre les domaines DNS requis
Pour vérifier que l'instance peut résoudre les domaines DNS requis, vous pouvez utiliser SSH pour vous connecter à votre instance de notebooks gérés par l'utilisateur, puis saisir :
host notebooks.googleapis.com
host *.notebooks.cloud.google.com
host *.notebooks.googleusercontent.com
host *.kernels.googleusercontent.com
ou :
curl --silent --output /dev/null "https://notebooks.cloud.google.com"; echo $?
Si Dataproc est activé sur l'instance, vous pouvez vérifier qu'elle résout *.kernels.googleusercontent.com
en exécutant la commande suivante :
curl --verbose -H "Authorization: Bearer $(gcloud auth print-access-token)" https://${PROJECT_NUMBER}-dot-${REGION}.kernels.googleusercontent.com/api/kernelspecs | jq .
Pour exécuter ces commandes dans votre instance Vertex AI Workbench, ouvrez JupyterLab et créez un terminal.
Créer une copie des données utilisateur sur une instance
Pour stocker une copie des données utilisateur d'une instance dans Cloud Storage, suivez la procédure suivante.
Créer un bucket Cloud Storage (facultatif)
Dans le même projet que celui où se trouve votre instance, créez un bucket Cloud Storage dans lequel vous pouvez stocker vos données utilisateur. Si vous disposez déjà d'un bucket Cloud Storage, ignorez cette étape.
-
Create a Cloud Storage bucket:
Replacegcloud storage buckets create gs://BUCKET_NAME
BUCKET_NAME
with a bucket name that meets the bucket naming requirements.
Copier vos données utilisateur
Dans l'interface JupyterLab de votre instance, sélectionnez Fichier > Nouveau > Terminal pour ouvrir une fenêtre de terminal. Pour les instances de notebooks gérés par l'utilisateur, vous pouvez vous connecter au terminal de votre instance à l'aide de SSH.
Utilisez gcloud CLI pour copier vos données utilisateur dans un bucket Cloud Storage. L'exemple de commande suivant copie tous les fichiers du répertoire
/home/jupyter/
de votre instance dans un répertoire situé dans un bucket Cloud Storage.gcloud storage cp /home/jupyter/* gs://BUCKET_NAMEPATH --recursive
Remplacez les éléments suivants :
BUCKET_NAME
: nom du bucket Cloud Storage.PATH
: chemin d'accès au répertoire dans lequel vous souhaitez copier vos fichiers, par exemple :/copy/jupyter/
Examiner une instance bloquée lors du provisionnement à l'aide de gcpdiag
gcpdiag
est un outil Open Source. Il ne s'agit pas d'un produit Google Cloud faisant l'objet d'une assistance officielle.
Vous pouvez utiliser l'outil gcpdiag
pour vous aider à identifier et à résoudre les problèmes liés au projet Google Cloud. Pour plus d'informations, consultez le projet gcpdiag sur GitHub.
gcpdiag
examine les causes potentielles pour lesquelles une instance Vertex AI Workbench peut rester bloquée dans l'état de provisionnement, y compris les domaines suivants :- État : vérifie l'état actuel de l'instance pour s'assurer qu'elle est bloquée au niveau du provisionnement et qu'elle n'est pas arrêtée ni active.
- Image du disque de démarrage de la VM Compute Engine de l'instance : vérifie si l'instance a été créée avec un conteneur personnalisé, une image
workbench-instances
officielle, des images Deep Learning VM Image ou des images non compatibles qui pourraient empêcher l'instance de se provisionner. - Scripts personnalisés : vérifie si l'instance utilise des scripts de démarrage ou post-démarrage personnalisés qui modifient le port Jupyter par défaut ou rompent les dépendances qui pourraient empêcher l'instance de se provisionner.
- Version de l'environnement : vérifie si l'instance utilise la dernière version de l'environnement en vérifiant sa possibilité de mise à niveau. Les versions antérieures peuvent entraîner un blocage de l'instance à l'état de provisionnement.
- Performances de la VM Compute Engine de l'instance : vérifie les performances actuelles de la VM pour s'assurer qu'elle n'est pas affectée par une utilisation élevée du processeur, une mémoire insuffisante ou des problèmes d'espace disque qui pourraient perturber les opérations normales.
- Journalisation du port série ou du système de l'instance Compute Engine : vérifie si l'instance dispose de journaux de port série, qui sont analysés pour s'assurer que Jupyter s'exécute sur le port
127.0.0.1:8080
. - Accès SSH et terminal Compute Engine de l'instance : vérifie si la VM Compute Engine de l'instance est en cours d'exécution afin que l'utilisateur puisse utiliser SSH et ouvrir un terminal pour vérifier que l'espace utilisé dans "home/jupyter" est inférieur à 85 %. Si aucun espace n'est disponible, l'instance peut rester bloquée à l'état de provisionnement.
- Adresse IP externe désactivée : vérifie si l'accès à l'adresse IP externe est désactivé. Une configuration réseau incorrecte peut empêcher l'instance de provisionner.
console Google Cloud
- Terminez l'exécution, puis copiez la commande suivante.
- Ouvrez la console Google Cloud et activez Cloud Shell. Ouvrir la console Cloud
- Collez la commande copiée.
- Exécutez la commande
gcpdiag
, qui télécharge l'image Dockergcpdiag
, puis effectue des vérifications de diagnostic. Le cas échéant, suivez les instructions de sortie pour corriger les échecs de vérification.
gcpdiag runbook vertex/workbench-instance-stuck-in-provisioning \
--project=PROJECT_ID \
--parameter instance_name=INSTANCE_NAME \
--parameter zone=ZONE
Docker
Vous pouvez exécuter gcpdiag
à l'aide d'un wrapper qui démarre gcpdiag
dans un conteneur Docker. Docker ou Podman doivent être installés.
- Copiez et exécutez la commande suivante sur votre station de travail locale :
curl https://gcpdiag.dev/gcpdiag.sh >gcpdiag && chmod +x gcpdiag
- Exécutez la commande
gcpdiag
../gcpdiag runbook vertex/workbench-instance-stuck-in-provisioning \ --project=PROJECT_ID \ --parameter instance_name=INSTANCE_NAME \ --parameter zone=ZONE
Affichez les paramètres disponibles pour ce runbook.
Remplacez les éléments suivants :
- PROJECT_ID : ID du projet contenant la ressource.
- INSTANCE_NAME : nom de l'instance Vertex AI Workbench cible dans votre projet.
- ZONE : zone dans laquelle se trouve votre instance Vertex AI Workbench cible.
Options utiles :
--project
: L'PROJECT_ID--universe-domain
: le cas échéant, le domaine cloud souverain du partenaire de confiance hébergeant la ressource.--parameter
ou-p
: paramètres du runbook
Pour obtenir la liste et la description de toutes les options de l'outil gcpdiag
, consultez les instructions d'utilisation de gcpdiag
.