Monitoraggio dello stato di integrità

Le istanze di blocchi note gestiti dall'utente forniscono diversi metodi per monitorare l'integrità dei tuoi blocchi note. 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:

Configura gcloud CLI

Per completare alcuni dei passaggi indicati in questa pagina, devi utilizzare Google Cloud CLI.

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 sull'integrità della tua istanza di blocchi note gestiti dall'utente, devi attivare i seguenti attributi guest mentre creando un'istanza di blocchi note gestiti dall'utente:

  • enable-guest-attributes=TRUE: consente agli ospiti sulla tua istanza di blocchi note gestiti dall'utente. Tutti nuovi istanze abilitano questo attributo per impostazione predefinita.
  • report-system-health=TRUE: questo sistema di registrazione i risultati del controllo di integrità in base agli attributi degli ospiti.

Il servizio notebooks-collection-agent non ha bisogno eventuali autorizzazioni speciali per scrivere negli attributi guest dell'istanza.

Crea un'istanza di blocchi note gestiti dall'utente con attributi guest dell'integrità del sistema abilitati

Per utilizzare gli attributi guest dell'integrità del sistema per segnalare sull'integrità della tua istanza di blocchi note gestiti dall'utente, devi selezionare la casella di controllo Abilita report sull'integrità del sistema quando crei per un'istanza di blocchi note 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 notebook gestita dall'utente, devi avere un progetto Google Cloud e abilitare l'API Notebooks per quel progetto.
  1. 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.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  4. Enable the Notebooks API.

    Enable the API

  5. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  6. Make sure that billing is enabled for your Google Cloud project.

  7. Enable the Notebooks API.

    Enable the API

  8. Se prevedi di utilizzare GPU con la tua istanza di notebook gestita dall'utente, controlla la pagina Quote in Google Cloud Console per assicurarti di disporre di un numero sufficiente di GPU nel progetto. Se le GPU non sono elencati nella pagina delle quote o 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 tu il progetto, hai Ruolo IAM del proprietario (roles/owner) nel progetto, che include tutte le autorizzazioni richieste. Salta questa sezione e per iniziare a creare l'istanza di blocchi note gestiti dall'utente. Se non lo hai fatto creare il progetto autonomamente, continua in questa sezione.

Per assicurarti che il tuo account utente disponga degli le autorizzazioni per creare un'istanza di blocchi note gestiti dall'utente di Vertex AI Workbench, chiedi all'amministratore di concedere al tuo account utente la seguenti ruoli IAM sul progetto:

Per saperne di più sulla concessione dei ruoli, consulta Gestire l'accesso a progetti, cartelle e organizzazioni.

L'amministratore potrebbe anche essere in grado di fornire il tuo account utente le autorizzazioni richieste tramite la ruoli o altri ruoli predefiniti ruoli.

Crea l'istanza

Console

  1. 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.

    Vai a Blocchi note gestiti dall'utente

  2. Fai clic su  Nuovo blocco note, quindi seleziona Personalizza.

  3. 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.
  4. Seleziona la sezione Stato di salute del sistema.

  5. Nella sezione Integrità del sistema e report, seleziona la casella di controllo Attiva report sull'integrità del sistema.

  6. Completa il resto della finestra di dialogo per la creazione dell'istanza e fai clic su Crea.

gcloud

  1. 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 del nuovo istanza
    • IMAGE_FAMILY: il nome della famiglia di immagini che vuoi utilizzare per creare l'istanza
    • MACHINE_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 esempio us-west1-a
  2. Accedi all'istanza da nella console Google Cloud.

Monitora l'integrità 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

  1. Nella console Google Cloud, vai alla pagina Blocchi note gestiti dall'utente.

    Vai a Blocchi note gestiti dall'utente

  2. Fai clic sul nome dell'istanza di cui vuoi visualizzare lo stato di integrità del sistema.

  3. Nella pagina Dettagli notebook, fai clic sulla scheda Stato. Rivedi lo stato dell'istanza e dei suoi servizi principali.

gcloud con Compute Engine

gcloud compute instances get-guest-attributes INSTANCE_NAME \
    --zone ZONE

Sostituisci quanto segue:

  • INSTANCE_NAME: il nome dell'istanza
  • ZONE: la zona in cui si trova l'istanza

Se i servizi principali sono operativi, i risultati sono simili a quelli riportati di seguito. Il valore 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 errore di 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 getInstanceHealth per recuperare i valori degli attributi guest.

L'esempio seguente mostra come eseguire questa operazione utilizzando l'interfaccia a riga di comando gcloud.

gcloud notebooks instances is-healthy example-instance \
    --location=ZONE

Sostituisci ZONE con la zona in cui è presente l'istanza situato, ad esempio us-west1-a.

