Monitorize e depure cargas de trabalho


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

  1. Aceda a Registo no projeto do operador de carga de trabalho na Google Cloud consola.

    Aceda a Registo

  2. Junto ao separador Consulta, clique no intervalo de tempo para definir o período de registo que quer ver.

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

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