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 métricas entre pontos de extremidade e implantações, fixar métricas em painéis do portal do Azure, configurar alertas, tabelas de log de consulta e logs de push 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 drill down para ver informações detalhadas no nível de implantação ou no nível de status. Você também pode detalhar métricas de nível de implantação, como uso de CPU/GPU e uso de memória ou disco até o nível da instância. No Monitor, você pode acompanhar essas métricas em gráficos e configurar painéis e alertas para análise posterior.
Logs: Você pode enviar métricas para um espaço de trabalho do Log Analytics, onde pode usar a sintaxe de consulta Kusto para consultar os logs. Você também pode enviar métricas para contas de Armazenamento do Azure ou Hubs de Eventos do Azure para processamento posterior. Para tráfego, logs de console (contêiner) e eventos relacionados a pontos de extremidade online, você pode usar tabelas de log dedicadas. As consultas Kusto suportam recursos de análise complexos e a junção de várias tabelas.
Application Insights: Os ambientes com curadoria incluem integração com o Application Insights. Você pode ativar ou desativar essa integração ao criar uma implantação online. Quando você o ativa, métricas e logs internos são enviados para o Application Insights. Em seguida, você pode usar os recursos internos do Application Insights para análises adicionais. Exemplos desses recursos incluem métricas em tempo real, a pesquisa de transações, a visualização de falhas e a visualização de desempenho.
Neste artigo você vê como:
- Escolha o método certo para visualizar e acompanhar métricas e logs.
- Veja métricas para o seu endpoint online.
- Crie um painel para suas métricas.
- Crie um alerta de métrica.
- Veja os registos do seu ponto de extremidade online.
- Use o Application Insights para acompanhar métricas e logs.
Pré-requisitos
- Um ponto de extremidade online do Azure Machine Learning
- Pelo menos acesso de leitor no ponto de extremidade
Utilizar métricas
No portal do Azure, você pode exibir páginas de métricas para pontos de extremidade e implantações online.
Métricas de acesso do estúdio de Aprendizado de Máquina do Azure
Uma maneira fácil de acessar páginas de métricas é por meio de links disponíveis na interface do usuário do estúdio do Azure Machine Learning. Você pode encontrar esses links na guia Detalhes da página de um ponto de extremidade. Esses links levam à página de métricas no portal do Azure para o ponto de extremidade ou implantação.
Para acessar as páginas de métricas por meio de links disponíveis no estúdio, siga as seguintes etapas:
No estúdio do Azure Machine Learning, vá para o seu espaço de trabalho.
Em Ativos, selecione Pontos de extremidade.
Selecione o nome de um ponto de extremidade.
Em Atributos do ponto final, selecione Exibir métricas.
A página de métricas do ponto de extremidade é aberta no portal do Azure.
No estúdio do Azure Machine Learning, em uma página de ponto de extremidade, vá para a seção de uma implantação e selecione Exibir métricas.
A página de métricas da implantação é aberta no portal do Azure.
Acessar métricas do portal do Azure
Outra maneira de exibir a página de métricas de um ponto de extremidade ou implantação é ir diretamente para o portal do Azure:
Aceda ao portal do Azure.
Vá para o ponto de extremidade online ou recurso de implantação.
Pontos de extremidade e implantações online são recursos do Azure Resource Manager. Você pode encontrá-los acessando seu grupo de recursos e, em seguida, procurando os tipos de recursos Ponto de extremidade online do Machine Learning e implantação on-line do Machine Learning.
Na página do recurso, em Monitoramento, selecione Métricas.
Métricas disponíveis
As métricas que você vê dependem do recurso selecionado. As métricas para endpoints e implantações online têm um escopo diferente.
Métricas no escopo do endpoint
Para obter informações sobre métricas disponíveis no escopo do ponto de extremidade online, consulte Métricas suportadas para Microsoft.MachineLearningServices/workspaces/onlineEndpoints.
Limitação da largura de banda
A largura de banda é limitada se os limites de cota forem excedidos para pontos de extremidade online gerenciados . Para obter mais informações sobre limites para pontos de extremidade online, consulte Pontos de extremidade online e pontos de extremidade em lote do Azure Machine Learning no artigo sobre cotas e limites no Azure Machine Learning. Para determinar se as solicitações são limitadas:
- Monitore a métrica de bytes de rede.
- Verifique os seguintes campos nos trailers de resposta:
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 escopo da implantação
Para obter informações sobre métricas disponíveis no escopo de implantação, consulte Métricas suportadas para Microsoft.MachineLearningServices/workspaces/onlineEndpoints/deployments.
Criar painéis e alertas
No Monitor, você pode criar painéis e alertas baseados em métricas.
Crie painéis e visualize consultas
Você pode criar painéis personalizados para que possa 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 Criar e compartilhar painéis de dados do Log Analytics e Criar painéis de KPI personalizados usando o Application Insights.
Criar alertas
Você também pode criar alertas personalizados para receber notificações sobre atualizações de status importantes para seu ponto de extremidade online:
No portal do Azure, vá para uma página de métricas e selecione Nova regra de alerta.
Na janela Selecione um sinal, selecione o sinal para o qual pretende criar um alerta e, em seguida, selecione Aplicar.
Na página Criar uma regra de alerta, introduza um limite e edite quaisquer outras definições que pretenda ajustar. Para obter mais informações sobre as configurações da regra de alerta, consulte Configurar as condições da regra de alerta. Em seguida, selecione Next: Actions.
Na janela Selecionar grupos de ações, crie ou selecione um grupo de ações para especificar o que acontece quando o alerta é acionado. Para obter mais informações, consulte Configurar os detalhes da regra de alerta.
Selecione Rever + Criar para concluir a criação do alerta.
Dimensione automaticamente com base em métricas
Você pode configurar implantações para dimensionar automaticamente com base em métricas. Para ativar o recurso de dimensionamento automático, você pode usar a interface do usuário ou o código.
As opções de código são a CLI do Azure Machine Learning e o SDK do Azure Machine Learning para Python. Ao usar código, você configura as condições para acionar o dimensionamento automático fornecendo o nome de métricas da API REST.
- Para obter os nomes das métricas de ponto de extremidade a serem usadas no código, consulte os valores na coluna Nome na API REST na tabela em Métricas suportadas para Microsoft.MachineLearningServices/workspaces/onlineEndpoints.
- Para obter os nomes das métricas de implantação a serem usadas no código, consulte os valores na coluna Nome na API REST nas tabelas em Métricas suportadas para Microsoft.MachineLearningServices/workspaces/onlineEndpoints/deployments.
Para obter mais informações, consulte Autoscale online endpoints in Azure Machine Learning.
Utilizar registos
Há três logs que você pode ativar para pontos de extremidade online:
AmlOnlineEndpointTrafficLog: Este log de tráfego fornece uma maneira de verificar as informações de solicitações para o ponto de extremidade. Este registo é útil nos seguintes casos:
- Uma resposta de solicitação não é 200 e você quer mais informações. A
ResponseCodeReason
coluna no log lista o motivo. Para obter descrições de códigos de status e motivos, consulte Códigos de status HTTPS no artigo sobre solução de problemas de pontos de extremidade online. - Você deseja procurar o código de resposta e o motivo da resposta do seu modelo para uma solicitação. As
ModelStatusCode
colunas eModelStatusReason
fornecem essas informações. - Você quer saber a duração de um pedido. Os logs fornecem um detalhamento da latência. Esse detalhamento mostra a duração total, a duração da solicitação, a duração da resposta e o atraso causado pela limitação da rede.
- Você deseja verificar o número de solicitações recentes que são bem-sucedidas e falham. Os logs fornecem essas informações.
- Uma resposta de solicitação não é 200 e você quer mais informações. A
AmlOnlineEndpointConsoleLog: Este log contém instruções que os contêineres gravam como saída para o console. Este registo é útil nos seguintes casos:
- Falha ao iniciar um contêiner. O log do console pode ser útil para depuração.
- Você deseja monitorar o comportamento do contêiner e certificar-se de que todas as solicitações são tratadas corretamente.
- Você deseja rastrear uma solicitação do ponto de entrada de rede de um ponto de extremidade online para o contêiner. Você pode usar uma consulta do Log Analytics que une a ID da solicitação com informações dos logs AmlOnlineEndpointConsoleLog e AmlOnlineEndpointTrafficLog.
- Você deseja executar uma análise de desempenho, por exemplo, para determinar o tempo que o modelo leva para processar cada solicitação.
AmlOnlineEndpointEventLog: Este log contém informações de eventos sobre o ciclo de vida do contêiner. Atualmente, o log fornece informações 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
Ativar registos
Importante
O registro em log usa o recurso Log Analytics do Monitor. Se você não tiver atualmente um espaço de trabalho do Log Analytics, poderá criar um seguindo as etapas em Criar um espaço de trabalho.
No portal do Azure, vá para o grupo de recursos que contém seu ponto de extremidade e selecione o ponto de extremidade.
Em Monitorização, selecione Definições de diagnóstico e, em seguida, selecione Adicionar definição de diagnóstico.
Na janela Configuração de diagnóstico, insira as seguintes informações:
- Ao lado de Nome da configuração de diagnóstico, insira um nome para sua configuração.
- Em Logs, selecione as categorias de log que você deseja ativar.
- Em Detalhes do destino, selecione Enviar para o espaço de trabalho do Log Analytics e, em seguida, selecione a assinatura e o espaço de trabalho do Log Analytics a serem usados.
Selecione Guardar.
Importante
Pode levar até uma hora para que a conexão com o espaço de trabalho do Log Analytics esteja disponível. Aguarde uma hora antes de continuar com as etapas na próxima seção.
Logs de consulta
Envie solicitações de pontuação para o ponto de extremidade para criar entradas nos logs.
Aceda ao portal do Azure. Para abrir os logs, use uma das seguintes opções:
- Vá para a página de propriedades do seu ponto de extremidade online. Em Monitoramento, selecione Logs.
- Aceda à sua área de trabalho do Log Analytics. À esquerda, selecione Logs.
Feche a janela do hub Consultas que é aberta por padrão.
Em Outro, clique duas vezes em AmlOnlineEndpointConsoleLog. Se você não vir AmlOnlineEndpointConsoleLog, insira esse valor no campo de pesquisa.
Selecione Executar.
Consultas de exemplo
Exemplos de consultas estão disponíveis para você usar. Para exibir as consultas, execute as seguintes etapas:
Detalhes da coluna de registo
As tabelas a seguir fornecem informações detalhadas sobre os dados armazenados em cada log:
AmlOnlineEndpointTrafficLog
Property | Description |
---|---|
Método | O método que o cliente solicita. |
Caminho | O caminho que o cliente solicita. |
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 que é devolvido ao cliente. |
ResponseCodeReason | O motivo do código de resposta final que é devolvido ao cliente. |
ModelStatusCode | O código de status da 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 que o Azure Machine Learning gera para rastreamento interno. |
XMSClientRequestId | O ID de rastreamento que o cliente gera. |
TotalDurationMs | A duração em milissegundos desde a hora de início da solicitação até o momento em que o último byte de resposta é enviado de volta ao cliente. Se o cliente se desconectar, a duração será tomada desde a hora de início até a hora de desconexão do cliente. |
RequestDurationMs | A duração em milissegundos desde a hora de início da solicitação até o momento em que o último byte da solicitação é recebido do cliente. |
ResponseDurationMs | A duração em milissegundos desde a hora de início da solicitação até o momento em que o primeiro byte de resposta é lido do modelo. |
RequestThrottlingDelayMs | O atraso em milissegundos na transferência de dados da solicitação devido à limitação da rede. |
RespostaThrottlingDelayMs | O 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 da hora em que o log é gerado |
OperationName | A operação associada ao registro de log |
InstanceId | A ID da instância que gera o registro de log |
DeploymentName | O nome da implantação associada ao registro de log |
ContainerName | O nome do contêiner onde o log é gerado |
Mensagem | O conteúdo do registo |
AmlOnlineEndpointEventLog
Property | Description |
---|---|
TimeGenerated | O carimbo de data/hora UTC da hora em que o log é gerado |
OperationName | A operação associada ao registro de log |
InstanceId | A ID da instância que gera o registro de log |
DeploymentName | O nome da implantação associada ao registro de log |
Nome | O nome do evento |
Mensagem | Conteúdo do evento |
Usar o Application Insights
Os ambientes com curadoria incluem integração com o Application Insights. Por meio dessa integração, métricas e logs integrados são enviados para o Application Insights. Como resultado, você pode usar os recursos internos do Application Insights para análises adicionais. Exemplos desses recursos incluem métricas em tempo real, a pesquisa de transações, a visualização de falhas e a visualização de desempenho.
Para obter mais informações, consulte Visão geral do Application Insights.
Você pode ativar a integração com o Application Insights ao criar uma implantação online no estúdio. Na página Implantação, em Diagnóstico do Application Insights, selecione Habilitado.
Ao ativar o Application Insights, você pode ver gráficos de monitor de atividade de alto nível para um ponto de extremidade online gerenciado. No estúdio, vá para a página do ponto de extremidade e selecione a guia Monitoramento .