Monitorar os pontos de extremidade online

O Azure Machine Learning usa a integração com o Azure Monitor para acompanhar e monitorar métricas e logs de pontos de extremidade online. Você pode exibir métricas em gráficos, comparar pontos de extremidade e implantações, fixar em painéis do portal do Azure, configurar alertas, consultar de tabelas de log e enviar logs por push para destinos com suporte. Você também pode usar o Application Insights para analisar eventos de contêineres de usuário.

  • Métricas: para métricas no nível do ponto de extremidade, como latência de solicitação, solicitações por minuto, novas conexões por segundo e bytes de rede, você pode fazer drill down para ver detalhes no nível de implantação ou de status. As métricas de nível de implantação, como utilização de CPU/GPU e utilização de memória ou disco, também podem ser detalhadas no nível da instância. O Azure Monitor permite que você acompanhe essas métricas em gráficos e configure dashboards e alertas para análise adicional.

  • Logs: você pode enviar métricas para o workspace do Log Analytics, onde você pode consultar os logs usando a sintaxe de consulta Kusto. Você também pode enviar métricas para contas de Armazenamento do Microsoft Azure e/ou Hubs de Eventos para processamento posterior. Além disso, você pode usar tabelas de log dedicadas para eventos relacionados a pontos de extremidade online, tráfego e logs de console (contêiner). A consulta Kusto permite análises complexas e unir várias tabelas.

  • Application Insights: os ambientes selecionados incluem a integração com o Application Insights, e você pode habilitar ou desabilitar essa integração ao criar uma implantação online. As métricas e os logs integrados são enviados para o Application Insights, e você pode usar os recursos integrados do Application Insights (como Métricas Dinâmicas, Pesquisa de Transações, Falhas e Desempenho) para análises adicionais.

Neste artigo, você aprenderá a:

  • Escolher o método certo para exibir e acompanhar métricas e logs
  • Ver as métricas do ponto de extremidade online gerenciado
  • Criar um painel para suas métricas
  • Criar um alerta de métrica
  • Ver os logs do ponto de extremidade online
  • Usar o Application Insights para acompanhar métricas e logs

Pré-requisitos

  • Implantar um ponto de extremidade online do Azure Machine Learning.
  • Você precisa ter, pelo menos, acesso de Leitor no ponto de extremidade.

Métricas

Você pode exibir páginas de métricas para pontos de extremidade online ou implantações no portal do Azure. Uma maneira fácil de acessar essas páginas de métricas é por meio de links disponíveis na interface do usuário Estúdio do Azure Machine Learning, especificamente na guia Detalhes da página de um ponto de extremidade. Seguir esses links levará você para a página de métricas exatas no portal do Azure para o ponto de extremidade ou implantação. Como alternativa, você também pode entrar no portal do Azure para pesquisar a página de métricas para o ponto de extremidade ou a implantação.

Para acessar as páginas de métricas por meio de links disponíveis no estúdio:

  1. Vá para o estúdio do Azure Machine Learning.

  2. Na barra de navegação à esquerda, selecione a página Pontos de extremidade.

  3. Selecione um ponto de extremidade clicando em seu nome.

  4. Selecione Exibir métricas na seção Atributos do ponto de extremidade para abrir a página de métricas do ponto de extremidade no portal do Azure.

  5. Selecione Exibir métricas na seção para cada implantação disponível para abrir a página de métricas da implantação no portal do Azure.

    Uma captura de tela mostrando como acessar as métricas de um ponto de extremidade e implantação da interface do usuário do estúdio.

Para acessar as métricas diretamente do portal do Azure:

  1. Entre no portal do Azure.

  2. Acesse o recurso de implantação ou o ponto de extremidade online.

    As implantações e os pontos de extremidade online são recursos do ARM (Azure Resource Manager) que podem ser encontrados acessando o grupo de recursos que os contém. Procure os tipos de recursos ponto de extremidade online do Machine Learning e implantação online do Machine Learning.

  3. Na coluna à esquerda, selecione Métricas.

Métricas disponíveis

