Monitorar o status de integridade

As instâncias do Vertex AI Workbench oferecem vários métodos para monitorar a integridade dos notebooks. Nesta página, descrevemos como usar cada método.

Métodos para monitorar o status de integridade

Há várias maneiras de monitorar a integridade das instâncias do Vertex AI Workbench. Nesta página, descrevemos como usar os seguintes métodos:

Antes de começar

  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. Install the Google Cloud CLI.
  6. To initialize the gcloud CLI, run the following command:

    gcloud init
  7. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

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

  9. Enable the Notebooks API.

    Enable the API

  10. Install the Google Cloud CLI.
  11. To initialize the gcloud CLI, run the following command:

    gcloud init

Usar atributos de convidado para informar a integridade do sistema

Use atributos de convidado para informar a integridade do sistema dos seguintes serviços principais:

  • Serviço do Docker
  • Agente de proxy reverso do Docker
  • Serviço Jupyter
  • API Jupyter

Os atributos de convidado são um tipo específico de metadados personalizados em que os aplicativos podem gravar enquanto estão sendo executados na instância do Vertex AI Workbench. Para saber mais sobre atributos de convidado, consulte Sobre metadados de VM.

Como as instâncias usam atributos de convidado para relatar a integridade do sistema

O serviço notebooks-collection-agent executa um processo Python em segundo plano que verifica o status dos serviços principais da instância de notebooks gerenciados pelo usuário e atualiza os atributos de convidado como 1 se nenhum problema for detectado ou -1 se for detectada uma falha.

Para usar o serviço notebooks-collection-agent para gerar relatórios sobre a integridade da instância do Vertex AI Workbench, ative os seguintes atributos de convidado ao criar uma instância do Vertex AI Workbench:

  • enable-guest-attributes=TRUE: isso permite atributos de convidado na instância do Vertex AI Workbench. Todas as instâncias novas ativam esse atributo por padrão.
  • report-event-health=TRUE: registra os resultados da verificação de integridade do sistema nos atributos de convidado.

O serviço notebooks-collection-agent não precisa de permissões especiais para gravar nos atributos de convidado da instância.

Criar uma instância do Vertex AI Workbench com atributos de convidado da integridade do sistema ativados

Para usar os atributos de convidado da integridade do sistema para gerar relatórios sobre a integridade da instância do Vertex AI Workbench, marque a caixa de seleção Ativar relatório de integridade do sistema ao criar uma instância do Vertex AI Workbench.

É possível ativar o relatório de integridade do sistema usando o console do Google Cloud.

  1. No Console do Google Cloud, acesse a página Instâncias.

    Acesse "Instâncias"

  2. Clique em Criar.

  3. Na caixa de diálogo Nova instância, clique em Opções avançadas.

  4. Na caixa de diálogo Criar instância, na seção Detalhes, insira as seguintes informações sobre a nova instância:

    • Nome: forneça um nome para a nova instância.
    • Região e Zona: selecione uma região e zona para a nova instância. Para ter o melhor desempenho de rede, selecione a região mais próxima de você.
  5. Na seção Integridade do sistema, em Relatórios, selecione Informar integridade do sistema.

  6. Conclua o restante da caixa de diálogo de criação de instância e clique em Criar.

Monitorar a integridade do sistema por meio de atributos de convidado

Para instâncias do Vertex AI Workbench que têm os atributos de convidado relacionados ativados, é possível recuperar os valores dos atributos de convidado da integridade do sistema usando o Console do Google Cloud, o Console do Google Cloud CLI com comandos do Compute Engine ou Google Cloud CLI com comandos do Vertex AI Workbench.

Console

  1. No Console do Google Cloud, acesse a página Instâncias.

    Acesse "Instâncias"

  2. Clique no nome da instância da qual você quer visualizar o status de integridade do sistema.

  3. Na página Detalhes da instância, clique na guia Integridade. Revise o status da instância e os serviços principais.

gcloud com o Compute Engine

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

Substitua:

  • INSTANCE_NAME: o nome da instância
  • ZONE: a zona em que a instância está localizada

Se os serviços principais estiverem íntegros, os resultados serão semelhantes aos mostrados a seguir. O valor 1 significa que nenhuma falha foi detectada.

 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                     2023-06-20 17:00:00.12345

