Monitorizar y depurar cargas de trabajo


Cuando creas, pruebas y ejecutas una carga de trabajo, puede ser útil monitorizar su progreso para depurar problemas. Puede usar las siguientes herramientas para monitorizar y depurar:

  • Cloud Logging: como primer paso para solucionar problemas de una carga de trabajo de Confidential Space, puedes redirigir STDOUT y STDERR a Cloud Logging y, a continuación, comprobar los códigos de retorno de la carga de trabajo para ver dónde se ha producido un error.

  • Imagen de depuración de Confidential Space: la imagen de depuración de Confidential Space mantiene la VM confidencial que ejecuta la carga de trabajo operativa después de que esta se haya completado y ejecuta un servidor SSH. De esta forma, puedes iniciar sesión de forma remota en la VM para diagnosticar problemas. Es útil usar la imagen de depuración hasta que tengas la certeza de que tu código funciona correctamente. Cuando llegue el momento de empezar a trabajar con datos de producción sensibles, cambia a la imagen de Confidential Space de producción.

  • Monitorización del uso de memoria: puedes ver el uso de memoria de la carga de trabajo en Cloud Logging o en Explorador de métricas. El autor de la carga de trabajo debe permitirlo y el operador de la carga de trabajo debe habilitarlo para que se pueda monitorizar el uso de memoria.

  • Shell interactivo: después de usar SSH para conectarte a tu carga de trabajo de VM confidencial, puedes usar el comando sudo ctr task exec -t --exec-id shell tee-container bash para acceder a un shell interactivo dentro del contenedor y diagnosticar problemas de la carga de trabajo.

Almacenamiento de registros

Al igual que cualquier programa de línea de comandos, las cargas de trabajo STDOUT y STDERR se pueden mostrar en la consola. También se puede redirigir a Cloud Logging si el operador de la carga de trabajo define la clave de metadatos tee-container-log-redirect en true o cloud_logging en la VM de Confidential Space y se asegura de que la cuenta de servicio que ejecuta la carga de trabajo tenga el rol logging.logWriter.

El autor de la carga de trabajo puede evitar la redirección con la log_redirectpolítica de lanzamiento.

Para reducir tu perfil de riesgo, registra la cantidad mínima de información y no registres información sensible.

Ver los registros de Espacio confidencial

Si a la cuenta de servicio asociada a tu VM de Confidential Space se le ha concedido el rol logging.logWriter y has redirigido los registros a Cloud Logging, puedes solucionar los errores consultando los registros de la VM:

  1. Ve a Logging (Registro) en el proyecto del operador de cargas de trabajo en laGoogle Cloud consola.

    Ir a Logging

  2. Junto a la pestaña Consulta, haga clic en el intervalo de tiempo para definir el periodo de registro que quiera ver.

  3. Filtra los registros por los siguientes campos de registro, si están disponibles:

    • Tipo de recurso: instancia de VM

    • ID de instancia: ID de la VM confidencial.

    • Nombre del registro: confidential-space-launcher

  4. Lee el mensaje de error para saber cuál es el problema. Es posible que un recurso no se haya configurado correctamente, que las condiciones de los atributos de los proveedores de WIP de tus colaboradores de datos no coincidan con las reclamaciones realizadas por la carga de trabajo de Espacio Confidencial o que la propia carga de trabajo haya tenido un error.

Códigos de retorno

Los códigos de retorno se muestran en la consola al ejecutar el launcher y la carga de trabajo, y se pueden redirigir a Cloud Logging.

Los códigos de retorno se describen en la siguiente tabla:

Código Definición Comportamiento de detención de la VM
0 La carga de trabajo se ha completado correctamente al usar la imagen de producción. La VM se detiene cuando se completa la carga de trabajo.
1 La carga de trabajo o el launcher han devuelto un error al usar la imagen de producción. La VM se detiene después de devolver un error.
3 El launcher se ha reiniciado tras un error debido a su tee-restart-policy. La VM se reinicia.
4 La carga de trabajo o el launcher han terminado de ejecutarse al usar la imagen de depuración y la VM está inactiva. La VM no se detiene después de que se complete la carga de trabajo o devuelva un error. De esta forma, puedes depurar la carga de trabajo a través de SSH.

Si una carga de trabajo falla, un operador de carga de trabajo solo recibe el mensaje workload finished with a non-zero return code, sin más contexto. En el caso de una imagen de producción, el lanzador se puede configurar para que se reinicie si falla con tee-restart-policy=OnFailure.