Ao criar, testar e executar uma carga de trabalho, pode ser útil monitorizar o respetivo progresso para depurar problemas. As seguintes ferramentas estão disponíveis para utilização na monitorização e depuração:
Cloud Logging: como primeiro passo na resolução de problemas de um fluxo de trabalho do Confidential Space, pode redirecionar
STDOUT
eSTDERR
para o Cloud Logging e, em seguida, verificar se existem códigos de retorno do fluxo de trabalho para ver onde ocorreu uma falha.A imagem do espaço confidencial de depuração: a imagem do espaço confidencial de depuração mantém a Confidential VM a executar a carga de trabalho operacional depois de a carga de trabalho ter sido concluída e executa um servidor SSH. Isto permite-lhe iniciar sessão remotamente na VM para diagnosticar problemas. É útil usar a imagem de depuração até ter a certeza de que o código está a funcionar como esperado. Quando for altura de começar a trabalhar em dados de produção confidenciais, mude para a imagem do espaço confidencial de produção.
Monitorização da utilização de memória: pode ver a utilização de memória da carga de trabalho no Cloud Logging ou no Metrics Explorer. O autor da carga de trabalho tem de o permitir, e o operador da carga de trabalho tem de o ativar antes de a utilização da memória ser monitorizada.
Shell interativo: depois de usar o SSH para estabelecer ligação à sua carga de trabalho VM confidencial, pode usar o comando
sudo ctr task exec -t --exec-id shell tee-container bash
para introduzir um shell interativo no contentor para diagnosticar problemas de carga de trabalho.
Registo
Tal como qualquer programa de linha de comandos, a carga de trabalho STDOUT
e STDERR
podem ser apresentadas na consola. Também pode ser redirecionado para o Cloud Logging através da definição do operador da carga de trabalho da chave de metadados tee-container-log-redirect
para true
ou cloud_logging
na VM do espaço confidencial e garantindo que a conta de serviço que executa a carga de trabalho tem a função logging.logWriter
.
O redirecionamento pode ser evitado pelo autor da carga de trabalho com a log_redirect
política de lançamento.
Para reduzir o seu perfil de risco, registe a quantidade mínima de informações e não registe informações confidenciais.
Veja os registos do espaço confidencial
Se a conta de serviço associada à sua VM do espaço confidencial tiver recebido a função logging.logWriter
e tiver redirecionado os registos para o Cloud Logging, pode resolver problemas visualizando os registos da VM:
Aceda a Registo no projeto do operador de carga de trabalho na Google Cloud consola.
Junto ao separador Consulta, clique no intervalo de tempo para definir o período de registo que quer ver.
Filtre os registos pelos seguintes campos de registo, se estiverem disponíveis:
Tipo de recurso: instância de VM
ID da instância: o ID da instância da Confidential VM
Nome do registo: confidential-space-launcher
Leia a mensagem de falha para saber qual é o problema. Um recurso pode não ter sido configurado corretamente, as condições dos atributos nos fornecedores de WIP dos seus colaboradores de dados podem não corresponder às reivindicações feitas pela carga de trabalho do espaço confidencial ou a própria carga de trabalho pode ter tido um erro.
Códigos de retorno
Os códigos de retorno são apresentados na consola quando executa o launcher e a carga de trabalho, e podem ser redirecionados para o Cloud Logging.
Os códigos de retorno estão descritos na tabela seguinte:
Código | Definição | Comportamento de paragem da VM |
---|---|---|
0 | A carga de trabalho foi concluída com êxito quando usou a imagem de produção. | A VM para após a conclusão da carga de trabalho. |
1 | A carga de trabalho ou o launcher devolveu um erro ao usar a imagem de produção. | A VM para depois de devolver um erro. |
3 | O Launcher foi reiniciado após uma falha devido ao respetivo tee-restart-policy . |
A VM é reiniciada. |
4 | A carga de trabalho ou o Launcher terminou a execução quando usou a imagem de depuração e a VM está agora inativa. | A VM não para após a conclusão da carga de trabalho ou devolve um erro. Isto permite-lhe depurar a carga de trabalho através de SSH. |
Se uma carga de trabalho falhar, um operador de carga de trabalho só recebe a mensagem
workload finished with a non-zero return code
, sem contexto adicional. Para uma imagem de produção, o Launcher pode ser definido para reiniciar em caso de falha com tee-restart-policy=OnFailure
.