Dependendo do recurso selecionado, as métricas que você verá serão diferentes. As métricas têm um escopo diferente para implantações online e pontos de extremidade online.

Métricas no escopo do ponto de extremidade

Categoria Metric Nome na API REST Unidade Agregação Dimensões Granularidade de tempo Exportação de DS
Tráfego Conexões ativas

O número total de conexões TCP simultâneas ativas de clientes.
ConnectionsActive Contagem Média <none> PT1M Não
Tráfego Erros de coleta de dados por minuto

O número de eventos de coleta de dados removidos por minuto.
DataCollectionErrorsPerMinute Count Mínimo, Máximo, Média deployment, reason, type PT1M Não
Tráfego Eventos de coleta de dados por minuto

O número de eventos de coleta de dados processados por minuto.
DataCollectionEventsPerMinute Count Mínimo, Máximo, Média deployment, type PT1M Não
Tráfego Bytes de rede

Os bytes por segundo servidos para o ponto de extremidade.
NetworkBytes BytesPerSecond Média <none> PT1M Não
Tráfego Novas conexões por segundo

O número médio de novas conexões TCP por segundo estabelecidas de clientes.
NewConnectionsPerSecond CountPerSecond Média <none> PT1M Não
Tráfego Latência da solicitação

O intervalo completo médio de tempo gasto para que uma solicitação seja respondida em milissegundos
RequestLatency Milissegundos Média deployment PT1M Sim
Tráfego Latência da solicitação P50

A latência média de solicitação P50 agregada por todos os valores de latência de solicitação coletados durante o período selecionado
RequestLatency_P50 Milissegundos Média deployment PT1M Sim
Tráfego Latência de solicitação P90

A latência média de solicitação P90 agregada por todos os valores de latência de solicitação coletados durante o período selecionado
RequestLatency_P90 Milissegundos Média deployment PT1M Sim
Tráfego Latência de solicitação P95

A latência média de solicitação P95 agregada por todos os valores de latência de solicitação coletados durante o período selecionado
RequestLatency_P95 Milissegundos Média deployment PT1M Sim
Tráfego Latência de solicitação P99

A latência média de solicitação P99 agregada por todos os valores de latência de solicitação coletados durante o período selecionado
RequestLatency_P99 Milissegundos Média deployment PT1M Sim
Tráfego Solicitações por minuto

O número de solicitações enviadas ao ponto de extremidade online em um minuto
RequestsPerMinute Contagem Média deployment, statusCode, statusCodeClass, modelStatusCode PT1M Não

Limitação de largura de banda

A largura de banda será limitada se os limites de cota forem excedidos para pontos de extremidade online gerenciados. Para obter mais informações sobre limites, consulte o artigo sobre limites para pontos de extremidade online. Para determinar se as solicitações são limitadas:

  • Monitorar a métrica de "bytes de rede"
  • Os trailers de resposta terão os campos: ms-azureml-bandwidth-request-delay-ms e ms-azureml-bandwidth-response-delay-ms. Os valores dos campos são os atrasos de limitação da largura de banda, em milissegundos.

Para obter mais informações, confira Problemas de limite de largura de banda.

Métricas no escopo da implantação

Categoria Metric Nome na API REST Unidade Agregação Dimensões Granularidade de tempo Exportação de DS
Recurso Percentual de utilização de memória da CPU

Percentual de utilização de memória em uma instância. A utilização é relatada em intervalos de um minuto.
CpuMemoryUtilizationPercentage Percentual Mínimo, Máximo, Média instanceId PT1M Sim
Recurso Porcentagem de utilização de CPU

Percentual de utilização de CPU em uma instância. A utilização é relatada em intervalos de um minuto.
CpuUtilizationPercentage Percentual Mínimo, Máximo, Média instanceId PT1M Sim
Recurso Erros de coleta de dados por minuto

O número de eventos de coleta de dados removidos por minuto.
DataCollectionErrorsPerMinute Count Mínimo, Máximo, Média instanceId, reason, type PT1M Não
Recurso Eventos de coleta de dados por minuto

