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 passo per risolvere i problemi di un carico di lavoro Confidential Space, puoi reindirizzare
STDOUT
eSTDERR
a Cloud Logging e poi controllare i codici restituiti 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 la VM Confidential che esegue il workload operativa dopo il completamento del workload ed esegue un server SSH. In questo modo puoi accedere da remoto alla VM per diagnosticare i problemi. È utile utilizzare l'immagine di debug finché non avrai la certezza che il tuo codice si comporti come dovrebbe. Quando è il momento di iniziare a lavorare sui dati di produzione sensibili, passa all'immagine di Confidential Space di produzione.
Monitoraggio dell'utilizzo della memoria: puoi visualizzare l'utilizzo della memoria del workload in Cloud Logging o Metrics Explorer. L'autore del carico di lavoro deve consentirlo e l'operatore del carico di lavoro deve abilitarlo prima che venga monitorato l'utilizzo della memoria.
Shell interattiva: dopo aver utilizzato SSH per connetterti al tuo carico di lavoro Confidential VM, puoi utilizzare il comando
sudo ctr task exec -t --exec-id shell tee-container bash
per inserire una shell interattiva all'interno del container per diagnosticare i problemi del carico di lavoro.
Logging
Come qualsiasi programma da riga di comando, i carichi di lavoro STDOUT
e STDERR
possono essere
visualizzati nella console. Può anche essere reindirizzato a Cloud Logging se l'operatore del workload imposta la chiave di metadati tee-container-log-redirect
su true
o cloud_logging
nella VM Confidential Space e si assicura che il account di servizio che esegue il workload abbia il ruolo logging.logWriter
.
Il reindirizzamento può essere impedito dall'autore del workload con il
criterio di avvio log_redirect
.
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 tua VM Confidential Space è stato concesso il ruolo
logging.logWriter
e hai reindirizzato i log a Cloud Logging, puoi risolvere gli errori visualizzando i log della VM:
Vai a Logging nel progetto dell'operatore del workload nella console Google Cloud .
Accanto alla scheda Query, fai clic sull'intervallo di tempo per impostare il periodo di logging che vuoi visualizzare.
Filtra i log in base ai seguenti campi del log, se disponibili:
Tipo di risorsa:istanza VM
ID istanza:l'ID istanza della Confidential VM
Nome log: confidential-space-launcher
Leggi il messaggio di errore per scoprire qual è il problema. Una risorsa potrebbe non essere stata configurata correttamente, le condizioni degli attributi nei fornitori WIP dei collaboratori dei dati potrebbero non corrispondere alle attestazioni effettuate dal carico di lavoro Confidential Space oppure il carico di lavoro stesso potrebbe aver generato un errore.
Codici di reso
I codici di ritorno vengono visualizzati nella console durante l'esecuzione di launcher e workload e possono essere reindirizzati a Cloud Logging.
I codici restituiti sono descritti nella tabella seguente:
Codice | Definizione | Comportamento di arresto della VM |
---|---|---|
0 | Il workload è stato completato correttamente quando è stata utilizzata l'immagine di produzione. | La VM si arresta al termine del carico di lavoro. |
1 | Il workload o il launcher ha restituito un errore durante l'utilizzo dell'immagine di produzione. | La VM si arresta dopo aver restituito un errore. |
3 | Il launcher è stato riavviato dopo un
errore dovuto al suo
tee-restart-policy . |
La VM viene riavviata. |
4 | Il carico di lavoro o il launcher ha terminato l'esecuzione quando si utilizza l'immagine di debug e la VM è ora inattiva. | La VM non si arresta al termine del carico di lavoro o restituisce un errore. In questo modo puoi eseguire il debug del carico di lavoro tramite SSH. |
Se un carico di lavoro non va a buon fine, un operatore del carico di lavoro riceve solo il messaggio
workload finished with a non-zero return code
, senza ulteriore contesto. Per
un'immagine di produzione, l'avvio app può essere impostato per il riavvio in caso di errore con
tee-restart-policy=OnFailure
.