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:
Vá para o estúdio do Azure Machine Learning.
Na barra de navegação esquerda, selecione a página Pontos de extremidade .
Selecione um ponto de extremidade clicando em seu nome.
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.
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.
Para acessar métricas diretamente do portal do Azure:
Inicie sessão no portal do Azure.
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.
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: Trânsito
Métrica | Nome na API REST | Unit | Agregação | Dimensões | Grãos de tempo | DS Exportação |
---|---|---|---|---|---|---|
Conexões Ativas O número total de conexões TCP simultâneas ativas de clientes. |
ConnectionsActive |
Count | Média | <nenhum> | PT1M | Não |
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 |
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 |
Bytes de rede Os bytes por segundo serviram para o ponto de extremidade. |
NetworkBytes |
BytesPerSecond | Média | <nenhum> | PT1M | Não |
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 |
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 |
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 |
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 |
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 |
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 |
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
ems-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: Recurso
Métrica | Nome na API REST | Unit | Agregação | Dimensões | Grãos de tempo | DS Exportação |
---|---|---|---|---|---|---|
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
Categoria: Trânsito
Métrica | Nome na API REST | Unit | Agregação | Dimensões | Grãos de tempo | DS Exportação |
---|---|---|---|---|---|---|
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 |
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 |
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 |
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 |
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:
No canto superior direito da página de métricas, selecione Nova regra de alerta.
Selecione um nome de condição para especificar quando o alerta deve ser acionado.
Selecione Adicionar grupos>de ações Crie grupos de ações para especificar o que deve acontecer quando o alerta for acionado.
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.
No portal do Azure, vá para o grupo de recursos que contém seu ponto de extremidade e selecione o ponto de extremidade.
Na seção Monitoramento à esquerda da página, selecione Configurações de diagnóstico e Adicionar configurações.
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.
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.
Envie solicitações de pontuação para o ponto de extremidade. Esta atividade deve criar entradas nos logs.
Nas propriedades do ponto de extremidade online ou no espaço de trabalho do Log Analytics, selecione Logs à esquerda da tela.
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 .
Selecione Executar.
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.
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.
Conteúdos relacionados
- Saiba como visualizar os custos do seu endpoint implantado.
- Leia mais sobre o explorador de métricas.