Ao criar, testar e executar uma carga de trabalho, pode ser útil monitorar o progresso para depurar problemas. As ferramentas a seguir estão disponíveis para monitoramento e depuração:
Cloud Logging: como primeira etapa na solução de problemas de uma carga de trabalho do Confidential Space, é possível redirecionar
STDOUT
eSTDERR
para o Cloud Logging e, em seguida, verificar se há códigos de retorno de carga de trabalho para saber onde ocorreu uma falha.A imagem do Confidential Space de depuração: a imagem do Confidential Space de depuração mantém a VM confidencial operacional após a conclusão da carga de trabalho e executa um servidor SSH. Isso permite que você faça login remotamente na VM para diagnosticar problemas. É útil usar a imagem de depuração até ter certeza de que o código está funcionando corretamente. Quando chegar a hora de começar a trabalhar com dados de produção sensíveis, mude para a imagem do Confidential Space de produção.
Monitoramento do uso de memória: é possível conferir o uso de memória da carga de trabalho no Cloud Logging ou no Metrics Explorer. O autor da carga de trabalho precisa permitir e o operador da carga de trabalho precisa ativar antes que o uso da memória seja rastreado.
Shell interativo: depois de usar o SSH para se conectar à VM confidencial da carga de trabalho, use o comando
sudo ctr task exec -t --exec-id shell tee-container bash
para entrar em um shell interativo dentro do contêiner e diagnosticar problemas de carga de trabalho.
Geração de registros
Como qualquer programa de linha de comando, as cargas de trabalho STDOUT
e STDERR
podem ser
exibidas no console. Também é possível redirecionar para o Cloud Logging definindo a chave de metadados tee-container-log-redirect
como true
ou cloud_logging
na VM do Confidential Space e
garantindo que a conta de serviço que executa a carga de trabalho tenha o
papel logging.logWriter
.
O redirecionamento pode ser impedido pelo autor da carga de trabalho com a
política de inicialização log_redirect
.
Para reduzir seu perfil de risco, registre a quantidade mínima de informações e não registre informações sensíveis.
Conferir os registros do Confidential Space
Se a conta de serviço anexada à sua VM do Confidential Space recebeu o
papel logging.logWriter
e você redirecionou os registros para o Cloud Logging, será possível solucionar os erros visualizando os registros da VM:
Acesse Logging no projeto do operador da carga de trabalho no console do Google Cloud.
Ao lado da guia Query, clique no período para definir o período de registro que você quer visualizar.
Filtre os registros pelos seguintes campos, se estiverem disponíveis:
Tipo de recurso: instância de VM
ID da instância:o ID da instância da VM confidencial.
Nome do registro: confidencial-space-launcherer
Leia a mensagem de falha para saber qual é o problema. Um recurso pode não ter sido configurado corretamente ou as condições dos atributos nos provedores de WIP dos colaboradores de dados podem não corresponder às declarações feitas pela carga de trabalho do Confidential Space ou a carga de trabalho pode ter apresentado um erro.
Códigos de retorno
Os códigos de retorno são exibidos no console ao executar o acesso rápido e a carga de trabalho e podem ser redirecionados para o Cloud Logging.
Os códigos de retorno estão descritos na seguinte tabela:
Código | Definição | Comportamento de parada da VM |
---|---|---|
0 | A carga de trabalho foi concluída com êxito ao usar a imagem de produção. | A VM é interrompida após a conclusão da carga de trabalho. |
1 | A carga de trabalho ou o acesso rápido retornou um erro ao usar a imagem de produção. | A VM é interrompida depois de retornar um erro. |
3 | O acesso rápido foi reiniciado após uma
falha devido ao
tee-restart-policy . |
A VM é reiniciada. |
4 | A execução da carga de trabalho ou do acesso rápido foi concluída ao usar a imagem de depuração e a VM está ociosa. | A VM não para depois que a carga de trabalho é concluída ou retorna um erro. Isso permite depurar a carga de trabalho por SSH. |
Se uma carga de trabalho falhar, um operador de carga de trabalho receberá apenas a mensagem
workload finished with a non-zero return code
, sem contexto adicional. Para
uma imagem de produção, o acesso rápido pode ser definido para reiniciar em caso de falha com
tee-restart-policy=OnFailure
.