O número de eventos de coleta de dados processados por minuto.
DataCollectionEventsPerMinute Count Mínimo, Máximo, Média instanceId, type PT1M Não
Recurso Capacidade de implantação

O número de instâncias na implantação.
DeploymentCapacity Count Mínimo, Máximo, Média instanceId, State PT1M Não
Recurso Utilização do disco

Percentual de utilização de disco em uma instância. A utilização é relatada em intervalos de um minuto.
DiskUtilization Percentual Mínimo, Máximo, Média instanceId, disk PT1M Sim
Recurso Energia da GPU em Joules

Energia de intervalo em joules em um nó de GPU. A energia é relatada em intervalos de um minuto.
GpuEnergyJoules Count Mínimo, Máximo, Média instanceId PT1M Não
Recurso Percentual de utilização de memória da GPU

Percentual de utilização de memória da GPU em uma instância. A utilização é relatada em intervalos de um minuto.
GpuMemoryUtilizationPercentage Percentual Mínimo, Máximo, Média instanceId PT1M Sim
Recurso Percentual de utilização da GPU

Percentual de utilização da GPU em uma instância. A utilização é relatada em intervalos de um minuto.
GpuUtilizationPercentage Percentual Mínimo, Máximo, Média instanceId PT1M Sim
Tráfego Latência da solicitação P50

A latência média de solicitação P50 agregada por todos os valores de latência de solicitação coletados durante o período selecionado
RequestLatency_P50 Milissegundos Média <none> PT1M Sim
Tráfego Latência de solicitação P90

A latência média de solicitação P90 agregada por todos os valores de latência de solicitação coletados durante o período selecionado
RequestLatency_P90 Milissegundos Média <none> PT1M Sim
Tráfego Latência de solicitação P95

A latência média de solicitação P95 agregada por todos os valores de latência de solicitação coletados durante o período selecionado
RequestLatency_P95 Milissegundos Média <none> PT1M Sim
Tráfego Latência de solicitação P99

A latência média de solicitação P99 agregada por todos os valores de latência de solicitação coletados durante o período selecionado
RequestLatency_P99 Milissegundos Média <none> PT1M Sim
Tráfego Solicitações por minuto

O número de solicitações enviadas à implantação online em um minuto
RequestsPerMinute Contagem Média envoy_response_code PT1M Não

Criar painéis e alertas

O Azure Monitor permite que você crie dashboards e alertas, com base em métricas.

Criar painéis e visualizar consultas

Você pode criar painéis personalizados e visualizar métricas de várias fontes no portal do Azure, incluindo as métricas do seu ponto de extremidade online. Para obter mais informações sobre como criar painéis e visualizar consultas, confira Painéis usando dados de log e Painéis usando dados do aplicativo.

Criar alertas

Você também pode criar alertas personalizados para receber notificações sobre atualizações de status importantes no ponto de extremidade online:

  1. No canto superior direito da página de métricas, selecione Nova regra de alerta.

    Captura de tela que mostra o botão

  2. Selecione um nome de condição para especificar quando o alerta deve ser disparado.

    Captura de tela que mostra o botão

  3. Selecione Adicionar grupos de ações>Criar grupos de ações para especificar o que deve acontecer quando o alerta é disparado.

  4. Escolha Criar regra de alerta para concluir a criação do alerta.

Para obter mais informações, confira Criar regras de alerta do Azure Monitor.

Habilitar o dimensionamento automático com base em métricas

Você pode habilitar o dimensionamento automático de implantações usando métricas usando a interface do usuário ou o código. Ao usar código (CLI ou SDK), você pode usar IDs de métricas listadas na tabela de métricas disponíveis em condição para disparar o dimensionamento automático. Para obter mais informações, confira Pontos de extremidade online com dimensionamento automático.

Logs