Se i servizi principali sono integri, i risultati saranno simili ai seguenti. 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"
  }

Segnala 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 Monitoring includono:

  • L'integrità del sistema di questi servizi principali dei blocchi note 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 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 inoltre assicurarti che i blocchi note gestiti dall'utente account di servizio dell'istanza ha un Writer metriche Monitoring (roles/monitoring.metricWriter) autorizzazioni aggiuntive. 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 blocchi note gestiti dall'utente, devi avere un progetto Google Cloud e abilita l'API Notebooks per quel progetto.
  1. 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.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  4. Enable the Notebooks API.

    Enable the API

  5. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  6. Make sure that billing is enabled for your Google Cloud project.

  7. Enable the Notebooks API.

    Enable the API

  8. Se prevedi di utilizzare GPU con di blocchi note gestiti dall'utente, verifica la pagina delle quote nella Console Google Cloud per assicurarti di avere a disposizione un numero sufficiente di GPU nel progetto. Se le GPU non sono elencati nella pagina delle quote o hai bisogno di una quota GPU aggiuntiva, puoi richiedere un aumento della quota. Consulta la sezione Richiesta di un aumento della quota sulla alla pagina Quote delle risorse di Compute Engine.

Ruoli obbligatori

Se hai creato tu il progetto, hai Ruolo IAM del proprietario (roles/owner) nel progetto, che include tutte le autorizzazioni richieste. Salta questa sezione e per iniziare a creare l'istanza di blocchi note gestiti dall'utente. Se non lo hai fatto creare il progetto autonomamente, continua in questa sezione.

Per assicurarti che il tuo account utente disponga degli le autorizzazioni per creare un'istanza di blocchi note gestiti dall'utente di Vertex AI Workbench, chiedi all'amministratore di concedere al tuo account utente la seguenti ruoli IAM sul progetto:

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

  1. 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.

    Vai a Blocchi note gestiti dall'utente

  2. Fai clic su  Nuovo blocco note. e seleziona Personalizza.

  3. Nella pagina Crea un blocco note gestito dall'utente, nella sezione Dettagli, fornisci le seguenti informazioni per la nuova istanza:

  4. Seleziona la sezione Stato di salute del sistema.

  5. Nella sezione Integrità del sistema e report, seleziona il Casella di controllo Segnala metriche personalizzate a Cloud Monitoring.

  6. Completa la parte rimanente della finestra di dialogo di creazione dell'istanza e poi fai clic su Crea.

gcloud

  1. Da Cloud Shell o in qualsiasi ambiente in cui è installata Google Cloud CLI, inserisci questo 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 del nuovo istanza
    • IMAGE_FAMILY: la famiglia di immagini nome che vuoi utilizzare per creare la tua istanza
    • MACHINE_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 esempio us-west1-a
  2. Accedi all'istanza dalla console Google Cloud.

Concedi le autorizzazioni di autore di metriche di monitoraggio all'account di servizio

Dopo aver creato la tua nuova istanza di blocchi note gestiti dall'utente, concedi le autorizzazioni Writer metriche Monitoring (roles/monitoring.metricWriter) per l'account di servizio per l'istanza Notebooks gestiti dall'utente. Per ulteriori informazioni, vedi Gestire l'accesso a progetti, cartelle e organizzazioni.

Monitora le metriche personalizzate tramite Monitoring

Per le istanze di blocchi note gestiti dall'utente Avere attivato le metriche personalizzate per i report, puoi monitorare le metriche personalizzate utilizzando la console Google Cloud.

  1. Nella console Google Cloud, vai alla pagina Blocchi note gestiti dall'utente.

    Vai a Blocchi note gestiti dall'utente

  2. Fai clic sul nome dell'istanza di cui vuoi visualizzare le metriche personalizzate.

  3. Nella pagina Dettagli blocco note, fai clic sulla scheda Monitoring. 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.

Come le istanze segnalano metriche di sistema e di applicazione

Per segnalare metriche di sistema e delle applicazioni installando Cloud Monitoring sull'istanza di blocchi note gestiti dall'utente devi selezionare la casella di controllo Installa l'agente Cloud Monitoring quando crei per un'istanza di blocchi note gestiti dall'utente. Queste metriche sono diverse da quelle personalizzate che vengono segnalate quando abiliti i metadati report-notebook-metrics dell'audiodescrizione.

Creare un'istanza di blocchi note gestiti dall'utente che segnala le metriche di sistema e dell'applicazione a Monitoring