Se algum dos quatro serviços principais falhar, a integridade do sistema informa um valor -1 para indicar falha no sistema. Na maioria dos casos, uma falha do sistema significa que o JupyterLab não está acessível.

Um exemplo de resultado de falha pode ser semelhante ao seguinte.

 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                     2023-06-20 17:00:00.12345

Relatar métricas personalizadas para o Monitoring

As instâncias do Vertex AI Workbench permitem coletar o status do sistema e as métricas do JupyterLab e reportá-las ao Cloud Monitoring. Essas métricas personalizadas são diferentes das métricas padrão informadas quando você instala o Monitoring na instância do Vertex AI Workbench.

As métricas personalizadas informadas ao Monitoring incluem o seguinte:

  • A integridade do sistema desses serviços principais do Vertex AI Workbench:

    • Serviço do Docker
    • Agente de proxy reverso do Docker
    • Serviço Jupyter
    • API Jupyter
  • As métricas do JupyterLab a seguir:

    • Número de kernels
    • Número de terminais
    • Número de conexões
    • Número de sessões
    • Máximo de memória
    • Alta memória
    • Memória atual

Como as instâncias informam métricas personalizadas para o Monitoring

Para relatar métricas personalizadas para o Monitoring, você precisa ativar a configuração de metadados report-notebook-metrics ao criar uma instância do Vertex AI Workbench.

Verifique também se a conta de serviço da instância do Vertex AI Workbench tem as permissões de gravador de métricas do Monitoring (roles/monitoring.metricWriter). Para mais informações, consulte Gerenciar o acesso a projetos, pastas e organizações.

Criar uma instância do Vertex AI Workbench que informe métricas personalizadas ao Monitoring

Para relatar métricas personalizadas para o Monitoring, você precisa marcar a caixa de seleção Informar métricas personalizadas ao Cloud Monitoring ao criar uma instância do Vertex AI Workbench.

É possível ativar as métricas personalizadas de relatórios no Cloud Monitoring usando o console do Google Cloud.

  1. No Console do Google Cloud, acesse a página Instâncias.

    Acesse "Instâncias"

  2. Clique em Criar.

  3. Na caixa de diálogo Nova instância, clique em Opções avançadas.

  4. Na caixa de diálogo Criar instância, na seção Detalhes, insira as seguintes informações sobre a nova instância:

    • Nome: forneça um nome para a nova instância.
    • Região e Zona: selecione uma região e zona para a nova instância. Para ter o melhor desempenho de rede, selecione a região mais próxima de você.
  5. Na seção Integridade do sistema, em Relatórios, selecione Informar métricas personalizadas ao Cloud Monitoring.

  6. Conclua o restante da caixa de diálogo de criação de instância e clique em Criar.

Conceder permissões de gravador de métricas do Monitoring à conta de serviço

Depois de criar a nova instância do Vertex AI Workbench, conceda permissões de gravador de métricas do Monitoring (roles/monitoring.metricWriter) à conta de serviço da instância do Vertex AI Workbench. Para mais informações, consulte Gerenciar o acesso a projetos, pastas e organizações.

Monitorar métricas personalizadas com o Monitoring

Para instâncias do Vertex AI Workbench que têm relatórios de métricas personalizadas ativadas, é possível monitorar suas métricas personalizadas usando o console do Google Cloud.

  1. No Console do Google Cloud, acesse a página Instâncias.

    Acesse "Instâncias"

  2. Clique no nome da instância cujas métricas personalizadas você quer visualizar.

  3. Na página Detalhes da instância, clique na guia Monitoramento. Revise as métricas personalizadas da instância.

Instalar o Monitoring em uma instância

Essa opção instala o Monitoring automaticamente. A instalação requer 256 MB de espaço em disco. É necessário ter uma conexão de Internet para que as métricas sejam informadas ao Monitoring.

Como as instâncias relatam métricas do sistema e do aplicativo

Para relatar métricas do sistema e do aplicativo instalando o Cloud Monitoring na instância do Vertex AI Workbench, marque a caixa de seleção Instalar agente do Cloud Monitoring ao criar uma instância do Vertex AI Workbench. Elas são diferentes das métricas personalizadas informadas quando você ativa a configuração de metadados report-notebook-metrics.

