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.

    A screenshot showing how to access the metrics of an endpoint and deployment from the studio UI.

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

  • Latência da Solicitação
  • Latência de Solicitação P50 (latência de solicitação no 50º percentil)
  • Latência de Solicitação P90 (latência de solicitação no 90º percentil)
  • Latência de Solicitação P95 (latência de solicitação no 95º percentil)
  • Solicitações por minuto
  • Novas conexões por segundo
  • Contagem de conexão ativa
  • Bytes de rede

Divida-as nas seguintes dimensões:

  • Implantação
  • Código de status
  • Classe do código de status

Por exemplo, você pode dividir ao longo da dimensão de implantação para comparar a latência de solicitação de diferentes implantações em um ponto de extremidade.

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

  • Porcentagem de Utilização de CPU
  • Capacidade de Implantação (o número de instâncias do tipo de instância solicitado)
  • Utilização do Disco
  • Utilização de Memória de GPU (aplicável somente a instâncias de GPU)
  • Utilização de GPU (aplicável somente a instâncias de GPU)
  • Porcentagem de Utilização de Memória

Divida-as na seguinte dimensão:

  • ID da instância

Por exemplo, você pode comparar a utilização de CPU e/ou memória entre diferentes instâncias para uma implantação online.

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.

    Screenshot showing 'New alert rule' button surrounded by a red box.

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

    Screenshot showing 'Configure signal logic' button surrounded by a red box.

  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.

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.

    Screenshot of the diagnostic settings dialog.

    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.

    Screenshot showing the log queries.

  7. Selecione Executar.

    Screenshots of the results after running a query.

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.

Screenshot of the example queries.

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.

A screenshot of monitoring endpoint-level metrics in the studio.