Monitorar o Serviço Azure SignalR
Este artigo descreve:
- Os tipos de dados de monitoramento que você pode coletar para este serviço.
- Formas de analisar esses dados.
Nota
Se já estiver familiarizado com este serviço e/ou Azure Monitor e quiser apenas saber como analisar dados de monitorização, consulte a secção Analisar perto do final deste artigo.
Quando você tem aplicativos críticos e processos de negócios que dependem de recursos do Azure, você precisa monitorar e receber alertas para seu sistema. O serviço Azure Monitor coleta e agrega métricas e logs de cada componente do seu sistema. O Azure Monitor fornece uma exibição de disponibilidade, desempenho e resiliência e notifica você sobre problemas. Você pode usar o portal do Azure, PowerShell, CLI do Azure, API REST ou bibliotecas de cliente para configurar e exibir dados de monitoramento.
- Para obter mais informações sobre o Azure Monitor, consulte a visão geral do Azure Monitor.
- Para obter mais informações sobre como monitorar os recursos do Azure em geral, consulte Monitorar recursos do Azure com o Azure Monitor.
Tipos de recursos
O Azure usa o conceito de tipos de recursos e IDs para identificar tudo em uma assinatura. Os tipos de recursos também fazem parte das IDs de recursos para cada recurso em execução no Azure. Por exemplo, um tipo de recurso para uma máquina virtual é Microsoft.Compute/virtualMachines
. Para obter uma lista de serviços e seus tipos de recursos associados, consulte Provedores de recursos.
O Azure Monitor organiza de forma semelhante os principais dados de monitoramento em métricas e logs com base em tipos de recursos, também chamados de namespaces. Diferentes métricas e logs estão disponíveis para diferentes tipos de recursos. Seu serviço pode estar associado a mais de um tipo de recurso.
Para obter mais informações sobre os tipos de recursos para o Serviço Azure SignalR, consulte Referência de dados de monitoramento do Serviço Azure SignalR.
Armazenamento de dados
Para o Azure Monitor:
- Os dados de métricas são armazenados no banco de dados de métricas do Azure Monitor.
- Os dados de log são armazenados no repositório de logs do Azure Monitor. O Log Analytics é uma ferramenta no portal do Azure que pode consultar este armazenamento.
- O log de atividades do Azure é um repositório separado com sua própria interface no portal do Azure.
Opcionalmente, você pode rotear dados de métricas e logs de atividades para o repositório de logs do Azure Monitor. Em seguida, você pode usar o Log Analytics para consultar os dados e correlacioná-los com outros dados de log.
Muitos serviços podem usar configurações de diagnóstico para enviar dados de métrica e log para outros locais de armazenamento fora do Azure Monitor. Os exemplos incluem o Armazenamento do Azure, sistemas de parceiros hospedados e sistemas de parceiros que não são do Azure, usando Hubs de Eventos.
Para obter informações detalhadas sobre como o Azure Monitor armazena dados, consulte Plataforma de dados do Azure Monitor.
Os logs do Serviço Azure SignalR são armazenados na conta de armazenamento configurada nas configurações de diagnóstico. Um contêiner chamado insights-logs-alllogs
é criado automaticamente para armazenar logs de recursos. Dentro do contêiner, os logs são armazenados no arquivo resourceId=/SUBSCRIPTIONS/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX/RESOURCEGROUPS/XXXX/PROVIDERS/MICROSOFT. SIGNALRSERVICE/SIGNALR/XXX/y=AAAA/m=MM/d=DD/h=HH/m=00/PT1H.json. Basicamente, o caminho é uma combinação de resource ID
e Date Time
. Os arquivos de log são divididos por hour
. Portanto, as atas são sempre m=00
.
Todos os logs são armazenados no formato JSON (JavaScript Object Notation). O código a seguir é um exemplo de uma cadeia de caracteres JSON de log de arquivamento:
{
"properties": {
"message": "Entered Serverless mode.",
"type": "ConnectivityLogs",
"collection": "Connection",
"connectionId": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"userId": "User",
"transportType": "WebSockets",
"connectionType": "Client"
},
"operationName": "ServerlessModeEntered",
"category": "AllLogs",
"level": "Informational",
"callerIpAddress": "xxx.xxx.xxx.xxx",
"time": "2019-01-01T00:00:00Z",
"resourceId": "/SUBSCRIPTIONS/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX/RESOURCEGROUPS/XXXX/PROVIDERS/MICROSOFT.SIGNALRSERVICE/SIGNALR/XXX",
"location": "xxxx"
}
Os nomes de campo para destinos de armazenamento diferem ligeiramente dos nomes de campo para o Log Analytics. Para obter detalhes sobre o mapeamento de nome de campo entre tabelas de Armazenamento e Análise de Log, consulte Mapeamento de tabela de Log de Recursos.
Métricas da plataforma Azure Monitor
O Azure Monitor fornece métricas de plataforma para a maioria dos serviços. Essas métricas são:
- Definido individualmente para cada namespace.
- Armazenado no banco de dados de métricas de séries cronológicas do Azure Monitor.
- Leve e capaz de suportar alertas quase em tempo real.
- Usado para acompanhar o desempenho de um recurso ao longo do tempo.
Coleção: o Azure Monitor coleta métricas da plataforma automaticamente. Não é necessária qualquer configuração.
Roteamento: você também pode rotear algumas métricas da plataforma para o Azure Monitor Logs / Log Analytics para poder consultá-las com outros dados de log. Verifique a configuração de exportação DS para cada métrica para ver se você pode usar uma configuração de diagnóstico para rotear a métrica para Azure Monitor Logs / Log Analytics.
- Para obter mais informações, consulte a configuração de diagnóstico de métricas.
- Para definir configurações de diagnóstico para um serviço, consulte Criar configurações de diagnóstico no Azure Monitor.
Para obter uma lista de todas as métricas que é possível reunir para todos os recursos no Azure Monitor, consulte Métricas suportadas no Azure Monitor.
Métricas do Serviço Azure SignalR
Para obter a lista de todas as métricas disponíveis para o Serviço Azure SignalR, consulte Referência de dados de monitoramento do Serviço Azure SignalR.
Granularidade da contagem de mensagens
A granularidade mínima da contagem de mensagens é de 2 KB de tráfego de dados de saída. Se um cliente enviar mensagens pequenas ou pouco frequentes, totalizando menos de 2 KB em um período de tempo de amostragem, a contagem de mensagens será zero (0), mesmo que as mensagens tenham sido enviadas. A maneira de verificar um pequeno número ou tamanho de mensagens é usando a métrica Tráfego de Saída, que é uma contagem de bytes enviados.
Erros do sistema e erros do usuário
As métricas Erros do Usuário e Erros do Sistema são a porcentagem de tentativas de operações, como conectar ou enviar uma mensagem, que falharam. Um erro de sistema é uma falha na lógica interna do sistema. Um erro do usuário é geralmente um erro de aplicativo, geralmente relacionado à rede. Normalmente, a percentagem de erros do sistema deve ser baixa, perto de zero.
Importante
Em algumas situações, a taxa de erros do usuário é muito alta, especialmente no modo sem servidor. Em alguns navegadores, o cliente SignalR não desliga normalmente quando um usuário fecha a página da Web. Uma conexão pode permanecer aberta, mas sem resposta até que o Serviço Azure SignalR finalmente a feche devido ao tempo limite. O fechamento do tempo limite é contado na métrica Erros do usuário.
Métricas adequadas para dimensionamento automático
A Utilização da Quota de Ligação e a Carga do Servidor mostram a percentagem de utilização ou carga em comparação com a contagem de unidades atualmente atribuída. Essas métricas são comumente usadas em regras de dimensionamento automático. Por exemplo, se a alocação atual for uma unidade e houver 750 conexões com o serviço, a Utilização da Cota de Conexão será 750/1000 = 0,75. A Carga do Servidor é calculada de forma semelhante, usando valores para a capacidade de computação. Para obter mais informações, consulte Dimensionar automaticamente unidades de um Serviço SignalR do Azure.
Nota
O dimensionamento automático é apenas um recurso de nível Premium.
Logs de recursos do Azure Monitor
Os logs de recursos fornecem informações sobre operações que foram feitas por um recurso do Azure. Os logs são gerados automaticamente, mas você deve roteá-los para os logs do Azure Monitor para salvá-los ou consultá-los. Os logs são organizados em categorias. Um determinado namespace pode ter várias categorias de log de recursos.
Coleção: os logs de recursos não são coletados e armazenados até que você crie uma configuração de diagnóstico e roteie os logs para um ou mais locais. Ao criar uma definição de diagnóstico, especifica as categorias de registos que devem ser recolhidas. Há várias maneiras de criar e manter configurações de diagnóstico, incluindo o portal do Azure, programaticamente e por meio da Política do Azure.
Roteamento: o padrão sugerido é rotear logs de recursos para Logs do Azure Monitor para que você possa consultá-los com outros dados de log. Outros locais, como o Armazenamento do Azure, Hubs de Eventos do Azure e determinados parceiros de monitoramento da Microsoft também estão disponíveis. Para obter mais informações, consulte Logs de recursos do Azure e Destinos de log de recursos.
Para obter informações detalhadas sobre como coletar, armazenar e rotear logs de recursos, consulte Configurações de diagnóstico no Azure Monitor.
Para obter uma lista de todas as categorias de log de recursos disponíveis no Azure Monitor, consulte Logs de recursos com suporte no Azure Monitor.
Todos os logs de recursos no Azure Monitor têm os mesmos campos de cabeçalho, seguidos por campos específicos do serviço. O esquema comum é descrito no esquema de log de recursos do Azure Monitor.
- Para obter instruções detalhadas sobre como habilitar, consultar e solucionar problemas com logs de recursos do Serviço Azure SignalR, consulte Monitorar e solucionar problemas de logs do Serviço SignalR do Azure.
- Para obter as categorias de log de recursos disponíveis, suas tabelas associadas do Log Analytics e os esquemas de log para o Serviço Azure SignalR, consulte Referência de dados de monitoramento do Serviço Azure SignalR.
Categorias de log de recursos
Os logs de recursos são agrupados em grupos de categorias. Os grupos de categorias são uma coleção de logs diferentes para ajudá-lo a atingir diferentes objetivos de monitoramento. O Azure SignalR dá suporte a logs de conectividade, logs de mensagens e logs de solicitação Http.
Logs de conectividade
Os logs de conectividade fornecem informações detalhadas para conexões de hub SignalR. Por exemplo:
- Informações básicas, como ID de usuário, ID de conexão e tipo de transporte
- Informações de eventos como conectar, desconectar e anular eventos
Portanto, o log de conectividade é útil para solucionar problemas relacionados à conexão. Para solução de problemas típica relacionada à conexão, consulte Problemas relacionados à conexão.
Registros de mensagens
Os logs de mensagens fornecem informações de rastreamento para as mensagens do hub SignalR recebidas e enviadas através do serviço SignalR, por exemplo, ID de rastreamento e tipo de mensagem da mensagem. O ID de rastreamento e o tipo de mensagem também são registrados no servidor do aplicativo. Normalmente, a mensagem é gravada quando chega ou sai do serviço ou servidor. Portanto, os logs de mensagens são úteis para solucionar problemas relacionados a mensagens. Para solução de problemas típica relacionada a mensagens, consulte Problemas relacionados a mensagens.
Nota
Esse tipo de log é gerado para cada mensagem. Se as mensagens forem enviadas com frequência, os logs de mensagens podem afetar o desempenho do serviço SignalR. No entanto, você pode escolher diferentes comportamentos de coleta para minimizar o impacto no desempenho. Consulte logs de recursos coletando comportamentos.
Logs de solicitação Http
Os logs de solicitação HTTP fornecem informações detalhadas para as solicitações HTTP recebidas pelo Azure SignalR, por exemplo, código de status e URL da solicitação. O log de solicitações http é útil para solucionar problemas relacionados a solicitações.
Para obter as categorias de log de recursos disponíveis, suas tabelas associadas do Log Analytics e os esquemas de log para o Serviço Azure SignalR, consulte Referência de dados de monitoramento do Serviço Azure SignalR.
Comportamentos de coleta de logs de recursos
Há dois cenários típicos para usar logs de recursos, especialmente para logs de mensagens.
- A qualidade da mensagem regista se a mensagem foi enviada ou recebida com êxito ou regista todas as mensagens que são entregues através do serviço SignalR.
- O desempenho registra a latência da mensagem ou rastreia a mensagem em algumas conexões em vez de todas as conexões.
Portanto, o serviço SignalR fornece dois tipos de comportamentos de coleta:
- Colete todos os logs coletados em todas as conexões.
- Coletar parcialmente coleta logs em algumas conexões específicas.
Para obter mais detalhes sobre comportamentos de coleta de logs de recursos e como configurá-los, consulte Comportamentos de coleta de logs de recursos.
Registo de atividades do Azure
O log de atividades contém eventos no nível de assinatura que rastreiam as operações para cada recurso do Azure visto de fora desse recurso; por exemplo, criar um novo recurso ou iniciar uma máquina virtual.
Coleção: os eventos do log de atividades são gerados e coletados automaticamente em um repositório separado para exibição no portal do Azure.
Roteamento: você pode enviar dados de log de atividades para os Logs do Azure Monitor para analisá-los junto com outros dados de log. Outros locais, como o Armazenamento do Azure, Hubs de Eventos do Azure e determinados parceiros de monitoramento da Microsoft também estão disponíveis. Para obter mais informações sobre como rotear o log de atividades, consulte Visão geral do log de atividades do Azure.
Analise os dados de monitoramento
Existem muitas ferramentas para analisar dados de monitoramento.
Ferramentas do Azure Monitor
O Azure Monitor dá suporte às seguintes ferramentas básicas:
Explorador de métricas, uma ferramenta no portal do Azure que permite exibir e analisar métricas para recursos do Azure. Para obter mais informações, consulte Analisar métricas com o explorador de métricas do Azure Monitor.
Log Analytics, uma ferramenta no portal do Azure que permite consultar e analisar dados de log usando a linguagem de consulta Kusto (KQL). Para obter mais informações, consulte Introdução às consultas de log no Azure Monitor.
O log de atividades, que tem uma interface de usuário no portal do Azure para exibição e pesquisas básicas. Para fazer uma análise mais aprofundada, você precisa rotear os dados para os logs do Azure Monitor e executar consultas mais complexas no Log Analytics.
As ferramentas que permitem uma visualização mais complexa incluem:
- Painéis que permitem combinar diferentes tipos de dados em um único painel no portal do Azure.
- Pastas de trabalho, relatórios personalizáveis que você pode criar no portal do Azure. As pastas de trabalho podem incluir texto, métricas e consultas de log.
- Grafana, uma ferramenta de plataforma aberta que se destaca em dashboards operacionais. Você pode usar o Grafana para criar painéis que incluem dados de várias fontes diferentes do Azure Monitor.
- Power BI, um serviço de análise de negócios que fornece visualizações interativas em várias fontes de dados. Você pode configurar o Power BI para importar automaticamente dados de log do Azure Monitor para aproveitar essas visualizações.
Ferramentas de exportação do Azure Monitor
Você pode obter dados do Azure Monitor para outras ferramentas usando os seguintes métodos:
Métricas: use a API REST para métricas para extrair dados de métricas do banco de dados de métricas do Azure Monitor. A API suporta expressões de filtro para refinar os dados recuperados. Para obter mais informações, consulte Referência da API REST do Azure Monitor.
Logs: use a API REST ou as bibliotecas de cliente associadas.
Outra opção é a exportação de dados do espaço de trabalho.
Para começar a usar a API REST para o Azure Monitor, consulte Passo a passo da API REST de monitoramento do Azure.
Consultas do Kusto
Você pode analisar dados de monitoramento no repositório Azure Monitor Logs / Log Analytics usando a linguagem de consulta Kusto (KQL).
Importante
Quando você seleciona Logs no menu do serviço no portal, o Log Analytics é aberto com o escopo da consulta definido para o serviço atual. Esse escopo significa que as consultas de log incluirão apenas dados desse tipo de recurso. Se quiser executar uma consulta que inclua dados de outros serviços do Azure, selecione Logs no menu Azure Monitor . Consulte Escopo e intervalo de tempo da consulta de log no Azure Monitor Log Analytics para obter detalhes.
Para obter uma lista de consultas comuns para qualquer serviço, consulte a interface de consultas do Log Analytics.
Por exemplo, consultas Kusto para o Serviço Azure SignalR, consulte Consultas para a tabela SignalRServiceDiagnosticLogs.
Nota
Os nomes de campo de consulta para destinos de armazenamento diferem ligeiramente dos nomes de campo para o Log Analytics. Para obter detalhes sobre os mapeamentos de nome de campo entre tabelas de Armazenamento e Análise de Log, consulte Mapeamento de tabela de Log de Recursos.
Alertas
Os alertas do Azure Monitor notificam proativamente quando condições específicas são encontradas em seus dados de monitoramento. Os alertas permitem-lhe identificar e resolver problemas no seu sistema antes que os seus clientes os percebam. Para obter mais informações, consulte Alertas do Azure Monitor.
Há muitas fontes de alertas comuns para recursos do Azure. Para obter exemplos de alertas comuns para recursos do Azure, consulte Consultas de alerta de log de exemplo. O site Azure Monitor Baseline Alerts (AMBA) fornece um método semiautomatizado de implementação de alertas métricos de plataforma, painéis e diretrizes importantes. O site aplica-se a um subconjunto em contínua expansão dos serviços do Azure, incluindo todos os serviços que fazem parte da Zona de Aterragem do Azure (ALZ).
O esquema de alerta comum padroniza o consumo de notificações de alerta do Azure Monitor. Para obter mais informações, consulte Esquema de alerta comum.
Tipos de alertas
Você pode alertar sobre qualquer fonte de dados de métrica ou log na plataforma de dados do Azure Monitor. Há muitos tipos diferentes de alertas, dependendo dos serviços que você está monitorando e dos dados de monitoramento que você está coletando. Diferentes tipos de alertas têm vários benefícios e desvantagens. Para obter mais informações, consulte Escolher o tipo de alerta de monitoramento correto.
A lista a seguir descreve os tipos de alertas do Azure Monitor que você pode criar:
- Os alertas métricos avaliam as métricas de recursos em intervalos regulares. As métricas podem ser métricas de plataforma, métricas personalizadas, logs do Azure Monitor convertidos em métricas ou métricas do Application Insights. Os alertas métricos também podem aplicar várias condições e limites dinâmicos.
- Os alertas de log permitem que os usuários usem uma consulta do Log Analytics para avaliar logs de recursos em uma frequência predefinida.
- Os alertas do log de atividades são acionados quando ocorre um novo evento do log de atividades que corresponde às condições definidas. Os alertas de Integridade do Recurso e os alertas de Integridade do Serviço são alertas de log de atividades que relatam a integridade do serviço e do recurso.
Alguns serviços do Azure também suportam alertas de deteção inteligente, alertas Prometheus ou regras de alerta recomendadas.
Para alguns serviços, você pode monitorar em escala aplicando a mesma regra de alerta de métrica a vários recursos do mesmo tipo que existem na mesma região do Azure. Notificações individuais são enviadas para cada recurso monitorado. Para serviços e nuvens do Azure com suporte, consulte Monitorar vários recursos com uma regra de alerta.
Regras de alerta do Serviço Azure SignalR
A tabela a seguir lista algumas regras de alerta sugeridas para o Serviço Azure SignalR. Estes alertas são apenas exemplos. Você pode definir alertas para qualquer métrica, entrada de log ou entrada de log de atividades listada na referência de dados de monitoramento do Serviço Azure SignalR.
Tipo de alerta | Condição | Description |
---|---|---|
Métricas de plataforma | Utilização da quota de ligação | Sempre que a Utilização máxima da Quota de Ligação for superior ao limite dinâmico |
Métricas de plataforma | Excluir SignalR | Sempre que o Registro de Atividades tiver um evento com Category='Administrative', Signal name='Delete SignalR (SignalR)' |
Recomendações do assistente
Para alguns serviços, se ocorrerem condições críticas ou alterações iminentes durante as operações de recursos, será exibido um alerta na página Visão geral do serviço no portal. Você pode encontrar mais informações e correções recomendadas para o alerta em Recomendações do Advisor em Monitoramento no menu à esquerda. Durante as operações normais, nenhuma recomendação do consultor é exibida.
Para obter mais informações sobre o Azure Advisor, consulte Visão geral do Azure Advisor.
Conteúdos relacionados
- Para obter uma referência listando as métricas, logs de recursos e outros recursos de monitoramento importantes para o Serviço Azure SignalR, consulte Referência de dados de monitoramento do Serviço Azure SignalR.
- Para obter detalhes gerais sobre como monitorar recursos do Azure, consulte Monitorar recursos do Azure com o Azure Monitor.
- Para obter instruções detalhadas sobre como habilitar, consultar e solucionar problemas com logs do Serviço Azure SignalR, consulte Monitorar e solucionar problemas de logs do Serviço SignalR do Azure.