Criar uma instância do Vertex AI Workbench que informe as métricas do sistema e do aplicativo ao Monitoring

Para instalar o Monitoring na instância do Vertex AI Workbench, use o console do Google Cloud.

  1. No Console do Google Cloud, acesse a página Instâncias.

    Acesse "Instâncias"

  2. Clique em Criar.

  3. Na caixa de diálogo Nova instância, clique em Opções avançadas.

  4. Na caixa de diálogo Criar instância, na seção Detalhes, insira as seguintes informações sobre a nova instância:

    • Nome: forneça um nome para a nova instância.
    • Região e Zona: selecione uma região e zona para a nova instância. Para ter o melhor desempenho de rede, selecione a região mais próxima de você.
  5. Na seção Integridade do sistema, em Relatórios, selecione Instalar Cloud Monitoring.

  6. Conclua o restante da caixa de diálogo de criação de instância e clique em Criar.

Monitorar as métricas do sistema e do aplicativo com o Monitoring

Para instâncias do Vertex AI Workbench que têm o Monitoring instalado, é possível monitorar o sistema e as métricas do aplicativo usando o console do Google Cloud:

  1. No Console do Google Cloud, acesse a página Instâncias.

    Acesse "Instâncias"

  2. Clique no nome da instância em que você quer ver as métricas do sistema e do aplicativo.

  3. Na página Detalhes da instância, clique na guia Monitoramento. Analise as métricas do sistema e do aplicativo para a instância. Para saber como interpretar essas métricas, consulte Analisar as métricas de recursos.

Usar a ferramenta de diagnóstico para monitorar a integridade do sistema

As instâncias do Vertex AI Workbench incluem uma ferramenta de diagnóstico integrada para monitorar a integridade do sistema das instâncias.

Tarefas realizadas pela ferramenta de diagnóstico

A ferramenta de diagnóstico realiza as seguintes tarefas:

  • Verifica o status dos seguintes serviços principais do Vertex AI Workbench:

    • Serviço do Docker
    • Agente de proxy reverso do Docker
    • Serviço Jupyter
    • API Jupyter
  • Verifica se o espaço em disco de discos de inicialização e dados é usado além de um limite de 85%.

  • Instala o lsof (conexão de Internet necessária).

  • Coleta os seguintes registros de instância:

    • Informações da rede (ifconfig, netstat)
    • Registros na pasta /var/log/
    • Informações de status do Docker
    • Dados de lsof (arquivos abertos)
    • Status de serviço do Docker
    • Status do agente reverso do proxy
    • Status de serviço do Jupyter
    • Status da API Jupyter
    • Arquivo de configuração do agente proxy
    • Processos Python
  • Executa os seguintes comandos e coleta os resultados:

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

Executar a ferramenta de diagnóstico

Para executar a ferramenta de diagnóstico, siga estas etapas:

  1. Use ssh para se conectar à sua instância do Vertex AI Workbench.

  2. No terminal SSH, execute os seguintes comandos:

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

    A ferramenta de diagnóstico coleta os registros, os compacta em um arquivo .tar.gz e coloca o arquivo na pasta /tmp/.

  3. Extraia o arquivo e avalie o conteúdo. O conteúdo inclui o seguinte:

    • Pasta log: registros da pasta var/log/
    • report.log: saída de todos os comandos coletados
    • proxy-agent-config.json: informações de configuração de proxy
    • Registro do Docker: um arquivo -json.log que inclui registros de contêiner do Docker

Use as opções a seguir com a ferramenta de diagnóstico.

Opção Descrição
-r Uma opção de reparo que tenta restaurar o status dos serviços principais do Vertex AI Workbench
-s Executado sem uma confirmação
-b Faz upload do arquivo .tar.gz em um bucket do Cloud Storage.
-v Uma opção de depuração para solucionar problemas da ferramenta em caso de falhas
-c Captura 30 segundos de tráfego de pacotes na instância do Vertex AI Workbench, filtrando o SSH
-d Uma pasta de destino em que os registros serão salvos
-h Ajuda

A seguir