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.

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

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

Categoria Metric Nome na API REST Unit Agregação Dimensões Grãos de tempo DS Exportação
Trânsito Conexões Ativas

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

O número de eventos de coleta de dados caiu por minuto.
DataCollectionErrorsPerMinute Count Mínimo, Máximo, Médio deployment, reason, type PT1M Não
Trânsito 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édio deployment, type PT1M Não
Trânsito Bytes de rede

Os bytes por segundo serviram para o ponto de extremidade.
NetworkBytes BytesPerSecond Média <nenhum> PT1M Não
Trânsito Novas conexões por segundo

O número médio de novas conexões TCP por segundo estabelecidas a partir de clientes.
NewConnectionsPerSecond CountPerSecond Média <nenhum> PT1M Não
Trânsito Latência de solicitação

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

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

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

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

A latência média da solicitação P99 agregada por todos os valores de latência da solicitação coletados durante o período de tempo selecionado
RequestLatency_P99 Milissegundos Média deployment PT1M Sim
Trânsito Pedidos por minuto

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

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

Categoria Metric Nome na API REST Unit Agregação Dimensões Grãos de tempo DS Exportação
Recurso Percentagem de utilização da memória da CPU

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

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

O número de eventos de coleta de dados caiu por minuto.
DataCollectionErrorsPerMinute Count Mínimo, Máximo, Médio 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édio 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édio instanceId, State PT1M Não
Recurso Utilização do disco

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

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

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

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

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

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

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

A latência média da solicitação P99 agregada por todos os valores de latência da solicitação coletados durante o período de tempo selecionado
RequestLatency_P99 Milissegundos Média <nenhum> PT1M Sim
Trânsito Pedidos por minuto

O número de solicitações enviadas para implantação on-line dentro de um minuto
RequestsPerMinute Count Média envoy_response_code PT1M Não

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.

    Captura de ecrã a mostrar o botão 'Nova regra de alerta' rodeado por uma caixa vermelha.

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

    Captura de ecrã a mostrar o botão 'Configurar lógica de sinal' rodeado por uma caixa vermelha.

  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.

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

Você pode habilitar o dimensionamento automático de implantações usando métricas usando interface do usuário ou 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ções para acionar o dimensionamento automático. Para obter mais informações, consulte Autoscaling online endpoints.

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.

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

    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 .

    Captura de ecrã a mostrar as consultas de registo.

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

Captura de ecrã das consultas de exemplo.

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.

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