Questa pagina descrive i passaggi per la risoluzione dei problemi, utili in caso di problemi nell'utilizzo di Vertex AI Workbench.
Vedi anche Risoluzione dei problemi di Vertex AI per ricevere assistenza sull'utilizzo di altri componenti di Vertex AI.
Per filtrare i contenuti di questa pagina, fai clic su un argomento:
Procedure utili
Questa sezione descrive le procedure che potresti trovare utili.
Utilizza SSH per connetterti all'istanza di Notebook gestita dall'utente
Utilizza SSH per connetterti all'istanza digitando il seguente comando in Cloud Shell o in qualsiasi ambiente in cui è installato Google Cloud CLI.
gcloud compute ssh --project PROJECT_ID \
--zone ZONE \
INSTANCE_NAME -- -L 8080:localhost:8080
Sostituisci quanto segue:
PROJECT_ID
: il tuo ID progettoZONE
: la zona Google Cloud in cui si trova la tua istanzaINSTANCE_NAME
: il nome della istanza
Puoi anche connetterti all'istanza aprendo la pagina dei dettagli di Compute Engine dell'istanza e facendo clic sul pulsante SSH.
Esegui di nuovo la registrazione con il server Inverting Proxy
Per registrare di nuovo l'istanza di blocchi note gestiti dall'utente con server Inverting Proxy interno, puoi arrestare e avviare la VM Pagina dei blocchi note gestiti dall'utente Oppure puoi usare SSH per connetterti a l'istanza di blocchi note gestiti dall'utente e inserisci:
cd /opt/deeplearning/bin sudo ./attempt-register-vm-on-proxy.sh
verifica lo stato del servizio Docker
Per verificare lo stato del servizio Docker, puoi utilizzare SSH per connetterti all'istanza di Notebook gestita dall'utente e inserire:
sudo service docker status
Verifica che l'agente Inverting Proxy sia in esecuzione
Per verificare se l'agente Inverting Proxy del blocco note è in esecuzione, usa SSH per connetterti a dell'istanza di blocchi note gestiti dall'utente e inserisci:
# 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
Verifica lo stato del servizio Jupyter e raccogli i log
Per verificare lo stato del servizio Jupyter, puoi utilizzare SSH per collegarti all'istanza di blocchi note gestiti dall'utente e inserire:
sudo service jupyter status
Per raccogliere i log del servizio Jupyter:
sudo journalctl -u jupyter.service --no-pager
Verifica che l'API interna Jupyter sia attiva
L'API Jupyter deve sempre essere eseguita sulla porta 8080. Puoi verificarlo esaminando i log syslog dell'istanza per trovare una voce simile alla seguente:
Jupyter Server ... running at: http://localhost:8080
Per verificare che l'API interna Jupyter sia attiva, puoi anche Utilizza SSH per connetterti alla tua istanza di blocchi note gestiti dall'utente e inserisci:
curl http://127.0.0.1:8080/api/kernelspecs
Puoi anche misurare il tempo necessario all'API per rispondere nel caso in cui richiedono troppo tempo:
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
Per eseguire questi comandi nella tua istanza di Vertex AI Workbench, apri JupyterLab, e creo un nuovo terminale.
Riavvia il servizio Docker
Per riavviare il servizio Docker, puoi arrestare e avviare la VM dal Pagina dei blocchi note gestiti dall'utente Oppure puoi usare SSH per connetterti a l'istanza di blocchi note gestiti dall'utente e inserisci:
sudo service docker restart
Riavvia l'agente Inverting Proxy
Per riavviare l'agente Inverting Proxy, puoi arrestare e avviare la VM Pagina dei blocchi note gestiti dall'utente Oppure puoi usare SSH per connetterti a l'istanza di blocchi note gestiti dall'utente e inserisci:
sudo docker restart proxy-agent
Riavvia il servizio Jupyter
Per riavviare il servizio Jupyter, puoi arrestare e avviare la VM dalla pagina Blocchi note gestiti dall'utente oppure puoi utilizzare SSH per connetterti alla tua istanza di blocchi note gestiti dall'utente e inserire:
sudo service jupyter restart
Riavvia l'agente di raccolta Notebooks
Il servizio Notebooks Collection Agent esegue un processo Python in background che verifica lo stato dei servizi principali dell'istanza Vertex AI Workbench.
Per riavviare il servizio Notebooks Collection Agent, puoi arrestare e avviare la VM dalla console Google Cloud oppure puoi utilizzare SSH per connetterti alla tua istanza Vertex AI Workbench e inserire:
sudo systemctl stop notebooks-collection-agent.service
seguito da:
sudo systemctl start notebooks-collection-agent.service
Per eseguire questi comandi nella tua istanza di Vertex AI Workbench, apri JupyterLab, e creo un nuovo terminale.
Modificare lo script dell'agente di raccolta dei notebook
Per accedere e modificare lo script, apri un terminale nella nostra istanza o utilizza ssh per connetterti all'istanza Vertex AI Workbench e inserisci:
nano /opt/deeplearning/bin/notebooks_collection_agent.py
Dopo aver modificato il file, ricordati di salvarlo.
Poi devi riavviare il servizio Notebooks Collection Agent.
Verifica che l'istanza possa risolvere i domini DNS richiesti
Per verificare che l'istanza possa risolvere i domini DNS richiesti, puoi utilizzare SSH per connetterti all'istanza di Notebook gestita dall'utente e inserire:
host notebooks.googleapis.com
host *.notebooks.cloud.google.com
host *.notebooks.googleusercontent.com
host *.kernels.googleusercontent.com
oppure:
curl --silent --output /dev/null "https://notebooks.cloud.google.com"; echo $?
Se l'istanza ha Dataproc abilitato, puoi verificare che risolva *.kernels.googleusercontent.com
eseguendo:
curl --verbose -H "Authorization: Bearer $(gcloud auth print-access-token)" https://${PROJECT_NUMBER}-dot-${REGION}.kernels.googleusercontent.com/api/kernelspecs | jq .
Per eseguire questi comandi nella tua istanza di Vertex AI Workbench, apri JupyterLab, e creo un nuovo terminale.
Crea una copia dei dati utente in un'istanza
Archiviare una copia dei dati utente di un'istanza in Cloud Storage, completa i seguenti passaggi.
(Facoltativo) Crea un bucket Cloud Storage
Nello stesso progetto in cui si trova l'istanza, crea un'istanza Bucket Cloud Storage in cui puoi archiviare i tuoi dati utente. Se hai già un bucket Cloud Storage, salta questo passaggio.
-
Create a Cloud Storage bucket:
Replacegcloud storage buckets create gs://BUCKET_NAME
BUCKET_NAME
with a bucket name that meets the bucket naming requirements.
Copiare i dati utente
Nel tipo di macchina virtuale Interfaccia JupyterLab, seleziona File > Nuovo > Terminale per aprire una finestra del terminale. Per le istanze di blocchi note gestiti dall'utente, puoi invece connettiti al terminale dell'istanza utilizzando SSH.
Utilizza la CLI gcloud per copiare i dati utente in un bucket Cloud Storage. Il seguente comando di esempio copia tutti i file dalla directory
/home/jupyter/
dell'istanza in una directory di un bucket Cloud Storage.gcloud storage cp /home/jupyter/* gs://BUCKET_NAMEPATH --recursive
Sostituisci quanto segue:
BUCKET_NAME
: il nome del tuo bucket Cloud StoragePATH
: il percorso della directory dove vuoi copiare i file, ad esempio:/copy/jupyter/
Indaga su un'istanza bloccata nel provisioning utilizzando gcpdiag
gcpdiag
è uno strumento open source. Non è un prodotto Google Cloud supportato ufficialmente.
Puoi utilizzare lo strumento gcpdiag
per identificare e risolvere i problemi dei progetti Google Cloud. Per maggiori informazioni, consulta il progetto gcpdiag su GitHub.
gcpdiag
indaga sulle potenziali cause di un
l'istanza di Vertex AI Workbench si blocca
nello stato del provisioning,
incluse le seguenti aree:
- Stato: controlla lo stato attuale dell'istanza per garantire che sia bloccato nel provisioning e non sia arrestato o attivo.
- Immagine disco di avvio della VM Compute Engine dell'istanza:
Controlla se l'istanza è stata creata con un container personalizzato, un
workbench-instances
, Deep Learning VM Image oppure per immagini non supportate, che potrebbero causare il blocco dell'istanza nello stato del provisioning. - Script personalizzati: controlla se l'istanza utilizza script di avvio o post-avvio personalizzati che modificano la porta Jupyter predefinita o interrompere le dipendenze che potrebbero causare il blocco dell'istanza e lo stato del provisioning.
- Versione ambiente: controlla se l'istanza utilizza l'ultima versione dell'ambiente controllandone l'aggiornabilità. Prima delle versioni precedenti, l'istanza potrebbe bloccarsi nello stato del provisioning.
- Prestazioni delle VM Compute Engine dell'istanza: Controlla le prestazioni attuali della VM per assicurarsi che non siano compromesse da un elevato utilizzo della CPU, da una memoria insufficiente o da problemi di spazio su disco che potrebbero interrompere le normali attività.
- Porta seriale Compute Engine dell'istanza
log di sistema: controlla se l'istanza ha
log delle porte seriali, che vengono analizzati
assicurati che Jupyter sia in esecuzione sulla porta
127.0.0.1:8080
. - Le chiavi SSH di Compute Engine dell'istanza accesso al terminale: controlla se lo stato dell'istanza La VM di Compute Engine è in esecuzione in modo che l'utente Posso usare SSH e aprire un terminale per verificare l'utilizzo dello spazio in "home/jupyter" è inferiore all'85%. Se non rimane spazio, l'istanza potrebbe per bloccare lo stato del provisioning.
- IP esterno disattivato: controlla se l'accesso all'IP esterno è disattivato. Una configurazione di rete errata può causare il blocco dell'istanza nello stato di provisioning.
Console Google Cloud
- Completa e poi copia il seguente comando.
- Apri la console Google Cloud e attiva Cloud Shell. Apri la console Cloud
- Incolla il comando copiato.
- Esegui il comando
gcpdiag
, che scarica l'immagine Dockergcpdiag
, quindi esegui i controlli diagnostici. Se applicabile, segui le istruzioni dell'output per correggere i controlli non superati.
GOOGLE_AUTH_TOKEN=GOOGLE_AUTH_TOKEN \
gcpdiag runbook vertex/workbench-instance-stuck-in-provisioning \
--parameter project_id=PROJECT_ID \
--parameter instance_name=INSTANCE_NAME \
--parameter zone=ZONE \
--auto --reason=REASON
Docker
Puoi
eseguire gcpdiag
utilizzando un wrapper che avvia gcpdiag
in un
container Docker. È necessario installare Docker o
Podman.
- Copia ed esegui il comando seguente sulla workstation locale.
curl https://gcpdiag.dev/gcpdiag.sh >gcpdiag && chmod +x gcpdiag
- Esegui il comando
gcpdiag
../gcpdiag runbook vertex/workbench-instance-stuck-in-provisioning \ --parameter project_id=PROJECT_ID \ --parameter instance_name=INSTANCE_NAME \ --parameter zone=ZONE
Visualizza i parametri disponibili per questo runbook.
Sostituisci quanto segue:
- PROJECT_ID: l'ID del progetto che contiene la risorsa.
- INSTANCE_NAME: il nome dell'istanza di Vertex AI Workbench di destinazione nel progetto.
- ZONE: la zona in cui si trova l'istanza Vertex AI Workbench di destinazione.
Flag utili:
--universe-domain
: se applicabile, il Sovereign Cloud di Trusted Partner dominio che ospita la risorsa--parameter
o-p
: parametri runbook
Per un elenco e una descrizione di tutti i flag dello strumento gcpdiag
, consulta le istruzioni per l'utilizzo di gcpdiag
.