Per installare Monitoring sul tuo di blocchi note gestiti 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 progetto Google Cloud e abilitare l'API Notebooks per quel progetto.
  1. 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.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  4. Enable the Notebooks API.

    Enable the API

  5. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  6. Make sure that billing is enabled for your Google Cloud project.

  7. Enable the Notebooks API.

    Enable the API

  8. Se prevedi di utilizzare GPU con di blocchi note gestiti dall'utente, verifica la pagina delle quote nella Console Google Cloud per assicurarti di avere a disposizione un numero sufficiente di GPU nel progetto. Se le GPU non sono elencati nella pagina delle quote o hai bisogno di una quota GPU aggiuntiva, puoi richiedere un aumento della quota. Consulta la sezione Richiesta di un aumento della quota sulla alla pagina Quote delle risorse di Compute Engine.

Ruoli obbligatori

Se hai creato tu il progetto, hai Ruolo IAM del proprietario (roles/owner) nel progetto, che include tutte le autorizzazioni richieste. Salta questa sezione e per iniziare a creare l'istanza di blocchi note gestiti dall'utente. Se non lo hai fatto creare il progetto autonomamente, 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:

Per saperne di più sulla concessione dei ruoli, consulta Gestire l'accesso a progetti, cartelle e organizzazioni.

L'amministratore potrebbe anche essere in grado di fornire il tuo account utente le autorizzazioni richieste tramite la ruoli o altri ruoli predefiniti ruoli.

Crea l'istanza

Console

  1. Nella console Google Cloud, vai alla pagina Notebook gestiti dall'utente. Oppure vai a notebook.new (https://notebook.new) e salta il passaggio successivo.

    Vai a Blocchi note gestiti dall'utente

  2. Fai clic su  Nuovo blocco note. e seleziona Personalizza.

  3. Nella pagina Crea un blocco note gestito dall'utente, nella sezione Dettagli, fornisci le seguenti informazioni per la nuova istanza:

  4. Seleziona la sezione Stato di salute del sistema.

  5. Nella sezione Integrità del sistema e report, seleziona il Casella di controllo Installa l'agente Cloud Monitoring.

  6. Completa il resto della finestra di dialogo per la creazione dell'istanza e fai clic su Crea.

gcloud

  1. 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 del nuovo istanza
    • IMAGE_FAMILY: la famiglia di immagini nome che vuoi utilizzare per creare la tua istanza
    • MACHINE_TYPE: il tipo di macchina della VM dell'istanza; ad esempio, n1-standard-4
    • ZONE: la zona in cui in cui vuoi posizionare la nuova istanza ad esempio us-west1-a
  2. Accedi all'istanza dalla console Google Cloud.

Monitora le metriche di sistema e delle applicazioni tramite Monitoring

Per le istanze di blocchi note gestiti dall'utente Monitoring è installato, puoi monitorare le metriche di sistema e dell'applicazione utilizzando la console Google Cloud:

  1. Nella console Google Cloud, vai alla pagina Notebook gestiti dall'utente.

    Vai a Blocchi note gestiti dall'utente

  2. Fai clic sul nome dell'istanza di cui vuoi visualizzare le metriche di sistema e di applicazione.

  3. 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.

Utilizza lo strumento di diagnostica per monitorare l'integrità 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 dati viene utilizzato oltre una soglia dell'85%.

  • Installa lsof (è necessaria una connessione a internet).

  • Raccoglie i seguenti log dell'istanza:

    • Informazioni di rete (ifconfig, netstat)
    • Log nella cartella /var/log/
    • Informazioni sullo stato di Docker
    • Dati di lsof (file aperti)
    • Stato del servizio Docker
    • Stato inversione agente proxy
    • Stato del servizio Jupyter
    • Stato dell'API Jupyter
    • File di configurazione dell'agente proxy
    • Processi Python
  • Esegue i seguenti comandi e raccoglie i risultati:

    • pip freeze
    • elenco conda
    • gcloud compute instances describe INSTANCE_NAME
    • gcloud config list

Esegui lo strumento di diagnostica

Per eseguire lo strumento di diagnostica, svolgi i seguenti passaggi:

  1. Utilizza SSH per connetterti ai blocchi note gestiti dall'utente in esecuzione.

  2. Nel terminale SSH, esegui questi comandi:

    sudo -i
    cd /opt/deeplearning/bin/
    ./diagnostic_tool.sh

    Lo strumento di diagnostica raccoglie i log, le comprime in un file .tar.gz, e inserisce il file nella cartella /tmp/.

  3. Estrai il file e valuta i contenuti. I contenuti includono:

    • Cartella log: log da la cartella var/log/
    • report.log: output per tutti i comandi raccolti
    • proxy-agent-config.json: Informazioni sulla configurazione del proxy
    • Log Docker: un file -json.log che include i log dei container Docker

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 in dell'istanza di blocchi note gestiti dall'utente, filtrando SSH
-d Una cartella di destinazione in cui salvare i log
-h Guida

Passaggi successivi