Supervisar el estado

Las instancias de notebooks administrados por el usuario proporcionan varios métodos para supervisar el estado de los notebooks. En esta página, se describe cómo usar cada método.

Métodos para supervisar el estado

Puedes supervisar el estado de las instancias de notebooks administrados por el usuario de varias maneras. En esta página, se describe cómo usar los siguientes métodos:

Configura la CLI de gcloud

Para completar algunos de los pasos de esta página, debes usar Google Cloud CLI.

Install the Google Cloud CLI, then initialize it by running the following command:

gcloud init

Usa atributos de invitado para informar el estado del sistema

Puedes usar los atributos de invitado para informar el estado del sistema de los siguientes servicios principales:

  • Servicio de Docker
  • Agente de proxy inverso de Docker
  • Servicio de Jupyter
  • API de Jupyter

Los atributos de invitado son un tipo específico de metadatos personalizados en los que las aplicaciones pueden escribir mientras se ejecutan en la instancia de notebooks administrados por el usuario. Para obtener más información sobre los atributos de invitado, consulta Información sobre los metadatos de VM.

Cómo las instancias usan los atributos de invitado para informar el estado del sistema

El servicio notebooks-collection-agent ejecuta un proceso de Python en segundo plano que verifica el estado de los servicios principales de la instancia de notebooks administrados por el usuario y actualiza los atributos de invitado como 1 si no se detectan problemas o -1 si se detecta una falla.

Para usar el servicio notebooks-collection-agent a fin de informar sobre el estado de la instancia de notebooks administrados por el usuario, debes habilitar los siguientes atributos de invitado mientras creas una instancia de notebooks administrados por el usuario:

  • enable-guest-attributes=TRUE: Habilita los atributos de invitado en la instancia de notebooks administrados por el usuario. Todas las instancias nuevas habilitan este atributo de forma predeterminada
  • report-system-health=TRUE: Registra los resultados de la verificación de estado del sistema en los atributos de invitado.

El servicio notebooks-collection-agent no necesita ningún permiso especial para escribir en los atributos de invitado de la instancia.

Crea una instancia de notebooks administrados por el usuario con los atributos de invitado del estado del sistema habilitados

Para usar los atributos de invitado del estado del sistema a fin de informar sobre el estado de la instancia de notebooks administrados por el usuario, debes seleccionar la casilla de verificación Habilitar informe de estado del sistema cuando crees una instancia de notebooks administrados por el usuario.

Puedes habilitar el informe de estado del sistema con la consola de Google Cloud o Google Cloud CLI.

Antes de comenzar

Antes de crear una instancia de notebook administrada por el usuario, debes tener un proyecto de Google Cloud y habilitar la API de Notebooks para ese proyecto.
  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  4. Enable the Notebooks API.

    Enable the API

  5. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  6. Make sure that billing is enabled for your Google Cloud project.

  7. Enable the Notebooks API.

    Enable the API

  8. Si planeas usar GPU con la instancia de notebooks administrados por el usuario, consulta la página de cuotas en la consola de Google Cloud para asegurarte de que tienes suficientes GPU disponibles en el proyecto. Si las GPU no están enumeradas en la página de cuotas o necesitas obtener más cuota de GPU, puedes solicitar un aumento de cuota. Consulta Solicita un aumento de la cuota en la página Cuotas de recursos de Compute Engine.

Roles obligatorios

Si creaste el proyecto, tienes el rol de IAM propietario (roles/owner) en el proyecto, que incluye todos los permisos necesarios. Omite esta sección y comienza a crear tu instancia de notebooks administradas por el usuario. Si tú no creaste el proyecto, quédate en esta sección.

Para garantizar que tu cuenta de usuario tenga los permisos necesarios para crear una instancia de notebooks administrados por el usuario de Vertex AI Workbench, pídele a tu administrador que otorgue a tu cuenta de usuario los siguientes roles de IAM en el proyecto:

Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.

