Monitoraggio dello stato di integrità
Le istanze di notebook gestiti dall'utente forniscono diversi metodi per monitorare lo stato dei notebook. Questa pagina descrive come utilizzare ciascun metodo.
Metodi per il monitoraggio dello stato di integrità
Puoi monitorare l'integrità delle istanze di notebook gestite dall'utente in diversi modi. Questa pagina descrive come utilizzare i seguenti metodi:
Configurare l'interfaccia a riga di comando gcloud
Per completare alcuni dei passaggi in questa pagina, devi utilizzare l'interfaccia a riga di comando Google Cloud.Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
Utilizzare gli attributi guest per segnalare l'integrità del sistema
Puoi utilizzare gli attributi guest per segnalare lo stato di salute del sistema dei seguenti servizi di base:
- Servizio Docker
- Agente di reverse proxy Docker
- Servizio Jupyter
- API Jupyter
Gli attributi guest sono un tipo specifico di metadati personalizzati su cui le applicazioni possono scrivere durante l'esecuzione nell'istanza di notebook gestita dall'utente. Per scoprire di più sugli attributi guest, consulta Informazioni sui metadati della VM.
In che modo le istanze utilizzano gli attributi guest per segnalare l'integrità del sistema
Il servizio notebooks-collection-agent
esegue un processo Python
in background che verifica lo stato dei servizi principali dell'istanza di notebook gestiti dall'utente e aggiorna gli attributi guest come
1
se non vengono rilevati problemi o -1
se viene rilevato un errore.
Per utilizzare il servizio notebooks-collection-agent
per generare report sullo stato dell'istanza di notebook gestita dall'utente, devi attivare i seguenti attributi guest durante la creazione di un'istanza di notebook gestita dall'utente:
enable-guest-attributes=TRUE
: vengono attivati gli attributi invitati nell'istanza di Notebook gestita dall'utente. Per tutte le nuove istanze questo attributo è attivato per impostazione predefinita.report-system-health=TRUE
: registra i risultati controllo di integrità del sistema negli attributi degli ospiti.
Il servizio notebooks-collection-agent
non ha bisogno di autorizzazioni speciali per scrivere negli attributi guest dell'istanza.
Crea un'istanza di notebook gestita dall'utente con gli attributi guest relativi al monitoraggio dello stato di salute del sistema abilitati
Per utilizzare gli attributi guest relativi allo stato di integrità del sistema per generare report sullo stato di integrità dell'istanza di Notebook gestita dall'utente, devi selezionare la casella di controllo Attiva report sull'integrità del sistema quando crei un'istanza di Notebook gestita dall'utente.
Puoi attivare il report sullo stato del sistema utilizzando la console Google Cloud o Google Cloud CLI.
Prima di iniziare
Prima di poter creare un'istanza di notebook gestita dall'utente, devi avere un progettoGoogle Cloud e abilitare l'API Notebooks per quel progetto.- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Notebooks API.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Notebooks API.
- Se prevedi di utilizzare le GPU con l'istanza di notebook gestita dall'utente, controlla la pagina delle quote nella console Google Cloud per assicurarti di disporre di un numero sufficiente di GPU nel progetto. Se le GPU non sono elencate nella pagina delle quote o se hai bisogno di una quota GPU aggiuntiva, puoi richiedere un aumento della quota. Consulta la sezione Richiedere un aumento della quota nella pagina Quote delle risorse di Compute Engine.
Ruoli obbligatori
Se hai creato il progetto, disponi del ruolo IAM Proprietario (roles/owner
) nel progetto, che include tutte le autorizzazioni richieste. Salta questa sezione e inizia a creare l'istanza di blocchi note gestiti dall'utente. Se non hai creato personalmente il progetto, continua in questa sezione.
Per assicurarti che il tuo account utente disponga delle autorizzazioni necessarie per creare un'istanza di blocchi note gestiti dall'utente di Vertex AI Workbench, chiedi all'amministratore di concedere al tuo account utente i seguenti ruoli IAM sul progetto:
-
Amministratore Notebooks (
roles/notebooks.admin
) -
Utente dell'account di servizio (
roles/iam.serviceAccountUser
)
Per saperne di più sulla concessione dei ruoli, consulta Gestire l'accesso a progetti, cartelle e organizzazioni.
L'amministratore potrebbe anche assegnare al tuo account utente le autorizzazioni richieste tramite ruoli personalizzati o altri ruoli predefiniti.
Crea l'istanza
Console
Nella console Google Cloud , vai alla pagina Notebook gestiti dall'utente. In alternativa, vai all'indirizzo notebook.new (https://notebook.new) e salta il passaggio successivo.
Fai clic su
Nuovo blocco note, quindi seleziona Personalizza.Nella pagina Crea un blocco note gestito dall'utente, nella sezione Dettagli, fornisci le seguenti informazioni per la nuova istanza:
- Nome: un nome per la nuova istanza
- Regione e Zona: seleziona una regione e una zona per la nuova istanza. Per ottenere le migliori prestazioni della rete, seleziona la regione geograficamente più vicina a te. Consulta le località dei blocchi note gestiti dall'utente disponibili.
Seleziona la sezione Stato del sistema.
Nella sezione Integrità del sistema e report, seleziona la casella di controllo Attiva report sull'integrità del sistema.
Completa la parte rimanente della finestra di dialogo di creazione dell'istanza e poi fai clic su Crea.
gcloud
Da Cloud Shell o da qualsiasi ambiente in cui è installato Google Cloud CLI, inserisci il seguente comando Google Cloud CLI:
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
Sostituisci quanto segue:
INSTANCE_NAME
: il nome della nuova istanzaIMAGE_FAMILY
: il nome della famiglia di immagini che vuoi utilizzare per creare l'istanzaMACHINE_TYPE
: il tipo di macchina della VM dell'istanza; ad esempio,n1-standard-4
ZONE
: la zona in cui vuoi che si trovi la nuova istanza, ad esempious-west1-a
Accedi all'istanza dalla consoleGoogle Cloud .
Monitorare lo stato del sistema tramite gli attributi guest
Per le istanze di notebook gestite dall'utente per le quali sono abilitati gli attributi guest correlati, puoi recuperare i valori degli attributi guest relativi allo stato del sistema utilizzando la console Google Cloud , Google Cloud CLI con i comandi Compute Engine o Google Cloud CLI con i comandi Vertex AI Workbench.
Console
Nella console Google Cloud , vai alla pagina Notebook gestiti dall'utente.
Fai clic sul nome dell'istanza di cui vuoi visualizzare lo stato di integrità del sistema.
Nella pagina Dettagli notebook, fai clic sulla scheda Integrità. Controlla lo stato dell'istanza e dei relativi servizi principali.
gcloud con Compute Engine
gcloud compute instances get-guest-attributes INSTANCE_NAME \
--zone ZONE
Sostituisci quanto segue:
INSTANCE_NAME
: il nome dell'istanzaZONE
: la zona in cui si trova l'istanza
Se i servizi principali sono operativi, i risultati sono simili a quelli riportati di seguito.
Un valore pari a 1
indica che non è stato rilevato alcun errore.
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
Se uno dei quattro servizi principali non funziona, lo stato di salute del sistema riporta un valore -1
per indicare l'errore del sistema. Nella maggior parte dei casi, un guasto del sistema significa che JupyterLab non è accessibile.
Un esempio di risultato di errore potrebbe essere il seguente.
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
gcloud con Vertex AI Workbench
Per monitorare l'integrità del sistema, puoi utilizzare il metodo getInstanceHealth per recuperare i valori degli attributi guest.
L'esempio seguente mostra come eseguire questa operazione utilizzando gcloud CLI.
gcloud notebooks instances is-healthy example-instance \
--location=ZONE
Sostituisci ZONE
con la zona in cui si trova l'istanza, ad esempio us-west1-a
.
Se i servizi principali sono operativi, i risultati sono simili a quelli riportati di seguito.
Un valore pari a 1
indica che non è stato rilevato alcun errore.
{ "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" }
Un esempio di risultato di errore potrebbe essere il seguente.
{ "healthy": UNHEALTHY, "docker-proxy-agent": 1, "docker-service": 1, "jupyter-service": -1, "jupyter-api": -1, "last-updated": "2020-10-01 17:00:30.12345" }
Segnalare metriche personalizzate a Monitoring
Le istanze di blocchi note gestite dall'utente ti consentono di raccogliere le metriche JupyterLab e quelle relative allo stato del sistema e di segnalarle a Cloud Monitoring. Queste metriche personalizzate sono diverse da quelle standard registrate quando installi Monitoring nell'istanza di Notebook gestita dall'utente.
Le metriche personalizzate registrate in Monitoraggio includono:
L'integrità del sistema di questi servizi principali dei notebook gestiti dall'utente:
- Servizio Docker
- Agente di reverse proxy Docker
- Servizio Jupyter
- API Jupyter
Le seguenti metriche JupyterLab:
- Numero di kernel
- Numero di terminali
- Numero di connessioni
- Numero di sessioni
- Memoria massima
- Con memoria elevata
- Memoria attuale
In che modo le istanze segnalano le metriche personalizzate a Monitoring
Per generare report sulle metriche personalizzate in Monitoraggio, devi attivare l'impostazione dei metadati report-notebook-metrics
durante la creazione di un'istanza di notebook gestita dall'utente.
Devi anche assicurarti che l'account di servizio dell'istanza di notebook gestita dall'utente abbia le autorizzazioni Monitoring Metric Writer (roles/monitoring.metricWriter
). Per saperne di più, consulta Gestire l'accesso a progetti, cartelle e organizzazioni.
Crea un'istanza di notebook gestiti dall'utente che registri metriche personalizzate in Monitoring
Per segnalare le metriche personalizzate a Monitoring, devi selezionare la casella di controllo Segnala metriche personalizzate a Cloud Monitoring quando crei un'istanza di Notebook gestita dall'utente.
Puoi attivare la generazione di report sulle metriche personalizzate in Cloud Monitoring utilizzando la console Google Cloud o Google Cloud CLI.
Prima di iniziare
Prima di poter creare un'istanza di notebook gestita dall'utente, devi avere un progettoGoogle Cloud e abilitare l'API Notebooks per quel progetto.- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Notebooks API.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Notebooks API.
- Se prevedi di utilizzare le GPU con l'istanza di notebook gestita dall'utente, controlla la pagina delle quote nella console Google Cloud per assicurarti di disporre di un numero sufficiente di GPU nel progetto. Se le GPU non sono elencate nella pagina delle quote o se hai bisogno di una quota GPU aggiuntiva, puoi richiedere un aumento della quota. Consulta la sezione Richiedere un aumento della quota nella pagina Quote delle risorse di Compute Engine.
Ruoli obbligatori
Se hai creato il progetto, disponi del ruolo IAM Proprietario (roles/owner
) nel progetto, che include tutte le autorizzazioni richieste. Salta questa sezione e inizia a creare l'istanza di blocchi note gestiti dall'utente. Se non hai creato personalmente il progetto, continua in questa sezione.
Per assicurarti che il tuo account utente disponga delle autorizzazioni necessarie per creare un'istanza di blocchi note gestiti dall'utente di Vertex AI Workbench, chiedi all'amministratore di concedere al tuo account utente i seguenti ruoli IAM sul progetto:
-
Amministratore Notebooks (
roles/notebooks.admin
) -
Utente dell'account di servizio (
roles/iam.serviceAccountUser
)
Per saperne di più sulla concessione dei ruoli, consulta Gestire l'accesso a progetti, cartelle e organizzazioni.
L'amministratore potrebbe anche assegnare al tuo account utente le autorizzazioni richieste tramite ruoli personalizzati o altri ruoli predefiniti.
Crea l'istanza
Console
Nella console Google Cloud , vai alla pagina Notebook gestiti dall'utente. In alternativa, vai all'indirizzo notebook.new (https://notebook.new) e salta il passaggio successivo.
Fai clic su
Nuovo blocco note, quindi seleziona Personalizza.Nella pagina Crea un blocco note gestito dall'utente, nella sezione Dettagli, fornisci le seguenti informazioni per la nuova istanza:
- Nome: un nome per la nuova istanza
- Regione e Zona: seleziona una regione e una zona per la nuova istanza. Per ottenere le migliori prestazioni della rete, seleziona la regione geograficamente più vicina a te. Consulta le località dei blocchi note gestiti dall'utente disponibili.
Seleziona la sezione Stato del sistema.
Nella sezione Integrità del sistema e report, seleziona la casella di controllo Segnala metriche personalizzate a Cloud Monitoring.
Completa la parte rimanente della finestra di dialogo di creazione dell'istanza e poi fai clic su Crea.
gcloud
Da Cloud Shell o da qualsiasi ambiente in cui è installato Google Cloud CLI, inserisci il seguente comando Google Cloud CLI:
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
Sostituisci quanto segue:
INSTANCE_NAME
: il nome della nuova istanzaIMAGE_FAMILY
: il nome della famiglia di immagini che vuoi utilizzare per creare l'istanzaMACHINE_TYPE
: il tipo di macchina della VM dell'istanza, ad esempion1-standard-4
ZONE
: la zona in cui vuoi che si trovi la nuova istanza, ad esempious-west1-a
Accedi all'istanza dalla consoleGoogle Cloud .
Concedi le autorizzazioni di autore di metriche di monitoraggio all'account di servizio
Dopo aver creato
la nuova istanza di notebook gestita dall'utente,
concedi le autorizzazioni di autore di metriche di monitoraggio
(roles/monitoring.metricWriter
) all'account di servizio per
l'istanza di notebook gestita dall'utente.
Per saperne di più, consulta Gestire l'accesso a progetti, cartelle e organizzazioni.
Monitorare le metriche personalizzate tramite il monitoraggio
Per le istanze di notebook gestite dall'utente in cui sono attivate le metriche personalizzate dei report, puoi monitorare le metriche personalizzate utilizzando la console Google Cloud .
Nella console Google Cloud , vai alla pagina Notebook gestiti dall'utente.
Fai clic sul nome dell'istanza di cui vuoi visualizzare le metriche personalizzate.
Nella pagina Dettagli notebook, fai clic sulla scheda Monitoraggio. Esamina le metriche personalizzate per la tua istanza.
Installa Monitoring su un'istanza
Questa opzione installa automaticamente Monitoring. L'installazione richiede 256 MB di spazio su disco. È necessaria una connessione a internet per la generazione di report sulle metriche in Monitoring.
In che modo le istanze registrano le metriche del sistema e dell'applicazione
Per generare report sulle metriche di sistema e dell'applicazione installando Cloud Monitoring nell'istanza di Notebook gestita dall'utente, devi selezionare la casella di controllo Installa agente Cloud Monitoring quando crei un'istanza di Notebook gestita dall'utente.
Queste metriche sono diverse da quelle personalizzate riportate quando attivi l'impostazione dei metadati report-notebook-metrics
.
Crea un'istanza di Jupyter Notebook gestita dall'utente che registri le metriche di sistema e dell'applicazione in Monitoraggio
Per installare il monitoraggio nell'istanza di notebook gestita dall'utente, puoi utilizzare la console Google Cloud o Google Cloud CLI.
Prima di iniziare
Prima di poter creare un'istanza di notebook gestita dall'utente, devi avere un progettoGoogle Cloud e abilitare l'API Notebooks per quel progetto.- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Notebooks API.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Notebooks API.
- Se prevedi di utilizzare le GPU con l'istanza di notebook gestita dall'utente, controlla la pagina delle quote nella console Google Cloud per assicurarti di disporre di un numero sufficiente di GPU nel progetto. Se le GPU non sono elencate nella pagina delle quote o se hai bisogno di una quota GPU aggiuntiva, puoi richiedere un aumento della quota. Consulta la sezione Richiedere un aumento della quota nella pagina Quote delle risorse di Compute Engine.
Ruoli obbligatori
Se hai creato il progetto, disponi del ruolo IAM Proprietario (roles/owner
) nel progetto, che include tutte le autorizzazioni richieste. Salta questa sezione e inizia a creare l'istanza di blocchi note gestiti dall'utente. Se non hai creato personalmente il progetto, continua in questa sezione.
Per assicurarti che il tuo account utente disponga delle autorizzazioni necessarie per creare un'istanza di blocchi note gestiti dall'utente di Vertex AI Workbench, chiedi all'amministratore di concedere al tuo account utente i seguenti ruoli IAM sul progetto:
-
Amministratore Notebooks (
roles/notebooks.admin
) -
Utente dell'account di servizio (
roles/iam.serviceAccountUser
)
Per saperne di più sulla concessione dei ruoli, consulta Gestire l'accesso a progetti, cartelle e organizzazioni.
L'amministratore potrebbe anche assegnare al tuo account utente le autorizzazioni richieste tramite ruoli personalizzati o altri ruoli predefiniti.
Crea l'istanza
Console
Nella console Google Cloud , vai alla pagina Notebook gestiti dall'utente. In alternativa, vai all'indirizzo notebook.new (https://notebook.new) e salta il passaggio successivo.
Fai clic su
Nuovo blocco note, quindi seleziona Personalizza.Nella pagina Crea un blocco note gestito dall'utente, nella sezione Dettagli, fornisci le seguenti informazioni per la nuova istanza:
- Nome: un nome per la nuova istanza
- Regione e Zona: seleziona una regione e una zona per la nuova istanza. Per ottenere le migliori prestazioni della rete, seleziona la regione geograficamente più vicina a te. Consulta le località dei blocchi note gestiti dall'utente disponibili.
Seleziona la sezione Stato del sistema.
Nella sezione Integrità del sistema e report, seleziona la casella di controllo Installa agente di monitoraggio cloud.
Completa la parte rimanente della finestra di dialogo di creazione dell'istanza e poi fai clic su Crea.
gcloud
Da Cloud Shell o da qualsiasi ambiente in cui è installato Google Cloud CLI, inserisci il seguente comando Google Cloud CLI:
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
Sostituisci quanto segue:
INSTANCE_NAME
: il nome della nuova istanzaIMAGE_FAMILY
: il nome della famiglia di immagini che vuoi utilizzare per creare l'istanzaMACHINE_TYPE
: il tipo di macchina della VM dell'istanza; ad esempio,n1-standard-4
ZONE
: la zona in cui vuoi che si trovi la nuova istanza, ad esempious-west1-a
Accedi all'istanza dalla consoleGoogle Cloud .
Monitora le metriche del sistema e delle applicazioni tramite il monitoraggio
Per le istanze di notebook gestite dall'utente su cui è installato il monitoraggio, puoi monitorare le metriche del sistema e dell'applicazione utilizzando la console Google Cloud :
Nella console Google Cloud , vai alla pagina Notebook gestiti dall'utente.
Fai clic sul nome dell'istanza di cui vuoi visualizzare le metriche di sistema e dell'applicazione.
Nella pagina Dettagli notebook, fai clic sulla scheda Monitoraggio. Esamina le metriche di sistema e dell'applicazione per la tua istanza. Per scoprire come interpretare queste metriche, consulta Esaminare le metriche delle risorse.
Utilizzare lo strumento di diagnostica per monitorare lo stato di salute del sistema
Le istanze di notebook gestite dall'utente includono un strumento di diagnostica integrato che può aiutarti a monitorare l'integrità del sistema delle tue istanze.
Attività eseguite dallo strumento di diagnostica
Lo strumento di diagnostica esegue le seguenti attività:
Verifica lo stato dei seguenti servizi principali dei notebook gestiti dall'utente:
- Servizio Docker
- Agente di reverse proxy Docker
- Servizio Jupyter
- API Jupyter
Controlla se lo spazio su disco per i dischi di avvio e di dati viene utilizzato oltre una soglia dell'85%.
Installa
lsof
(è necessaria una connessione a internet).Raccoglie i seguenti log delle istanze:
- Informazioni sulla rete (
ifconfig
,netstat
) - Log nella cartella
/var/log/
- Informazioni sullo stato di Docker
- Dati
lsof
(file aperti) - Stato del servizio Docker
- Stato dell'agente proxy inverso
- Stato del servizio Jupyter
- Stato dell'API Jupyter
- File di configurazione dell'agente proxy
- Processi Python
- Informazioni sulla rete (
Esegue i seguenti comandi e raccoglie i risultati:
- blocco pip
- conda list
- gcloud compute instances describe
INSTANCE_NAME
- gcloud config list
Esegui lo strumento di diagnostica
Per eseguire lo strumento di diagnostica, completa i seguenti passaggi:
Utilizza SSH per connetterti all'istanza di blocchi note gestiti dall'utente.
Nel terminale SSH, esegui i seguenti comandi:
sudo -i cd /opt/deeplearning/bin/ ./diagnostic_tool.sh
Lo strumento di diagnostica raccoglie i log, li comprime in un file
.tar.gz
e li inserisce nella cartella/tmp/
.Estrai il file e valuta i contenuti. I contenuti includono:
- Cartella
log
: log della cartellavar/log/
report.log
: output per tutti i comandi raccoltiproxy-agent-config.json
: Informazioni sulla configurazione del proxy- Log Docker: un file
-json.log
che include i log dei container Docker
- Cartella
Con lo strumento di diagnostica puoi utilizzare le seguenti opzioni.
Opzione | Descrizione |
---|---|
-r | Un'opzione di riparazione che tenta di ripristinare lo stato dei servizi principali non riusciti per i notebook gestiti dall'utente |
-s | Viene eseguito senza conferma |
-b |
Carica il file .tar.gz
in un bucket Cloud Storage.
|
-v | Un'opzione di debug per la risoluzione dei problemi dello strumento in caso di errori |
-c | Acquisisce 30 secondi di traffico dei pacchetti nella tua istanza di notebook gestiti dall'utente, filtrando l'SSH |
-d | Una cartella di destinazione in cui salvare i log |
-h | Guida |