Há três logs que podem ser habilitados para pontos de extremidade online:

  • AmlOnlineEndpointTrafficLog: você pode optar por habilitar logs de tráfego se quiser verificar as informações da sua solicitação. Veja abaixo alguns casos:

    • Se a resposta não for 200, verifique o valor da coluna “ResponseCodeReason” para ver o que aconteceu. Verifique também o motivo na seção "Códigos de status HTTPS" do artigo Solucionar problemas de pontos de extremidade online.

    • Você pode verificar o código de resposta e o motivo da resposta do modelo na coluna “ModelStatusCode” e “ModelStatusReason”.

    • Você deseja verificar a duração da solicitação, como a duração total, a duração da solicitação/resposta e o atraso causado pela limitação da largura de banda. Você pode verificar nos logs para ver a latência do detalhamento.

    • Se você quiser verificar o número de solicitações ou solicitações com falha recentes. Você também pode habilitar os logs.

  • AmlOnlineEndpointConsoleLog: contém logs que os contêineres geram para o console. Veja abaixo alguns casos:

    • Se o contêiner não for iniciado, o log do console poderá ser útil para depuração.

    • Monitore o comportamento do contêiner e verifique se todas as solicitações são identificadas corretamente.

    • Grave as IDs de solicitação no log do console. Ao ingressar a ID da solicitação, o AmlOnlineEndpointConsoleLog e o AmlOnlineEndpointTrafficLog no workspace do Log Analytics, você pode rastrear uma solicitação do ponto de entrada de rede de um ponto de extremidade online para o contêiner.

    • Você também pode usar esse log para análise de desempenho na determinação do tempo exigido pelo modelo para processar cada solicitação.

  • AmlOnlineEndpointEventLog: contém informações de evento sobre o ciclo de vida do contêiner. Atualmente, fornecemos informações sobre os seguintes tipos de eventos:

    Nome Mensagem
    BackOff Retirar a reinicialização do contêiner com falha
    Pull efetuado Imagem de contêiner "<IMAGE_NAME>" já presente no computador
    Encerrando A investigação de atividade com falha no servidor de inferência do contêiner será reiniciada
    Criado Buscador de imagens de contêiner criado
    Criado Servidor de inferência de contêiner criado
    Criado Montagem de modelo de contêiner criado
    LivenessProbeFailed Falha na investigação de atividade: <FAILURE_CONTENT>
    ReadinessProbeFailed Falha na investigação de preparação: <FAILURE_CONTENT>
    Iniciado Buscador de imagens de contêiner iniciado
    Iniciado Servidor de inferência de contêiner iniciado
    Iniciado Montagem de modelo de contêiner iniciado
    Encerrando Servidor de inferência de contêiner interrompido
    Encerrando Montagem de modelo de contêiner interrompido

Como habilitar/desabilitar logs

Importante

O registro em log usa o Log Analytics do Azure. Se você não tiver um espaço de trabalho do Log Analytics, você pode criar um usando as etapas em Criar um espaço de trabalho do Log Analytics no portal do Azure.

  1. No portal do Azure, acesse o grupo de recursos que contém o ponto de extremidade e selecione o ponto de extremidade.

  2. Na seção Monitoramento à esquerda da página, selecione Configurações de diagnóstico e, em seguida, Adicionar configurações.

  3. Selecione as categorias de log a serem habilitadas, selecione Enviado para o workspace do Log Analytics e, em seguida, selecione o workspace do Log Analytics a ser usado. Por fim, insira um Nome de configuração de diagnóstico e selecione Salvar.

    Captura de tela do diálogo de configurações de diagnóstico.

    Importante

    Pode levar até uma hora para que a conexão com o workspace do Log Analytics seja habilitada. Aguarde uma hora antes de prosseguir com as próximas etapas.

  4. Envie as solicitações de pontuação para o ponto de extremidade. Essa atividade deve criar entradas nos logs.

  5. Nas propriedades do ponto de extremidade online ou no workspace do Log Analytics, selecione Logs à esquerda da tela.

  6. Feche o diálogo Consultas que é aberto automaticamente e clique duas vezes em AmlOnlineEndpointConsoleLog. Caso não o veja, use o campo Pesquisa.

    Captura de tela mostrando as consultas de logs.

  7. Selecione Executar.

    Capturas de tela dos resultados após a execução de uma consulta.

