Quando crei, testi ed esegui un carico di lavoro, può essere utile monitorarne l'avanzamento per eseguire il debug dei problemi. Sono disponibili i seguenti strumenti per il monitoraggio e il debug:
Cloud Logging: come primo passo per la risoluzione dei problemi di un carico di lavoro Confidential Space, puoi reindirizzare
STDOUTeSTDERRa Cloud Logging, quindi 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 operativa la Confidential VM che esegue il carico di lavoro dopo il completamento del carico di lavoro ed esegue un server SSH. In questo modo puoi accedere in remoto alla VM per diagnosticare i problemi. È utile utilizzare l'immagine di debug finché non avrai la certezza che il codice si comporti come dovrebbe. Quando è il momento di iniziare a lavorare sui dati di produzione sensibili, passa all'immagine Confidential Space di produzione.
Monitoraggio dell'utilizzo della memoria: puoi visualizzare l'utilizzo della memoria del carico di lavoro in Cloud Logging o Esplora metriche. L'autore del carico di lavoro deve consentirlo e l'operatore del carico di lavoro deve abilitarlo prima che la memoria utilizzata venga monitorata.
Shell interattiva: dopo aver utilizzato SSH per connetterti alla VM confidenziale del tuo workload, puoi utilizzare il comando
sudo ctr task exec -t --exec-id shell tee-container bashper inserire una shell interattiva all'interno del container per diagnosticare i problemi del workload.
Logging
Come qualsiasi programma a riga di comando, i workload STDOUT e STDERR possono essere
visualizzati nella console. Può anche essere reindirizzato a Cloud Logging dall'operatore del workload impostando la chiave di metadati tee-container-log-redirect su true o cloud_logging nella VM Confidential Space e assicurandosi che il account di servizio che esegue il workload abbia il ruolo logging.logWriter.
Il reindirizzamento può essere impedito dall'autore del workload con la
policy 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 al account di servizio collegato alla 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 consoleGoogle 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 restituiti 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 workload 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'utilità di avvio può essere impostata per il riavvio in caso di errore con
tee-restart-policy=OnFailure.