Monitorar e depurar cargas de trabalho


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 e STDERR 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:

  1. Acesse Logging no projeto do operador da carga de trabalho no console do Google Cloud.

    Acessar o Logging

  2. Ao lado da guia Query, clique no período para definir o período de registro que você quer visualizar.

  3. 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

  4. 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.