Consultas de exemplo

Você pode encontrar consultas de exemplo na guia Consultas ao exibir logs. Pesquise o Ponto de extremidade online para encontrar consultas de exemplo.

Captura de tela das consultas de exemplo.

Detalhes da coluna de log

As tabelas a seguir fornecem detalhes sobre os dados armazenados em cada log:

AmlOnlineEndpointTrafficLog

Propriedade Descrição
Método O método solicitado pelo cliente.
Caminho O caminho solicitado pelo cliente.
SubscriptionId A ID da assinatura de machine learning do ponto de extremidade online.
AzureMLWorkspaceId A ID do workspace de machine learning do ponto de extremidade online.
AzureMLWorkspaceName O nome do espaço de trabalho de machine learning do ponto de extremidade online.
EndpointName O nome do ponto de extremidade online.
DeploymentName O nome da implantação online.
Protocolo O protocolo da solicitação.
ResponseCode O código de resposta final retornado ao cliente.
ResponseCodeReason O motivo do código de resposta final retornado ao cliente.
ModelStatusCode O código de status da resposta do modelo.
ModelStatusReason O motivo do status da resposta do modelo.
RequestPayloadSize O total de bytes recebidos do cliente.
ResponsePayloadSize O total de bytes enviados de volta ao cliente.
UserAgent O cabeçalho usuário-agente da solicitação, incluindo comentários, mas truncado para um máximo de 70 caracteres.
XRequestId A ID de solicitação gerada pelo Azure Machine Learning para rastreamento interno.
XMSClientRequestId A ID de rastreamento gerada pelo cliente.
TotalDurationMs Duração em milissegundos da hora de início da solicitação até o último byte de resposta enviado de volta ao cliente. Se o cliente estiver desconectado, ele medirá da hora de início até a hora de desconexão do cliente.
RequestDurationMs Duração em milissegundos da hora de início da solicitação até o último byte da solicitação recebida do cliente.
ResponseDurationMs Duração em milissegundos da hora de início da solicitação até o primeiro byte de resposta lido do modelo.
RequestThrottlingDelayMs Atraso em milissegundos na transferência de dados da solicitação devido à limitação da largura de banda.
ResponseThrottlingDelayMs Atraso em milissegundos na transferência de dados da resposta devido à limitação da largura de banda.

AmlOnlineEndpointConsoleLog

Propriedade Descrição
TimeGenerated O carimbo de data/hora (UTC) de quando o log foi gerado.
OperationName A operação associada ao registro de log.
InstanceId A ID da instância que gerou esse registro de log.
DeploymentName O nome da implantação associada ao registro de log.
ContainerName O nome do contêiner em que o log foi gerado.
Mensagem O conteúdo do log.

AmlOnlineEndpointEventLog

Propriedade Descrição
TimeGenerated O carimbo de data/hora (UTC) de quando o log foi gerado.
OperationName A operação associada ao registro de log.
InstanceId A ID da instância que gerou esse registro de log.
DeploymentName O nome da implantação associada ao registro de log.
Nome O nome do evento.
Mensagem O conteúdo do evento.

Usando o Application Insights

Os ambientes selecionados incluem a integração com o Application Insights, e você pode habilitar ou desabilitar essa integração ao criar uma implantação online. As métricas e os logs integrados são enviados para o Application Insights, e você pode usar os recursos integrados do Application Insights (como Métricas Dinâmicas, Pesquisa de Transações, Falhas e Desempenho) para análises adicionais.

Confira visão geral do Application Insights para obter mais informações.

No estúdio, você pode usar a guia Monitoramento na página de um ponto de extremidade online para ver grafos de monitor de atividade de alto nível para o ponto de extremidade online gerenciado. Para usar a guia Monitoramento, você deve selecionar Habilitar o diagnóstico e a coleta de dados do Application Insights ao criar seu ponto de extremidade.

Uma captura de tela do monitoramento de métricas no nível do ponto de extremidade no estúdio.