Monitorar o status de integridade
As instâncias de notebooks gerenciados pelo usuário 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
A integridade das instâncias de notebooks gerenciados pelo usuário pode ser monitorada de algumas maneiras diferentes. Nesta página, descrevemos como usar os seguintes métodos:
Configurar a CLI gcloud
Para concluir algumas das etapas desta página, você precisa usar a Google Cloud CLI.Install the Google Cloud CLI, then initialize it by running 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 de notebooks gerenciados pelo usuário. 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 dos notebooks gerenciados pelo usuário,
ative estes atributos de convidado ao
criar uma instância de notebooks gerenciados pelo usuário:
enable-guest-attributes=TRUE
: permite atributos de convidado na instância de notebooks gerenciados pelo usuário. Todas as instâncias novas ativam esse atributo por padrão.report-system-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 de notebooks gerenciada pelo usuário com atributos de convidado de integridade do sistema ativados
Para usar atributos de convidado da integridade do sistema na geração de relatórios sobre a integridade da instância de notebooks gerenciados pelo usuário, marque a caixa de seleção Ativar relatório de integridade do sistema ao criar notebooks gerenciados pelo usuário.
É possível ativar o relatório de integridade do sistema usando o console do Google Cloud ou a CLI do Google Cloud.
Antes de começar
Antes de criar uma instância de notebooks gerenciados pelo usuário, é necessário ter um projeto do Google Cloud e ativar a API Notebooks para esse projeto.- 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.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Verifique se a cobrança está ativada para o seu projeto do Google Cloud.
-
Enable the Notebooks API.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Verifique se a cobrança está ativada para o seu projeto do Google Cloud.
-
Enable the Notebooks API.
- Se você planeja usar GPUs com a instância de notebooks gerenciada pelo usuário, consulte a página de cotas no Console do Google Cloud para garantir que há GPUs suficientes disponíveis no seu projeto. Se as GPUs não estiverem listadas nessa página ou se você precisar de mais cotas, solicite um aumento de cota. Consulte Como solicitar um aumento na cota na página Cotas de recursos do Compute Engine.
Funções exigidas
Caso tenha criado o projeto, você terá o
papel do IAM de Proprietário (roles/owner
) no projeto,
que inclui todas as permissões necessárias. Pule esta seção e
comece a criar sua instância de notebooks gerenciados pelo usuário. Se você não
criou o projeto, continue nesta seção.
Para garantir que sua conta de usuário tenha as permissões necessárias para criar uma instância de notebooks gerenciados pelo usuário do Vertex AI Workbench, peça ao administrador para conceder à sua conta de usuário os seguintes papéis do IAM no projeto:
- Administrador de notebooks (
roles/notebooks.admin
) - Usuário da conta de serviço (
roles/iam.serviceAccountUser
)
Para mais informações sobre como conceder papéis, consulte Gerenciar acesso.
O administrador também pode conceder à sua conta de usuário as permissões necessárias via papéis personalizados ou outros papéis predefinidos.
Criar instância
Console
No Console do Google Cloud, acesse a página Notebooks gerenciados pelo usuário. Ou acesse notebook.new (https://notebook.new) e pule a próxima etapa.
Clique em
Novo notebook e, em seguida, selecione Personalizar.Na página Criar um notebook gerenciado pelo usuário, na seção Detalhes, forneça as seguintes informações para a nova instância:
- Nome da instância: 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ê. Consulte os locais de notebooks gerenciados pelo usuário disponíveis.
Selecione a seção Integridade do sistema.
Na seção Integridade e relatórios do sistema, marque a caixa de seleção Ativar relatório de integridade do sistema.
Conclua o restante da caixa de diálogo de criação de instância e clique em Criar.
gcloud
No Cloud Shell ou em qualquer ambiente em que a Google Cloud CLI esteja instalada, insira os comandos da Google Cloud CLI a seguir.
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
Substitua:
INSTANCE_NAME
: o nome da nova instância.IMAGE_FAMILY
: o nome da família de imagens que você quer usar para criar sua instânciaMACHINE_TYPE
: o tipo de máquina da VM da instância. Por exemplo,n1-standard-4
ZONE
: a zona em que você quer que a nova instância esteja localizada, por exemplo,us-west1-a
Acesse sua instância no Console do Google Cloud.
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
No Console do Google Cloud, acesse a página Notebooks gerenciados pelo usuário.
Clique no nome da instância da qual você quer visualizar o status de integridade do sistema.
Na página Detalhes do notebook, 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ânciaZONE
: 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 2020-10-01 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 2020-10-01 17:00:00.12345
gcloud com o Vertex AI Workbench
Para monitorar a integridade do sistema, é possível usar o método getInstanceHealth para recuperar os valores dos seus atributos de convidado.
O exemplo a seguir mostra como fazer isso usando a CLI gcloud.
gcloud notebooks instances is-healthy example-instance \
--location=ZONE
Substitua ZONE
pela zona em que a instância está localizada, por exemplo, us-west1-a
.
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.
{ "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" }
Um exemplo de resultado de falha pode ser semelhante ao seguinte.
{ "healthy": UNHEALTHY, "docker-proxy-agent": 1, "docker-service": 1, "jupyter-service": -1, "jupyter-api": -1, "last-updated": "2020-10-01 17:00:30.12345" }
Relatar métricas personalizadas para o Monitoring
As instâncias de notebooks gerenciados pelo usuário permitem coletar o status do sistema e as métricas do JupyterLab e, depois, reportá-las ao Cloud Monitoring. Elas são diferentes das métricas padrão informadas quando você instala o Monitoring na instância de notebooks gerenciados pelo usuário.
As métricas personalizadas informadas ao Monitoring incluem o seguinte:
A integridade do sistema destes serviços principais dos notebooks gerenciados pelo usuário:
- 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
- Grande quantidade de memória
- Memória atual
Como as instâncias informam métricas personalizadas para o Monitoring
Para relatar métricas personalizadas ao Monitoring, é preciso ativar
a configuração de metadados report-notebook-metrics
ao criar uma instância de notebooks gerenciados pelo usuário.
Verifique também
se a conta de serviço da instância de notebooks gerenciados pelo usuário
tem 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 de notebooks gerenciada pelo usuário que informa métricas personalizadas para o Monitoring
Para relatar métricas personalizadas ao Monitoring, marque a caixa de seleção Informar métricas personalizadas ao Cloud Monitoring ao criar uma instância de notebooks gerenciado pelo usuário.
É possível ativar a geração de relatórios de métricas personalizadas para o Cloud Monitoring usando o console do Google Cloud ou a CLI do Google Cloud.
Antes de começar
Antes de criar uma instância de notebooks gerenciados pelo usuário, é necessário ter um projeto do Google Cloud e ativar a API Notebooks para esse projeto.- 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.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Verifique se a cobrança está ativada para o seu projeto do Google Cloud.
-
Enable the Notebooks API.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Verifique se a cobrança está ativada para o seu projeto do Google Cloud.
-
Enable the Notebooks API.
- Se você planeja usar GPUs com a instância de notebooks gerenciada pelo usuário, consulte a página de cotas no Console do Google Cloud para garantir que há GPUs suficientes disponíveis no seu projeto. Se as GPUs não estiverem listadas nessa página ou se você precisar de mais cotas, solicite um aumento de cota. Consulte Como solicitar um aumento na cota na página Cotas de recursos do Compute Engine.
Funções exigidas
Caso tenha criado o projeto, você terá o
papel do IAM de Proprietário (roles/owner
) no projeto,
que inclui todas as permissões necessárias. Pule esta seção e
comece a criar sua instância de notebooks gerenciados pelo usuário. Se você não
criou o projeto, continue nesta seção.
Para garantir que sua conta de usuário tenha as permissões necessárias para criar uma instância de notebooks gerenciados pelo usuário do Vertex AI Workbench, peça ao administrador para conceder à sua conta de usuário os seguintes papéis do IAM no projeto:
- Administrador de notebooks (
roles/notebooks.admin
) - Usuário da conta de serviço (
roles/iam.serviceAccountUser
)
Para mais informações sobre como conceder papéis, consulte Gerenciar acesso.
O administrador também pode conceder à sua conta de usuário as permissões necessárias via papéis personalizados ou outros papéis predefinidos.
Criar instância
Console
No Console do Google Cloud, acesse a página Notebooks gerenciados pelo usuário. Ou acesse notebook.new (https://notebook.new) e pule a próxima etapa.
Clique em
Novo notebook e, em seguida, selecione Personalizar.Na página Criar um notebook gerenciado pelo usuário, na seção Detalhes, forneça as seguintes informações para a nova instância:
- Nome da instância: 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ê. Consulte os locais de notebooks gerenciados pelo usuário disponíveis.
Selecione a seção Integridade do sistema.
Na seção Integridade e relatórios do sistema, marque a caixa de seleção Informar métricas personalizadas ao Cloud Monitoring.
Conclua o restante da caixa de diálogo de criação de instância e clique em Criar.
gcloud
No Cloud Shell ou em qualquer ambiente em que a Google Cloud CLI esteja instalada, insira os comandos da Google Cloud CLI a seguir.
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
Substitua:
INSTANCE_NAME
: o nome da nova instância.IMAGE_FAMILY
: o nome da família de imagens que você quer usar para criar sua instânciaMACHINE_TYPE
: o tipo de máquina da VM da instância, por exemplo,n1-standard-4
;ZONE
: a zona em que você quer que a nova instância esteja localizada, por exemplo,us-west1-a
Acesse sua instância no Console do Google Cloud.
Conceder permissões de gravador de métricas do Monitoring à conta de serviço
Depois de criar sua nova instância de notebooks gerenciados pelo usuário, conceda permissões de gravador de métricas do Monitoring (roles/monitoring.metricWriter
) à conta de serviço da instância de notebooks gerenciados pelo usuário.
Para mais informações, consulte Gerenciar o acesso a projetos, pastas e organizações.
Monitorar métricas personalizadas com o Monitoring
Para instâncias de notebooks gerenciados pelo usuário que têm métricas de relatórios personalizados ativadas, é possível monitorar suas métricas personalizadas usando o Console do Google Cloud.
No Console do Google Cloud, acesse a página Notebooks gerenciados pelo usuário.
Clique no nome da instância cujas métricas personalizadas você quer visualizar.
Na página Detalhes do notebook, 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 gerar relatórios do sistema e das métricas do aplicativo instalando o Cloud Monitoring na instância de notebooks gerenciado pelo usuário, marque a caixa de seleção Instalar agente do Cloud Monitoring ao criar uma instância de notebooks gerenciado pelo usuário.
Elas são diferentes das métricas personalizadas informadas quando você ativa a configuração de metadados report-notebook-metrics
.
Criar uma instância de notebooks gerenciada pelo usuário que informa as métricas do sistema e do aplicativo para o Monitoring
Para instalar o Monitoring na instância de notebooks gerenciados pelo usuário, use o console do Google Cloud ou a CLI do Google Cloud.
Antes de começar
Antes de criar uma instância de notebooks gerenciados pelo usuário, é necessário ter um projeto do Google Cloud e ativar a API Notebooks para esse projeto.- 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.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Verifique se a cobrança está ativada para o seu projeto do Google Cloud.
-
Enable the Notebooks API.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Verifique se a cobrança está ativada para o seu projeto do Google Cloud.
-
Enable the Notebooks API.
- Se você planeja usar GPUs com a instância de notebooks gerenciada pelo usuário, consulte a página de cotas no Console do Google Cloud para garantir que há GPUs suficientes disponíveis no seu projeto. Se as GPUs não estiverem listadas nessa página ou se você precisar de mais cotas, solicite um aumento de cota. Consulte Como solicitar um aumento na cota na página Cotas de recursos do Compute Engine.
Funções exigidas
Caso tenha criado o projeto, você terá o
papel do IAM de Proprietário (roles/owner
) no projeto,
que inclui todas as permissões necessárias. Pule esta seção e
comece a criar sua instância de notebooks gerenciados pelo usuário. Se você não
criou o projeto, continue nesta seção.
Para garantir que sua conta de usuário tenha as permissões necessárias para criar uma instância de notebooks gerenciados pelo usuário do Vertex AI Workbench, peça ao administrador para conceder à sua conta de usuário os seguintes papéis do IAM no projeto:
- Administrador de notebooks (
roles/notebooks.admin
) - Usuário da conta de serviço (
roles/iam.serviceAccountUser
)
Para mais informações sobre como conceder papéis, consulte Gerenciar acesso.
O administrador também pode conceder à sua conta de usuário as permissões necessárias via papéis personalizados ou outros papéis predefinidos.
Criar instância
Console
No Console do Google Cloud, acesse a página Notebooks gerenciados pelo usuário. Ou acesse notebook.new (https://notebook.new) e pule a próxima etapa.
Clique em
Novo notebook e, em seguida, selecione Personalizar.Na página Criar um notebook gerenciado pelo usuário, na seção Detalhes, forneça as seguintes informações para a nova instância:
- Nome da instância: 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ê. Consulte os locais de notebooks gerenciados pelo usuário disponíveis.
Selecione a seção Integridade do sistema.
Na seção Integridade do sistema e relatórios, marque a caixa de seleção Instalar agente do Cloud Monitoring.
Conclua o restante da caixa de diálogo de criação de instância e clique em Criar.
gcloud
No Cloud Shell ou em qualquer ambiente em que a Google Cloud CLI esteja instalada, insira os comandos da Google Cloud CLI a seguir.
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
Substitua:
INSTANCE_NAME
: o nome da nova instância.IMAGE_FAMILY
: o nome da família de imagens que você quer usar para criar sua instânciaMACHINE_TYPE
: o tipo de máquina da VM da instância. Por exemplo,n1-standard-4
ZONE
: a zona em que você quer que a nova instância esteja localizada, por exemplo,us-west1-a
Acesse sua instância no Console do Google Cloud.
Monitorar as métricas do sistema e do aplicativo com o Monitoring
Para instâncias de notebooks gerenciadas pelo usuário que têm o Monitoring instalado, é possível monitorar as métricas do sistema e do aplicativo usando o Console do Google Cloud:
No Console do Google Cloud, acesse a página Notebooks gerenciados pelo usuário.
Clique no nome da instância em que você quer ver as métricas do sistema e do aplicativo.
Na página Detalhes do notebook, 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 de notebooks gerenciados pelo usuário incluem uma ferramenta de diagnóstico integrada que pode ajudar a 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 dos notebooks gerenciados pelo usuário:
- 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
- Informações da rede (
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:
Use ssh para se conectar à sua instância de notebooks gerenciados pelo usuário.
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/
.Extraia o arquivo e avalie o conteúdo. O conteúdo inclui o seguinte:
- Pasta
log
: registros da pastavar/log/
report.log
: saída de todos os comandos coletadosproxy-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
- Pasta
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 de notebooks gerenciados pelo usuário |
-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 dos seus notebooks gerenciados pelo usuário, filtrando o SSH |
-d | Uma pasta de destino em que os registros serão salvos |
-h | Ajuda |
A seguir
Saiba mais sobre o Monitoring.