A integração do Gerenciador de GPU do data center da NVIDIA coleta as principais métricas avançadas de GPU do DCGM, incluindo a utilização de blocos de Multiprocessador de streaming (SM), a ocupação do SM, a utilização do pipeline do SM, a taxa de tráfego PCIe e a taxa de tráfego do NVLink. Para informações sobre a finalidade e a interpretação dessas métricas, consulte Como criar perfis de métricas na visão geral do recurso DCGM.
Para mais informações sobre o Gerenciador de GPUs do NVIDIA Data Center, consulte a documentação do DCGM. Essa integração é compatível com o DCGM versão 3.1 e posterior.
O Agente de operações coleta métricas de DCGM usando a biblioteca de cliente da NVIDIA
go-dcgm
.
Essas métricas estão disponíveis apenas para sistemas Linux. As métricas não são coletadas dos modelos de GPU NVIDIA P100 e P4.
Pré-requisitos
Para coletar as métricas do DCGM, faça o seguinte:
Instalar o Agente de operações. Somente o Agente de operações versão 2.38.0 ou 2.41.0 ou mais recente é compatível com o monitoramento da GPU. Não instale as versões 2.39.0 e 2.40.0 do Agente de operações em VMs com GPUs anexadas. Para ver mais informações, consulte Falhas do agente e relatórios menciona a NVIDIA.
Instalar o DCGM e verificar a instalação
É necessário instalar um DCGM versão 3.1 e posterior e garantir que ele seja executado como um serviço privilegiado. Para instalar o DCGM, consulte Instalação na documentação do DCGM.
Para verificar se o DCGM está sendo executado corretamente, faça o seguinte:
Verifique o status do serviço DCGM executando o seguinte comando:
sudo service nvidia-dcgm status
Se o serviço estiver em execução, o serviço
nvidia-dcgm
será listado comoactive (running)
. A saída será assim:● nvidia-dcgm.service - NVIDIA DCGM service Loaded: loaded (/usr/lib/systemd/system/nvidia-dcgm.service; disabled; vendor preset: enabled) Active: active (running) since Sat 2023-01-07 15:24:29 UTC; 3s ago Main PID: 24388 (nv-hostengine) Tasks: 7 (limit: 14745) CGroup: /system.slice/nvidia-dcgm.service └─24388 /usr/bin/nv-hostengine -n --service-account nvidia-dcgm
Verifique se os dispositivos da GPU são encontrados executando o seguinte comando:
dcgmi discovery --list
Se forem encontrados dispositivos, a saída será semelhante a esta:
1 GPU found. +--------+----------------------------------------------------------------------+ | GPU ID | Device Information | +--------+----------------------------------------------------------------------+ | 0 | Name: NVIDIA A100-SXM4-40GB | | | PCI Bus ID: 00000000:00:04.0 | | | Device UUID: GPU-a2d9f5c7-87d3-7d57-3277-e091ad1ba957 | +--------+----------------------------------------------------------------------+
Configurar o agente de operações para o DCGM
Seguindo o guia Como configurar o agente de operações, adicione os elementos necessários para coletar a telemetria do serviço DCGM e reiniciar o agente.
Exemplo de configuração
Os comandos a seguir criam a configuração para coletar e ingerir telemetria para o DCGM e reiniciar o Agente de operações:
# Configures Ops Agent to collect telemetry from the app and restart Ops Agent. set -e # Create a back up of the existing file so existing configurations are not lost. sudo cp /etc/google-cloud-ops-agent/config.yaml /etc/google-cloud-ops-agent/config.yaml.bak # Configure the Ops Agent. sudo tee /etc/google-cloud-ops-agent/config.yaml > /dev/null << EOF metrics: receivers: dcgm: type: dcgm service: pipelines: dcgm: receivers: - dcgm EOF sudo systemctl restart google-cloud-ops-agent
Depois de executar esses comandos, verifique se o agente foi reiniciado. Execute o comando a seguir e verifique se os componentes do subagente "Agente de métrica" e "Agente de geração de registros" estão listados como "ativo (em execução)":
sudo systemctl status google-cloud-ops-agent"*"
Se você estiver usando uma conta de serviço personalizada em vez da conta de serviço padrão do Compute Engine ou se tiver uma VM muito antiga do Compute Engine, talvez seja necessário autorizar o agente de operações.
Configurar a coleta de métricas
Para ingerir métricas do DCGM, você precisa criar um receptor para as métricas produzidas pelo DCGM e, em seguida, criar um pipeline para o novo receptor.
Esse receptor não aceita o uso de várias instâncias na configuração, por exemplo, para monitorar vários endpoints. Todas essas instâncias gravam na mesma série temporal, e o Cloud Monitoring não tem como diferenciá-las.
Para configurar um receptor para suas
métricas do dcgm
, especifique os campos
a seguir:
Campo | Padrão | Descrição |
---|---|---|
collection_interval |
60s |
Um valor de time.Duration, como 30s ou 5m . |
endpoint |
localhost:5555 |
Endereço do serviço DCGM, formatado como host:port . |
type |
Este valor precisa ser dcgm . |
O que é monitorado?
A tabela a seguir fornece a lista de métricas que o agente de operações coleta do serviço DCGM. Nem todas as métricas estão disponíveis para todos os modelos de GPU. As métricas não são coletadas dos modelos de GPU NVIDIA P100 e P4.
Tipo de métrica | ||
---|---|---|
Tipo, tipo Recursos monitorados |
Rótulos |
Modelos de GPU compatíveis |
workload.googleapis.com/dcgm.gpu.profiling.dram_utilization
|
||
GAUGE , DOUBLE gce_instance |
gpu_number model uuid
|
Todos exceto P100 e P4 |
workload.googleapis.com/dcgm.gpu.profiling.nvlink_traffic_rate
|
||
GAUGE , INT64 gce_instance |
direction gpu_number model uuid
|
Todos exceto P100 e P4 |
workload.googleapis.com/dcgm.gpu.profiling.pcie_traffic_rate
|
||
GAUGE , INT64 gce_instance |
direction gpu_number model uuid
|
Todos exceto P100 e P4 |
workload.googleapis.com/dcgm.gpu.profiling.pipe_utilization
|
||
GAUGE , DOUBLE gce_instance |
gpu_number model pipe uuid
|
Todos exceto P100 e P4. Para L4, o valor pipe fp64 não é compatível.
|
workload.googleapis.com/dcgm.gpu.profiling.sm_occupancy
|
||
GAUGE , DOUBLE gce_instance |
gpu_number model uuid
|
Todos exceto P100 e P4 |
workload.googleapis.com/dcgm.gpu.profiling.sm_utilization
|
||
GAUGE , DOUBLE gce_instance |
gpu_number model uuid
|
Todos exceto P100 e P4 |
Além disso, a configuração integrada do agente de operações também coleta métricas agent.googleapis.com/gpu
, que são informadas pela biblioteca de gerenciamento da NVIDIA (NVML).
Nenhuma ação adicional é necessária no Agente de operações para coletar essas métricas, mas é necessário
criar sua VM com GPUs anexadas e instalar o driver da GPU. Para mais informações, consulte Sobre as métricas gpu
.
Verificar a configuração
Nesta seção, descrevemos como verificar se você configurou corretamente o receptor NVIDIA DCGM. Pode levar um ou dois minutos para que o agente de operações comece a coletar telemetria.
Para verificar se as métricas do NVIDIA DCGM estão sendo enviadas para o Cloud Monitoring, faça o seguinte:
-
No console do Google Cloud, acesse a página do leaderboard Metrics Explorer:
Se você usar a barra de pesquisa para encontrar essa página, selecione o resultado com o subtítulo Monitoring.
- Na barra de ferramentas do painel do criador de consultas, selecione o botão code MQL ou code PromQL.
- Verifique se MQL está selecionado na opção de ativar/desativar Idioma. A alternância de idiomas está na mesma barra de ferramentas que permite formatar sua consulta.
- Digite a consulta a seguir no Editor e clique em Executar consulta:
fetch gce_instance | metric 'workload.googleapis.com/dcgm.gpu.profiling.sm_utilization' | every 1m
Ver painel
Para visualizar as métricas do NVIDIA DCGM, é necessário ter um gráfico ou um painel configurado. A integração com o NVIDIA DCGM inclui um ou mais painéis. Todos os painéis são instalados automaticamente depois que você configura a integração e o Agente de operações começa a coletar dados de métricas.
Também é possível ver visualizações estáticas de painéis sem instalar a integração.
Para ver um painel instalado, faça o seguinte:
-
No console do Google Cloud, acesse a página Painéis:
Se você usar a barra de pesquisa para encontrar essa página, selecione o resultado com o subtítulo Monitoring.
- Selecione a guia Lista de painéis e escolha a categoria Integrações.
- Clique no nome do painel que você quer visualizar.
Se você configurou uma integração, mas o painel não foi instalado, verifique se o agente de operações está em execução. Quando não há dados de métricas para um gráfico no painel, a instalação do painel falha. Depois que o Agente de operações começar a coletar métricas, o painel será instalado para você.
Para acessar uma visualização estática do painel, faça o seguinte:
-
No console do Google Cloud, acesse a página Integrações:
Se você usar a barra de pesquisa para encontrar essa página, selecione o resultado com o subtítulo Monitoring.
- Clique no filtro de plataforma de implantação do Compute Engine.
- Localize a entrada do NVIDIA DCGM e clique em Conferir detalhes.
- Selecione a guia Painéis para uma visualização estática. Se o painel estiver instalado, navegue até ele clicando em Ver painel.
Para mais informações sobre painéis no Cloud Monitoring, consulte Painéis e gráficos.
Para mais informações sobre como usar a página Integrações, consulte Gerenciar integrações.
Limitações do DCGM e pausa da criação de perfil
O uso simultâneo do DCGM pode entrar em conflito com algumas outras ferramentas de desenvolvedor da NVIDIA, como Nsight Systems ou Nsight Compute. Essa limitação se aplica à NVIDIA A100 e a GPUs anteriores. Para mais informações, consulte Como criar o perfil da taxa de amostragem na visão geral do recurso DCGM.
Quando você precisar usar ferramentas como o Nsight Systems sem interrupções significativas, é possível pausar ou retomar temporariamente a coleta de métricas usando os seguintes comandos:
dcgmi profile --pause dcgmi profile --resume
Quando a criação de perfil é pausada, nenhuma das métricas DCGM que o agente de operações coleta é emitida da VM.
A seguir
Para ver um tutorial sobre como usar o Ansible para instalar o agente de operações, configurar um aplicativo de terceiros e instalar um painel de amostra, consulte o vídeo Instalação do agente de operações para resolver problemas de aplicativos de terceiros.