Monitorizar pontos finais online

O Azure Machine Learning usa a integração com o Azure Monitor para rastrear e monitorar métricas e logs para pontos de extremidade online. Você pode exibir métricas em gráficos, comparar entre pontos de extremidade e implantações, fixar em painéis do portal do Azure, configurar alertas, consultar tabelas de log e enviar logs para destinos suportados. 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 uma busca detalhada para ver detalhes no nível de implantação ou no nível de status. As métricas no nível de implantação, como a utilização da CPU/GPU e a utilização da memória ou do disco, também podem ser detalhadas até o nível da instância. O Azure Monitor permite acompanhar essas métricas em gráficos e configurar painéis e alertas para análise posterior.

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

  • Application insights: os ambientes selecionados incluem integração com o Application Insights, e você pode habilitar ou desabilitar essa integração ao criar uma implantação online. Métricas e logs internos são enviados para o Application Insights, e você pode usar os recursos internos do Application Insights (como métricas em tempo real, pesquisa de transações, falhas e desempenho) para análise adicional.

Neste artigo, vai aprender a:

  • Escolha o método certo para visualizar e rastrear métricas e logs
  • Veja métricas para o seu endpoint online
  • Crie um painel para suas métricas
  • Criar um alerta de métrica
  • Ver registos para o seu ponto de extremidade online
  • Use o Application Insights para controlar métricas e logs

Pré-requisitos

  • Implante um ponto de extremidade online do Azure Machine Learning.
  • Você deve ter pelo menos acesso de leitor no ponto de extremidade.

Métricas

Você pode exibir páginas de métricas para pontos de extremidade ou implantações online 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 do estúdio do Azure Machine Learning — especificamente na guia Detalhes da página de um ponto de extremidade. Seguir esses links levará você à 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 implantação.

Para acessar as páginas de métricas através 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 de 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 métricas diretamente do portal do Azure:

  1. Inicie sessão no portal do Azure.

  2. Navegue até o ponto de extremidade online ou recurso de implantação.

    Pontos de extremidade e implantações online são recursos do Azure Resource Manager (ARM) que podem ser encontrados acessando seu próprio grupo de recursos. Procure os tipos de recursos Ponto de extremidade online do Machine Learning e implantação online do Machine Learning.

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

Métricas disponíveis

Dependendo do recurso selecionado, as métricas exibidas serão diferentes. As métricas têm um escopo diferente para endpoints e implantações online.

Métricas no âmbito do ponto final

  • Latência de solicitação
  • Latência de solicitação P50 (latência de solicitação no percentil 50)
  • Latência de solicitação P90 (latência de solicitação no percentil 90)
  • Latência de solicitação P95 (latência de solicitação no percentil 95)
  • Pedidos por minuto
  • Novas ligações por segundo
  • Contagem de ligações ativas
  • Bytes de rede

Divida as seguintes dimensões:

  • Implementação
  • Código de Estado
  • Classe de 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 da 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 endpoints online. Para determinar se as solicitações estão limitadas:

  • Monitorar a métrica "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, em milissegundos, da limitação da largura de banda. Para obter mais informações, consulte Problemas de limite de largura de banda.

Métricas no âmbito da implementação

  • Percentagem de utilização da CPU
  • Capacidade de implantação (o número de instâncias do tipo de instância solicitada)
  • Utilização do disco
  • Utilização da memória GPU (aplicável apenas a instâncias GPU)
  • Utilização da GPU (aplicável apenas a instâncias de GPU)
  • Percentagem de utilização da memória

Divida a seguinte dimensão:

  • ID da instância

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

Criar painéis e alertas

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

Crie painéis e visualize 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, consulte Painéis usando dados de log e Painéis usando dados de aplicativo.

Criar alertas

Você também pode criar alertas personalizados para notificá-lo sobre atualizações de status importantes para seu 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 acionado.

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

  3. Selecione Adicionar grupos de ações Crie grupos> de ações para especificar o que deve acontecer quando o alerta for acionado.

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

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

