Monitorare ed eseguire il debug dei carichi di lavoro


Quando crei, testi ed esegui un carico di lavoro, può essere utile monitorarne l'avanzamento per eseguire il debug dei problemi. Per il monitoraggio e il debug sono disponibili i seguenti strumenti:

  • Cloud Logging: come primo passaggio per la risoluzione dei problemi di un carico di lavoro Confidential Space, puoi indirizzare STDOUT e STDERR a Cloud Logging, quindi controllare se sono presenti codici di ritorno del carico di lavoro per vedere dove si è verificato un errore.

  • L'immagine di debug di Confidential Space: l'immagine di debug di Confidential Space mantiene operativa la VM Confidential che esegue il workload al termine del completamento del workload ed esegue un server SSH. In questo modo puoi accedere alla VM da remoto per diagnosticare i problemi. È utile utilizzare l'immagine di debug finché non hai la certezza che il codice funzioni come dovrebbe. Quando è il momento di iniziare a lavorare con i dati di produzione sensibili, passa all'immagine di Confidential Space di produzione.

  • Monitoraggio dell'utilizzo della memoria: puoi visualizzare l'utilizzo della memoria del carico di lavoro in Cloud Logging o Metrics Explorer. L'autore del carico di lavoro deve consentirlo e l'operatore del carico di lavoro deve attivarlo prima che l'utilizzo della memoria venga monitorato.

  • Shell interattiva: dopo aver utilizzato SSH per connetterti alla VM con il livello di riservatezza del tuo carico di lavoro, puoi utilizzare il comando sudo ctr task exec -t --exec-id shell tee-container bash per accedere a una shell interattiva all'interno del contenitore per diagnosticare i problemi del carico di lavoro.

Logging

Come qualsiasi programma a riga di comando, i carichi di lavoro STDOUT e STDERR possono essere visualizzati nella console. Può anche essere reindirizzato a Cloud Logging dall'operatore del carico di lavoro impostando la chiave dei metadati tee-container-log-redirect su true o cloud_logging sulla VM Confidential Space e assicurandosi che l'account di servizio che esegue il carico di lavoro abbia il ruolo logging.logWriter.

Il reindirizzamento può essere impedito dall'autore del carico di lavoro con il log_redirect criterio di lancio.

Per ridurre il tuo profilo di rischio, registra la quantità minima di informazioni e non registrare informazioni sensibili.

Visualizzare i log di Confidential Space

Se all'account di servizio collegato alla VM dello spazio riservato è stato concesso il ruolo logging.logWriter e hai reindirizzato i log a Cloud Logging, puoi risolvere i problemi visualizzando i log della VM:

  1. Vai a Logging nel progetto dell'operatore del carico di lavoro nella console Google Cloud.

    Vai a Logging

  2. Accanto alla scheda Query, fai clic sull'intervallo di tempo per impostare il periodo di registrazione che vuoi visualizzare.

  3. Filtra i log in base ai seguenti campi, se disponibili:

    • Tipo di risorsa:Istanza VM

    • ID istanza:l'ID istanza della VM Confidential

    • Nome del log: confidential-space-launcher

  4. Leggi il messaggio di errore per scoprire qual è il problema. È possibile che una risorsa non sia stata configurata correttamente, che le condizioni degli attributi nei fornitori di WIP dei tuoi collaboratori dei dati non corrispondano alle rivendicazioni fatte dal carico di lavoro Confidential Space o che il carico di lavoro stesso abbia avuto un errore.

Codici di ritorno

I codici di ritorno vengono visualizzati nella console durante l'esecuzione del lanciatore e del carico di lavoro e possono essere reindirizzati a Cloud Logging.

I codici di ritorno sono descritti nella tabella seguente:

Codice Definizione Comportamento di arresto della VM
0 Il carico di lavoro è stato completato correttamente quando è stata utilizzata l'immagine di produzione. La VM si arresta al termine del carico di lavoro.
1 Il carico di lavoro o il programma di lancio ha restituito un errore durante l'utilizzo dell'immagine di produzione. La VM si arresta dopo aver fornito un errore.
3 Il programma di avvio si è riavviato dopo un errore a causa del suo tee-restart-policy. La VM viene riavviata.
4 Il carico di lavoro o il programma di lancio è stato completato quando si utilizza l'immagine di debug e la VM è inutilizzata. La VM non si arresta al termine del carico di lavoro o restituisce un errore. In questo modo puoi eseguire il debug del loro carico di lavoro tramite SSH.

Se un carico di lavoro non va a buon fine, l'operatore del carico di lavoro riceve solo il messaggioworkload finished with a non-zero return code, senza ulteriore contesto. Per un'immagine di produzione, il programma di avvio può essere impostato per riavviarsi in caso di errore con tee-restart-policy=OnFailure.