Es posible que tu administrador también pueda otorgar a tu cuenta de usuario los permisos necesarios a través de roles personalizados o de otros roles predefinidos.

Crea la instancia

Console

  1. En la consola de Google Cloud, ve a la página Notebooks administrados por el usuario. O bien, dirígete a notebook.new (https://notebook.new) y omite el siguiente paso.

    Ir a Notebooks administrados por el usuario

  2. Haz clic en Nuevo notebook y elige Personalizar.

  3. En la página Crear un notebook administrado por el usuario, en la sección Detalles, proporciona la siguiente información para tu instancia nueva:

    • Nombre: un nombre para tu instancia nueva
    • Región y Zona: Selecciona una región y una zona para la instancia nueva. Para obtener el mejor rendimiento de red, elige la región que se encuentra más cerca de tu ubicación geográfica. Consulta las ubicaciones de notebooks administrados por el usuario disponibles.
  4. Selecciona la sección Estado del sistema.

  5. En la sección Informes y estado del sistema, selecciona la casilla de verificación Habilitar informe de estado del sistema.

  6. Completa el resto del diálogo de creación de la instancia y, luego, haz clic en Crear.

gcloud

  1. Desde Cloud Shell o cualquier entorno en el que Google Cloud CLI esté instalado, escribe el siguiente comando de Google Cloud CLI:

    gcloud notebooks instances create INSTANCE_NAME \
        --vm-image-project=deeplearning-platform-release \
        --vm-image-family=IMAGE_FAMILY \
        --machine-type=MACHINE_TYPE \
        --location=ZONE \
        --metadata=enable-guest-attributes=TRUE,report-system-health=TRUE
    

    Reemplaza lo siguiente:

    • INSTANCE_NAME: nombre de tu instancia nueva
    • IMAGE_FAMILY: nombre de la familia de imágenes que deseas usar para crear tu instancia
    • MACHINE_TYPE: Es el tipo de máquina de la VM de tu instancia; por ejemplo, n1-standard-4.
    • ZONE: Es la zona en la que deseas que se ubique la instancia nueva, por ejemplo, us-west1-a.
  2. Accede a tu instancia desde la consola de Google Cloud.

Supervisa el estado del sistema mediante atributos de invitado

Para las instancias de notebooks administrados por el usuario que tienen los atributos de invitado relacionados habilitados, puedes recuperar los valores de los atributos de invitado del estado del sistema mediante la consola de Google Cloud, Google Cloud CLI con los comandos de Compute Engine o Google Cloud CLI con los comandos de Vertex AI Workbench.

Console

  1. En la consola de Google Cloud, ve a la página Notebooks administrados por el usuario.

    Ir a Notebooks administrados por el usuario

  2. Haz clic en el nombre de la instancia del que deseas ver el estado del sistema.

  3. En la página Detalles del notebook, haz clic en la pestaña Estado. Revisa el estado de tu instancia y sus servicios principales.

gcloud con Compute Engine

gcloud compute instances get-guest-attributes INSTANCE_NAME \
    --zone ZONE

Reemplaza lo siguiente:

  • INSTANCE_NAME: el nombre de tu instancia
  • ZONE: La zona en la que se encuentra la instancia.

Si tus servicios principales están en buen estado, los resultados se verán de la siguiente manera. Un valor de 1 significa que no se detectó ninguna falla.

 NAMESPACE   KEY                         VALUE
 notebooks   docker_proxy_agent_status   1
 notebooks   docker_status               1
 notebooks   jupyterlab_api_status       1
 notebooks   jupyterlab_status           1
 notebooks   system-health               1
 notebooks   updated                     2020-10-01 17:00:00.12345

Si alguno de los cuatro servicios principales falla, el estado del sistema informa un valor -1 para indicar una falla del sistema. En la mayoría de los casos, una falla del sistema significa que JupyterLab no es accesible.

Un ejemplo de un resultado de falla podría verse de la siguiente manera.

 NAMESPACE   KEY                         VALUE
 notebooks   docker_proxy_agent_status   -1
 notebooks   docker_status               -1
 notebooks   jupyterlab_api_status       1
 notebooks   jupyterlab_status           1
 notebooks   system-health               -1
 notebooks   updated                     2020-10-01 17:00:00.12345

gcloud con Vertex AI Workbench

Para supervisar el estado de tu sistema, puedes usar el método getInstanceHealth a fin de recuperar los valores de tus atributos de invitado.

En el siguiente ejemplo, se muestra cómo hacerlo mediante la CLI de gcloud.

gcloud notebooks instances is-healthy example-instance \
    --location=ZONE

Reemplaza ZONE por la zona en la que se encuentra la instancia, por ejemplo, us-west1-a.

Si tus servicios principales están en buen estado, los resultados se verán de la siguiente manera. Un valor de 1 significa que no se detectó ninguna falla.

  {
          "health_state": HEALTHY,
          "docker-proxy-agent": 1,
          "docker-service": 1,
          "jupyter-service": 1,
          "jupyter-api": 1,
          "last-updated": "2020-10-01 17:00:30.12345"
  }

Un ejemplo de un resultado de falla podría verse de la siguiente manera.

  {
          "healthy": UNHEALTHY,
          "docker-proxy-agent": 1,
          "docker-service": 1,
          "jupyter-service": -1,
          "jupyter-api": -1,
          "last-updated": "2020-10-01 17:00:30.12345"
  }

Informa métricas personalizadas a Monitoring

Las instancias de notebooks administrados por el usuario te permiten recopilar el estado del sistema y las métricas de JupyterLab, y, luego, informarlos a Cloud Monitoring. Estas métricas personalizadas son diferentes de las métricas estándar que se informan cuando instalas Monitoring en tu instancia de notebooks administrados por el usuario.

Las métricas personalizadas que se informan a Monitoring incluyen las siguientes:

  • El estado del sistema de los servicios principales de estos notebooks administrados por el usuario:

    • Servicio de Docker
    • Agente de proxy inverso de Docker
    • Servicio de Jupyter
    • API de Jupyter
  • Las siguientes métricas de JupyterLab:

    • Cantidad de kernels
    • Cantidad de terminales
    • Número de conexiones
    • Cantidad de sesiones
    • Máximo de memoria
    • Capacidad de memoria alta
    • Memoria actual

Cómo las instancias informan las métricas personalizadas a Monitoring

Para informar métricas personalizadas a Monitoring, debes habilitar el parámetro de configuración de metadatos report-notebook-metrics cuando creas una instancia de notebooks administrados por el usuario.

También debes asegurarte de que la cuenta de servicio de la instancia de notebooks administrados por el usuario tenga permisos de escritor de métricas de Monitoring (roles/monitoring.metricWriter). Para obtener más información, consulta Administra el acceso a proyectos, carpetas y organizaciones.

Crea una instancia de notebooks administrados por el usuario que informe métricas personalizadas a Monitoring

Para informar métricas personalizadas a Monitoring, debes seleccionar la casilla de verificación Informar métricas personalizadas a Cloud Monitoring cuando crees una instancia de notebooks administrados por el usuario.

Puedes habilitar las métricas personalizadas de informes en Cloud Monitoring mediante la consola de Google Cloud o Google Cloud CLI.

Antes de comenzar

Antes de crear una instancia de notebook administrada por el usuario, debes tener un proyecto de Google Cloud y habilitar la API de Notebooks para ese proyecto.
  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  4. Enable the Notebooks API.

    Enable the API

  5. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  6. Make sure that billing is enabled for your Google Cloud project.

  7. Enable the Notebooks API.

    Enable the API

  8. Si planeas usar GPU con la instancia de notebooks administrados por el usuario, consulta la página de cuotas en la consola de Google Cloud para asegurarte de que tienes suficientes GPU disponibles en el proyecto. Si las GPU no están enumeradas en la página de cuotas o necesitas obtener más cuota de GPU, puedes solicitar un aumento de cuota. Consulta Solicita un aumento de la cuota en la página Cuotas de recursos de Compute Engine.

Roles obligatorios

Si creaste el proyecto, tienes el rol de IAM propietario (roles/owner) en el proyecto, que incluye todos los permisos necesarios. Omite esta sección y comienza a crear tu instancia de notebooks administradas por el usuario. Si tú no creaste el proyecto, quédate en esta sección.

Para garantizar que tu cuenta de usuario tenga los permisos necesarios para crear una instancia de notebooks administrados por el usuario de Vertex AI Workbench, pídele a tu administrador que otorgue a tu cuenta de usuario los siguientes roles de IAM en el proyecto:

Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.

Es posible que tu administrador también pueda otorgar a tu cuenta de usuario los permisos necesarios a través de roles personalizados o de otros roles predefinidos.

Crea la instancia

Console

  1. En la consola de Google Cloud, ve a la página Notebooks administrados por el usuario. O bien, dirígete a notebook.new (https://notebook.new) y omite el siguiente paso.

    Ir a Notebooks administrados por el usuario

  2. Haz clic en Nuevo notebook y elige Personalizar.

  3. En la página Crear un notebook administrado por el usuario, en la sección Detalles, proporciona la siguiente información para tu instancia nueva:

    • Nombre: un nombre para tu instancia nueva
    • Región y Zona: Selecciona una región y una zona para la instancia nueva. Para obtener el mejor rendimiento de red, elige la región que se encuentra más cerca de tu ubicación geográfica. Consulta las ubicaciones de notebooks administrados por el usuario disponibles.
  4. Selecciona la sección Estado del sistema.

  5. En la sección Informes y estado del sistema, selecciona la casilla de verificación Informar métricas personalizadas a Cloud Monitoring.

  6. Completa el resto del diálogo de creación de la instancia y, luego, haz clic en Crear.

gcloud

  1. Desde Cloud Shell o cualquier entorno en el que Google Cloud CLI esté instalado, escribe el siguiente comando de Google Cloud CLI:

    gcloud notebooks instances create INSTANCE_NAME \
        --vm-image-project=deeplearning-platform-release \
        --vm-image-family=IMAGE_FAMILY \
        --machine-type=MACHINE_TYPE \
        --location=ZONE \
        --metadata=report-notebook-metrics=TRUE
    

    Reemplaza lo siguiente:

    • INSTANCE_NAME: nombre de tu instancia nueva
    • IMAGE_FAMILY: nombre de la familia de imágenes que deseas usar para crear tu instancia
    • MACHINE_TYPE: Es el tipo de máquina de la VM de tu instancia, por ejemplo, n1-standard-4.
    • ZONE: Es la zona en la que deseas que se ubique la instancia nueva, por ejemplo, us-west1-a.
  2. Accede a tu instancia desde la consola de Google Cloud.

Otorga permisos de escritor de métricas de Monitoring a la cuenta de servicio

Después de crear la instancia nueva de notebooks administrados por el usuario, otorga permisos de escritor de métricas de Monitoring (roles/monitoring.metricWriter) a la cuenta de servicio de la instancia de notebooks administrados por el usuario. Para obtener más información, consulta Administra el acceso a proyectos, carpetas y organizaciones.

Supervisa métricas personalizadas a través de Monitoring

Para las instancias de notebooks administrados por el usuario que tienen informes de métricas personalizadas habilitados, puedes supervisar tus métricas personalizadas mediante la consola de Google Cloud.

  1. En la consola de Google Cloud, ve a la página Notebooks administrados por el usuario.

    Ir a Notebooks administrados por el usuario

  2. Haz clic en el nombre de la instancia del que deseas ver las métricas personalizadas.

  3. En la página Detalles del notebook, haz clic en la pestaña Monitoring. Revisa las métricas personalizadas de tu instancia.

Instala Monitoring en una instancia

Con esta opción, se instala Monitoring de forma automática. La instalación requiere 256 MB de espacio en disco. Se requiere una conexión a Internet para que las métricas se informen a Monitoring.

Cómo las instancias informan las métricas del sistema y de la aplicación

Para informar las métricas del sistema y de la aplicación mediante la instalación de Cloud Monitoring en tu instancia de notebooks administrados por el usuario, debes seleccionar la casilla de verificación Instalar agente de Cloud Monitoring cuando crees una instancia de notebooks administrados por el usuario. Estas métricas son diferentes de las métricas personalizadas que se informan cuando habilitas el parámetro de configuración de metadatos report-notebook-metrics.

Crea una instancia de notebooks administrados por el usuario que informe las métricas del sistema y de la aplicación a Monitoring

Para instalar Monitoring en tu instancia de notebooks administrados por el usuario, puedes usar la consola de Google Cloud o Google Cloud CLI.

Antes de comenzar

Antes de crear una instancia de notebook administrada por el usuario, debes tener un proyecto de Google Cloud y habilitar la API de Notebooks para ese proyecto.
  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  4. Enable the Notebooks API.

    Enable the API

  5. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  6. Make sure that billing is enabled for your Google Cloud project.

  7. Enable the Notebooks API.

    Enable the API

  8. Si planeas usar GPU con la instancia de notebooks administrados por el usuario, consulta la página de cuotas en la consola de Google Cloud para asegurarte de que tienes suficientes GPU disponibles en el proyecto. Si las GPU no están enumeradas en la página de cuotas o necesitas obtener más cuota de GPU, puedes solicitar un aumento de cuota. Consulta Solicita un aumento de la cuota en la página Cuotas de recursos de Compute Engine.

Roles obligatorios

Si creaste el proyecto, tienes el rol de IAM propietario (roles/owner) en el proyecto, que incluye todos los permisos necesarios. Omite esta sección y comienza a crear tu instancia de notebooks administradas por el usuario. Si tú no creaste el proyecto, quédate en esta sección.

Para garantizar que tu cuenta de usuario tenga los permisos necesarios para crear una instancia de notebooks administrados por el usuario de Vertex AI Workbench, pídele a tu administrador que otorgue a tu cuenta de usuario los siguientes roles de IAM en el proyecto:

Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.

Es posible que tu administrador también pueda otorgar a tu cuenta de usuario los permisos necesarios a través de roles personalizados o de otros roles predefinidos.

Crea la instancia

Console

  1. En la consola de Google Cloud, ve a la página Notebooks administrados por el usuario. O bien, dirígete a notebook.new (https://notebook.new) y omite el siguiente paso.

    Ir a Notebooks administrados por el usuario

  2. Haz clic en Nuevo notebook y elige Personalizar.

  3. En la página Crear un notebook administrado por el usuario, en la sección Detalles, proporciona la siguiente información para tu instancia nueva:

    • Nombre: un nombre para tu instancia nueva
    • Región y Zona: Selecciona una región y una zona para la instancia nueva. Para obtener el mejor rendimiento de red, elige la región que se encuentra más cerca de tu ubicación geográfica. Consulta las ubicaciones de notebooks administrados por el usuario disponibles.
  4. Selecciona la sección Estado del sistema.

  5. En la sección Informes y estado del sistema, selecciona la casilla de verificación Instalar agente de Cloud Monitoring.

  6. Completa el resto del diálogo de creación de la instancia y, luego, haz clic en Crear.

gcloud

  1. Desde Cloud Shell o cualquier entorno en el que Google Cloud CLI esté instalado, escribe el siguiente comando de Google Cloud CLI:

    gcloud notebooks instances create INSTANCE_NAME \
        --vm-image-project=deeplearning-platform-release \
        --vm-image-family=IMAGE_FAMILY \
        --machine-type=MACHINE_TYPE \
        --location=ZONE \
        --metadata=install-monitoring-agent=TRUE
    

    Reemplaza lo siguiente:

    • INSTANCE_NAME: nombre de tu instancia nueva
    • IMAGE_FAMILY: nombre de la familia de imágenes que deseas usar para crear tu instancia
    • MACHINE_TYPE: Es el tipo de máquina de la VM de tu instancia; por ejemplo, n1-standard-4.
    • ZONE: Es la zona en la que deseas que se ubique la instancia nueva, por ejemplo, us-west1-a.
  2. Accede a tu instancia desde la consola de Google Cloud.

Supervisa las métricas del sistema y de las aplicaciones a través de Monitoring

Para las instancias de notebooks administrados por el usuario que tienen Monitoring instalado, puedes supervisar las métricas del sistema y de la aplicación mediante la consola de Google Cloud como sigue:

  1. En la consola de Google Cloud, ve a la página Notebooks administrados por el usuario.

    Ir a Notebooks administrados por el usuario

  2. Haz clic en el nombre de la instancia del que deseas ver las métricas del sistema y de la aplicación.

  3. En la página Detalles del notebook, haz clic en la pestaña Monitoring. Revisa las métricas del sistema y de la aplicación para tu instancia. Para aprender a interpretar estas métricas, consultaRevisa las métricas de recursos.

Usa la herramienta de diagnóstico para supervisar el estado del sistema

Las instancias de notebooks administradas por el usuario incluyen una herramienta de diagnóstico integrada que puede ayudarte a supervisar el estado del sistema de tus instancias.

Tareas que realiza la herramienta de diagnóstico

La herramienta de diagnóstico realiza las siguientes tareas:

  • Verifica el estado de los siguientes servicios principales de notebooks administrados por el usuario:

    • Servicio de Docker
    • Agente de proxy inverso de Docker
    • Servicio de Jupyter
    • API de Jupyter
  • Comprueba si el espacio en el disco para el disco de arranque y de datos se usa por encima del umbral del 85%.

  • Instala lsof (se requiere conexión a Internet).

  • Recopila los siguientes registros de instancias:

    • informaciónde redes de rutas (ifconfig, netstat)
    • Registros en la carpeta /var/log/
    • Información de estado de Docker
    • Datos de lsof (archivos abiertos)
    • Estado del servicio de Docker
    • Estado del agente inverso del proxy
    • Estado del servicio de Jupyter
    • Estado de la API de Jupyter
    • Archivo de configuración del agente de proxy
    • Procesos de Python
  • Ejecuta los siguientes comandos y recopila los resultados:

    • pip freeze
    • conda list
    • gcloud compute instances describe INSTANCE_NAME
    • gcloud config list

Ejecuta la herramienta de diagnóstico

Para ejecutar la herramienta de diagnóstico, sigue estos pasos:

  1. Usa SSH para conectarte a tu instancia de notebooks administrados por el usuario.

  2. En la terminal de SSH, ejecuta los siguientes comandos:

    sudo -i
    cd /opt/deeplearning/bin/
    ./diagnostic_tool.sh
    

    La herramienta de diagnóstico recopila los registros, los comprime en un archivo .tar.gz y coloca el archivo en la carpeta /tmp/.

  3. Extrae el archivo y, luego, evalúa el contenido. El contenido incluye lo siguiente:

    • Carpeta log: Registros de la carpeta var/log/
    • report.log: Resultado de todos los comandos recopilados
    • proxy-agent-config.json: Información del archivo de configuración del proxy
    • Registro de Docker: Un archivo -json.log que incluye registros de contenedores de Docker

Puedes usar las siguientes opciones con la herramienta de diagnóstico.

Opción Descripción
-r Es una opción de reparación que intenta restablecer el estado de los servicios principales de notebooks administrados por el usuario con errores.
-s Se ejecuta sin una confirmación.
-b Sube el archivo .tar.gz a un bucket de Cloud Storage.
-v Una opción de depuración para solucionar problemas de la herramienta en caso de fallas
-c Captura 30 segundos de tráfico de paquetes en tu instancia de notebooks administrados por el usuario y filtra las conexiones SSH.
-d Es una carpeta de destino en la que se guardan los registros.
-h Ayuda

¿Qué sigue?