Registos

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

  • AmlOnlineEndpointTrafficLog: Você pode optar por ativar os logs de tráfego se quiser verificar as informações da sua solicitação. Seguem-se 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 seu 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 rede. Você pode verificá-lo a partir dos logs para ver a latência de detalhamento.

    • Se você quiser verificar quantas solicitações ou solicitações falhadas recentemente. Você também pode ativar os logs.

  • AmlOnlineEndpointConsoleLog: contém logs que os contêineres enviam para o console. Seguem-se alguns casos:

    • Se o contêiner falhar ao iniciar, o log do console poderá ser útil para depuração.

    • Monitore o comportamento do contêiner e certifique-se de que todas as solicitações sejam tratadas corretamente.

    • Escreva IDs de solicitação no log do console. Juntando a ID da solicitação, o AmlOnlineEndpointConsoleLog e o AmlOnlineEndpointTrafficLog no espaço de trabalho 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 para determinar o tempo necessário pelo modelo para processar cada solicitação.

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

    Nome Mensagem
    Retrocesso Contêiner com falha na reinicialização de back-off
    Puxado Imagem de contêiner "IMAGE_NAME>"< já presente na máquina
    Matança A sonda de liveness com falha no servidor de inferência de contêiner será reiniciada
    Criado Buscador de imagens de contêiner criado
    Criado Servidor de inferência de contêiner criado
    Criado Criação de montagem de modelo de contêiner
    LivenessProbeFailed Falha na sonda Liveness: <FAILURE_CONTENT>
    ReadinessProbeFailed Falha na sonda de prontidão: <FAILURE_CONTENT>
    Iniciado Iniciado o buscador de imagens de contêiner
    Iniciado Servidor de inferência de contêiner iniciado
    Iniciado Montagem do modelo de contêiner iniciada
    Matança Parando o servidor de inferência de contêiner
    Matança Interrompendo a montagem do modelo do contêiner

Como ativar/desativar logs

Importante

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

  1. No portal do Azure, vá para o grupo de recursos que contém seu 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 Adicionar configurações.

  3. Selecione as categorias de log a serem habilitadas, selecione Enviar para o espaço de trabalho do Log Analytics e selecione o espaço de trabalho 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 espaço de trabalho do Log Analytics seja habilitada. Aguarde uma hora antes de continuar com as próximas etapas.

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

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

  6. Feche a caixa de diálogo Consultas que é aberta automaticamente e clique duas vezes no AmlOnlineEndpointConsoleLog. Se você não vê-lo, use o campo Pesquisar .

    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 enquanto visualiza logs. Pesquise por Ponto de extremidade online para encontrar consultas de exemplo.

Screenshot of the example queries.

Detalhes da coluna de registo

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

AmlOnlineEndpointTrafficLog

Property Description
Método O método solicitado do cliente.
Caminho O caminho solicitado do cliente.
SubscriptionId A ID da assinatura de aprendizado de máquina do ponto de extremidade online.
AzureMLWorkspaceId A ID do espaço de trabalho de aprendizado de máquina do ponto de extremidade online.
AzureMLWorkspaceName O nome do espaço de trabalho de aprendizado de máquina do ponto de extremidade online.
Nome do ponto de extremidade O nome do ponto de extremidade online.
DeploymentName O nome da implantação online.
Protocolo O protocolo do pedido.
Código de resposta O código de resposta final retornou ao cliente.
ResponseCodeReason O motivo do código de resposta final retornou ao cliente.
ModelStatusCode O código de status de resposta do modelo.
ModelStatusReason O motivo do status de 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 do agente do usuário da solicitação, incluindo comentários, mas truncado até um máximo de 70 caracteres.
XRequestId A ID de solicitação gerada pelo Azure Machine Learning para rastreamento interno.
XMSClientRequestId O ID de rastreamento gerado pelo cliente.
TotalDurationMs Duração em milissegundos desde a hora de início da solicitação até o último byte de resposta enviado de volta ao cliente. Se o cliente desconectado, ele mede desde a hora de início até a hora de desconexão do cliente.
RequestDurationMs Duração em milissegundos desde a hora de início do pedido até ao último byte do pedido recebido do cliente.
ResponseDurationMs Duração em milissegundos desde a hora de início da solicitação até o primeiro byte de resposta lido do modelo.
RequestThrottlingDelayMs Atraso em milissegundos na solicitação de transferência de dados devido à limitação da rede.
RespostaThrottlingDelayMs Atraso em milissegundos na transferência de dados de resposta devido à limitação da rede.

AmlOnlineEndpointConsoleLog

Property Description
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 onde o log foi gerado.
Mensagem O conteúdo do log.

AmlOnlineEndpointEventLog

Property Description
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.

A utilizar o Application Insights

Os ambientes selecionados incluem integração com o Application Insights, e você pode habilitar ou desabilitar essa integração ao criar uma implantação online. Métricas e logs internos são enviados para o Application Insights, e você pode usar os recursos internos do Application Insights (como métricas em tempo real, pesquisa de transações, falhas e desempenho) para análise adicional.

Consulte Visão geral do Application Insights para saber mais.

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

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