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 monitorare lo stato di salute
Puoi monitorare l'integrità delle istanze dei notebook gestiti dall'utente in diversi modi. Questa pagina descrive come utilizzare i seguenti metodi:
Configura gcloud CLI
Per completare alcuni passaggi in questa pagina, devi utilizzare Google Cloud CLI.After installing the Google Cloud CLI, initialize it by running the following command:
gcloud init
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
Utilizza gli attributi guest per segnalare l'integrità del sistema
Puoi utilizzare gli attributi guest per segnalare lo stato di integrità del sistema dei seguenti servizi di base:
- Servizio Docker
- Agente 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 sull'istanza di blocchi note gestiti dall'utente. Per saperne 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 sull'integrità dell'istanza di notebook gestiti dall'utente,
devi attivare i seguenti attributi guest durante
la creazione di un'istanza di notebook gestiti dall'utente:
enable-guest-attributes=TRUE
: in questo modo vengono attivati gli attributi ospite nell'istanza dei blocchi note gestiti dall'utente. Tutte le nuove istanze attivano questo attributo per impostazione predefinita.report-system-health=TRUE
: Questo sistema registra i risultaticontrollo di integritàl'integrità negli attributi degli ospiti.
Il servizio notebooks-collection-agent
non richiede
autorizzazioni speciali per scrivere negli attributi guest dell'istanza.
Crea un'istanza di blocchi note gestiti dall'utente con gli attributi guest di integrità del sistema abilitati
Per utilizzare gli attributi guest dello stato di integrità del sistema per generare report sullo stato di integrità dell'istanza di notebook gestiti dall'utente, devi selezionare la casella di controllo Attiva report sullo stato di integrità del sistema quando crei un'istanza di notebook gestiti dall'utente.
Puoi attivare il report sullo stato di integrità del sistema utilizzando la console Google Cloud o Google Cloud CLI.
Prima di iniziare
Prima di poter creare un'istanza di blocchi note gestiti dall'utente, devi disporre di 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 gestiti dall'utente, controlla la pagina 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 Quote o se hai bisogno di una quota di GPU aggiuntiva, puoi richiedere un aumento della quota. Consulta la sezione Richiesta di aumento della quota nella pagina Quote delle risorse di Compute Engine.
-
Amministratore Notebooks (
roles/notebooks.admin
) -
Service Account User (
roles/iam.serviceAccountUser
) 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 di rete, seleziona la regione geograficamente più vicina a te. Visualizza le posizioni 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 Abilita report sull'integrità del sistema.
Completa il resto della finestra di dialogo di creazione dell'istanza e poi fai clic su Crea.
Da Cloud Shell o da qualsiasi ambiente in cui è installata 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 alla tua istanza dalla Google Cloud 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 Stato. Controlla lo stato della tua istanza e dei relativi servizi principali.
INSTANCE_NAME
: il nome dell'istanzaZONE
: la zona in cui si trova l'istanzaL'integrità del sistema di questi servizi principali dei notebook gestiti dall'utente:
- Servizio Docker
- Agente 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
- 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 gestiti dall'utente, controlla la pagina 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 Quote o se hai bisogno di una quota di GPU aggiuntiva, puoi richiedere un aumento della quota. Consulta la sezione Richiesta di aumento della quota nella pagina Quote delle risorse di Compute Engine.
-
Amministratore Notebooks (
roles/notebooks.admin
) -
Service Account User (
roles/iam.serviceAccountUser
) 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 di rete, seleziona la regione geograficamente più vicina a te. Visualizza le posizioni 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 il resto della finestra di dialogo di creazione dell'istanza e poi fai clic su Crea.
Da Cloud Shell o da qualsiasi ambiente in cui è installata 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 alla tua istanza dalla Google Cloud console.
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.
- 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 gestiti dall'utente, controlla la pagina 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 Quote o se hai bisogno di una quota di GPU aggiuntiva, puoi richiedere un aumento della quota. Consulta la sezione Richiesta di aumento della quota nella pagina Quote delle risorse di Compute Engine.
-
Amministratore Notebooks (
roles/notebooks.admin
) -
Service Account User (
roles/iam.serviceAccountUser
) 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 di rete, seleziona la regione geograficamente più vicina a te. Visualizza le posizioni dei blocchi note gestiti dall'utente disponibili.
Seleziona la sezione Stato del sistema.
Nella sezione Integrità e report del sistema, seleziona la casella di controllo Installa l'agente Cloud Monitoring.
Completa il resto della finestra di dialogo di creazione dell'istanza e poi fai clic su Crea.
Da Cloud Shell o da qualsiasi ambiente in cui è installata 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 alla tua istanza dalla Google Cloud console.
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 delle applicazioni.
Nella pagina Dettagli notebook, fai clic sulla scheda Monitoraggio. Esamina le metriche di sistema e delle applicazioni per la tua istanza. Per scoprire come interpretare queste metriche, consulta Esaminare le metriche delle risorse.
Verifica lo stato dei seguenti servizi principali dei blocchi note gestiti dall'utente:
- Servizio Docker
- Agente reverse proxy Docker
- Servizio Jupyter
- API Jupyter
Controlla se lo spazio su disco per i dischi di avvio e dati è utilizzato oltre una soglia dell'85%.
Installa
lsof
(è necessaria una connessione a internet).Raccoglie i seguenti log dell'istanza:
- Informazioni sull'emittente (
ifconfig
,netstat
) - Log nella cartella
/var/log/
- Informazioni sullo stato di Docker
- Dati
lsof
(apri file) - 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 sull'emittente (
Esegue i seguenti comandi e raccoglie i risultati:
- pip freeze
- conda list
- gcloud compute instances describe
INSTANCE_NAME
- gcloud config list
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
Ruoli obbligatori
Se hai creato il progetto, disponi del ruolo IAM Proprietario (roles/owner
) per il 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 tu il progetto, continua in questa sezione.
Per ottenere le autorizzazioni necessarie per creare un'istanza di blocchi note gestiti dall'utente di Vertex AI Workbench, chiedi all'amministratore di concederti i seguenti ruoli IAM per il progetto:
Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.
Potresti anche riuscire a ottenere le autorizzazioni richieste tramite i ruoli personalizzati o altri ruoli predefiniti.
Crea l'istanza
Console
gcloud
Monitorare lo stato di integrità del sistema tramite gli attributi guest
Per le istanze di blocchi note gestiti dall'utente che hanno gli attributi guest correlati abilitati, puoi recuperare i valori degli attributi guest di integrità 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
gcloud con Compute Engine
gcloud compute instances get-guest-attributes INSTANCE_NAME \
--zone ZONE
Sostituisci quanto segue:
Se i servizi di base sono integri, 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, system-health segnala un valore -1
per indicare l'errore del sistema. Nella maggior parte dei casi,
un errore di sistema significa che JupyterLab non è accessibile.
Un esempio di risultato di errore potrebbe avere il seguente aspetto.
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.
Il seguente esempio 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 di base sono integri, 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 avere il seguente aspetto.
{ "healthy": UNHEALTHY, "docker-proxy-agent": 1, "docker-service": 1, "jupyter-service": -1, "jupyter-api": -1, "last-updated": "2020-10-01 17:00:30.12345" }
Segnala metriche personalizzate a Monitoring
Le istanze di blocchi note gestiti dall'utente ti consentono di raccogliere le metriche JupyterLab e quelle relative allo stato del sistema e di inviarle a Cloud Monitoring. Queste metriche personalizzate sono diverse dalle metriche standard riportate quando installi Monitoring sull'istanza di notebook gestiti dall'utente.
Le metriche personalizzate segnalate a Monitoring includono:
In che modo le istanze segnalano le metriche personalizzate a Monitoring
Per segnalare le metriche personalizzate a Monitoring, devi abilitare
l'impostazione dei metadati report-notebook-metrics
durante la
creazione di un'istanza di blocchi note gestiti dall'utente.
Devi anche assicurarti che il account di servizio account dell'istanza di blocchi note gestiti dall'utente disponga delle autorizzazioni di Monitoring Metric Writer (roles/monitoring.metricWriter
). Per saperne di più, consulta la pagina Gestire l'accesso a progetti, cartelle e organizzazioni.
Crea un'istanza di blocchi note gestiti dall'utente che invia metriche personalizzate a Monitoring
Per segnalare metriche personalizzate a Monitoring, devi selezionare la casella di controllo Segnala metriche personalizzate a Cloud Monitoring quando crei un'istanza di blocchi note gestiti dall'utente.
Puoi attivare la segnalazione di metriche personalizzate a Cloud Monitoring utilizzando la console Google Cloud o Google Cloud CLI.
Prima di iniziare
Prima di poter creare un'istanza di blocchi note gestiti dall'utente, devi disporre di un progettoGoogle Cloud e abilitare l'API Notebooks per quel progetto.Ruoli obbligatori
Se hai creato il progetto, disponi del ruolo IAM Proprietario (roles/owner
) per il 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 tu il progetto, continua in questa sezione.
Per ottenere le autorizzazioni necessarie per creare un'istanza di blocchi note gestiti dall'utente di Vertex AI Workbench, chiedi all'amministratore di concederti i seguenti ruoli IAM per il progetto:
Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.
Potresti anche riuscire a ottenere le autorizzazioni richieste tramite i ruoli personalizzati o altri ruoli predefiniti.
Crea l'istanza
Console
gcloud
Concedi le autorizzazioni di scrittura delle metriche di Monitoring al account di servizio
Dopo aver creato
la nuova istanza di blocchi note gestiti dall'utente,
concedi le autorizzazioni di Writer metriche Monitoring
(roles/monitoring.metricWriter
) al account di servizio per
l'istanza di blocchi note gestiti dall'utente.
Per saperne di più, consulta la pagina Gestire l'accesso a progetti, cartelle e organizzazioni.
Monitorare le metriche personalizzate tramite Monitoring
Per le istanze di notebook gestite dall'utente che hanno abilitato la generazione di report sulle metriche personalizzate, puoi monitorare le metriche personalizzate utilizzando la console Google Cloud .
Installa Monitoring su un'istanza
Questa opzione installa automaticamente Monitoring. L'installazione richiede 256 MB di spazio su disco. Perché le metriche vengano inviate a Monitoring è necessaria una connessione a internet.
Come le istanze segnalano le metriche di sistema e dell'applicazione
Per generare report sulle metriche di sistema e delle applicazioni installando
Cloud Monitoring nell'istanza di blocchi note gestiti dall'utente,
devi selezionare la casella di controllo Installa agente Cloud Monitoring quando crei
un'istanza di blocchi note gestiti dall'utente.
Queste metriche sono diverse da quelle personalizzate riportate quando attivi l'impostazione dei metadati report-notebook-metrics
.
Crea un'istanza di blocchi note gestiti dall'utente che invia le metriche di sistema e delle applicazioni a Monitoring
Per installare Monitoring nell'istanza di notebook gestiti dall'utente, puoi utilizzare la console Google Cloud o Google Cloud CLI.
Prima di iniziare
Prima di poter creare un'istanza di blocchi note gestiti dall'utente, devi disporre di un progettoGoogle Cloud e abilitare l'API Notebooks per quel progetto.Ruoli obbligatori
Se hai creato il progetto, disponi del ruolo IAM Proprietario (roles/owner
) per il 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 tu il progetto, continua in questa sezione.
Per ottenere le autorizzazioni necessarie per creare un'istanza di blocchi note gestiti dall'utente di Vertex AI Workbench, chiedi all'amministratore di concederti i seguenti ruoli IAM per il progetto:
Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.
Potresti anche riuscire a ottenere le autorizzazioni richieste tramite i ruoli personalizzati o altri ruoli predefiniti.
Crea l'istanza
Console
gcloud
Monitora le metriche di sistema e delle applicazioni tramite Monitoring
Per le istanze di blocchi note gestiti dall'utente in cui è installato Monitoring, puoi monitorare le metriche di sistema e delle applicazioni utilizzando la console Google Cloud :
Utilizzare lo strumento di diagnostica per monitorare l'integrità del sistema
Le istanze di notebook gestite dall'utente includono uno 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à:
Esegui lo strumento di diagnostica
Per eseguire lo strumento di diagnostica, completa i seguenti passaggi:
Puoi utilizzare le seguenti opzioni con lo strumento di diagnostica.
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 | Esegue senza una 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 |