Monitorar os Hubs de Eventos do Azure
Este artigo descreve:
- Os tipos de dados de monitoramento que você pode coletar para esse serviço.
- Maneiras de analisar esses dados.
Observação
Se já estiver familiarizado com esse serviço e/ou com o Azure Monitor e apenas quiser saber como analisar os dados de monitoramento, confira a seção Analisar ao final deste artigo.
Quando seus aplicativos e processos de negócios críticos dependem de recursos do Azure, você precisa monitorar e receber alertas para o seu sistema. O serviço do Azure Monitor coleta e agrega métricas e logs de cada componente do seu sistema. O Azure Monitor lhe fornece uma exibição da disponibilidade, desempenho e resiliência e notifica você em caso de problemas. Você pode usar o portal do Azure, o PowerShell, a CLI do Azure, a API REST ou as bibliotecas de cliente para configurar e exibir dados de monitoramento.
- Para obter mais informações sobre o Azure Monitor, confira a Visão geral do Azure Monitor.
- Para obter mais informações sobre como monitorar os recursos do Azure de modo geral, confira Monitorar os recursos do Azure com o Azure Monitor.
A documentação do Azure Monitor descreve os seguintes conceitos:
- O que é o Azure Monitor?
- Custos associados ao monitoramento
- Monitoramento de dados coletados no Azure
- Configuração de coleta de dados
- Ferramentas padrão no Azure para analisar e alertar sobre dados de monitoramento
As seções a seguir descrevem os dados específicos coletados para os Hubs de Eventos do Azure. Essas seções também fornecem exemplos para configurar a coleta de dados e analisar esses dados com as ferramentas do Azure.
Dica
Para entender os custos associados ao Azure Monitor, consulte o Custo e o uso do Azure Monitor. Para entender o tempo que leva para que os dados apareçam no Azure Monitor, veja Tempo de ingestão de dados de log.
Tipos de recurso
O Azure usa o conceito de tipos de recursos e IDs para identificar tudo em uma assinatura. Os tipos de recurso 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 os tipos de recursos associados a eles, confira Provedores de recursos.
O Azure Monitor organiza os principais dados de monitoramento de maneira similar em métricas e logs com base em tipos de recursos, também chamados de namespaces. Métricas e logs diferentes 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 os Hubs de Eventos, confira Referência de dados de monitoramento dos Hubs de Eventos do Azure.
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 esse repositório.
- O log de atividades do Azure é um repositório separado com uma interface própria no portal do Azure.
Opcionalmente, você pode rotear dados de log de métricas e atividades para o armazenamento 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étricas e logs para outros locais de armazenamento fora do Azure Monitor. Os exemplos incluem o Armazenamento do Azure, sistemas de parceiros hospedados e sistemas de parceiros não Azure, usando Hubs de Eventos.
Para obter informações detalhadas sobre como o Azure Monitor armazena dados, confira Plataforma de dados do Azure Monitor.
Armazenamento do Azure
Se você usar o Armazenamento do Azure para armazenar as informações de registro de diagnóstico, as informações serão armazenadas em contêineres chamados insights-logs-operationlogs e insights-metrics-pt1m. URL de exemplo de um log de operações:
https://<Azure Storage account>.blob.core.windows.net/insights-logs-operationallogs/resourceId=/SUBSCRIPTIONS/<Azure subscription ID>/RESOURCEGROUPS/<Resource group name>/PROVIDERS/MICROSOFT.EVENTHUB/NAMESPACES/<Namespace name>/y=<YEAR>/m=<MONTH-NUMBER>/d=<DAY-NUMBER>/h=<HOUR>/m=<MINUTE>/PT1H.json
. A URL de um log de métrica é semelhante.Hubs de eventos do Azure
Se você usar os Hubs de Eventos do Azure para armazenar as informações de registro de diagnóstico, as informações serão armazenadas em instâncias dos Hubs de Eventos chamadas insights-logs-operationlogs e insights-metrics-pt1m. Você também poderá selecionar um hub de eventos existente, exceto o hub de eventos para o qual você estiver definindo as configurações de diagnóstico.
Log Analytics
Se você usar o Log Analytics para armazenar as informações de registro de diagnóstico, as informações serão armazenadas em tabelas chamadas AzureDiagnostics/AzureMetrics ou em tabelas específicas de recursos.
Importante
Habilitar essas configurações requer serviços adicionais do Azure: conta de armazenamento, hub de eventos ou Log Analytics. Esses serviços podem aumentar seu custo. Para calcular um custo estimado, acesse a Calculadora de preços do Azure.
Observação
Quando você habilita as métricas em uma configuração de diagnóstico, as informações de dimensão não são incluídas atualmente como parte das informações enviadas para uma conta de armazenamento, hub de eventos ou o Log Analytics.
Métricas de plataforma do Azure Monitor
O Azure Monitor fornece métricas de plataforma para a maioria dos serviços. Essas métricas são:
- Definidas individualmente para cada namespace.
- Armazenadas no banco de dados de métricas da série temporal do Azure Monitor.
- Leves e capazes de dar suporte a alertas quase em tempo real.
- Usadas para acompanhar o desempenho de um recurso ao longo do tempo.
Coleta: O Azure Monitor coleta as métricas da plataforma automaticamente. Nenhuma configuração é necessária.
Roteamento: Você também pode rotear algumas métricas da plataforma para Logs do Azure Monitor / Log Analytics para que você possa consultá-las com outros dados de log. Verifique a configuração de exportação de DS para cada métrica para ver se você pode usar uma configuração de diagnóstico para rotear a métrica para Logs do Azure Monitor / Log Analytics.
- Para obter mais informações, confira a Configuração de diagnóstico de métricas.
- Para definir as configurações de diagnóstico para um serviço, confira Criar configurações de diagnóstico no Azure Monitor.
Para obter uma lista de todas as métricas que é possível coletar para todos os recursos no Azure Monitor, confira Métricas com suporte no Azure Monitor.
Os Logs de recursos não são coletados e armazenados até você criar uma configuração de diagnóstico e roteá-los para uma ou mais localizações. Ao criar uma configuração de diagnóstico, você especifica quais categorias de logs coletar. As categorias para Hubs de Eventos do Azure são listadas em Referência de dados de monitoramento dos Hubs de Eventos do Azure.
Observação
O Azure Monitor não inclui dimensões nos dados de métricas exportados que são enviados para um destino como o Armazenamento do Azure, Hubs de Eventos do Azure e Log Analytics.
Para obter uma lista das métricas disponíveis para os Hubs de Eventos, confira Referência de dados de monitoramento dos Hubs de Eventos do Azure.
Analisar métricas
Você pode analisar métricas dos Hubs de Eventos do Azure juntamente com métricas de outros serviços do Azure selecionando Métricas na seção Azure Monitor, na home page do namespace dos Hubs de Eventos. Consulte Análise de métricas com o explorador de métricas do Azure Monitor para obter detalhes sobre como usar essa ferramenta. Para obter uma lista das métricas de plataforma coletadas, confira Monitoramento das métricas de referência de dados dos Hubs de Eventos do Azure.
Para referência, você pode ver uma lista de todas as métricas de recurso com suporte no Azure Monitor.
Dica
Os dados de métricas do Azure Monitor estão disponíveis por 90 dias. No entanto, ao criar gráficos somente 30 dias podem ser visualizados. Por exemplo, se você quiser visualizar um período de 90 dias, deverá dividi-lo em três gráficos de 30 dias dentro do período de 90 dias.
Filtrar e dividir
Para métricas que dão suporte a dimensões, você pode aplicar filtros usando um valor de dimensão. Por exemplo, adicione um filtro com EntityName
definido como o nome de um hub de eventos. Você pode dividir uma métrica por dimensão para visualizar como se comparam os segmentos diferentes da métrica. Para obter mais informações sobre filtragem e divisão, veja Recursos avançados do Azure Monitor.
Logs de recursos do Azure Monitor
Os logs de recursos fornecem insights sobre as operações que foram executadas por um recurso do Azure. Os logs são gerados automaticamente, mas você precisa encaminhá-los para os logs do Azure Monitor para serem salvos ou consultados. Os logs são organizados em categorias. Um determinado namespace pode ter várias categorias de logs de recursos.
Coleta: Os logs de recursos não serão coletados nem armazenados enquanto você não criar uma configuração de diagnóstico e encaminhar os logs para um ou mais locais. Ao criar uma configuração de diagnóstico, você especifica quais categorias de logs coletar. Há várias maneiras de criar e manter configurações de diagnóstico, incluindo o portal do Azure, programaticamente e por meio do Azure Policy.
Encaminhamento: O padrão sugerido é encaminhar os logs de recursos para os logs do Azure Monitor para que você possa consultá-los com outros dados de logs. Também estão disponíveis outros locais, como o Armazenamento do Microsoft Azure, os Hubs de Eventos do Azure e determinados parceiros de monitoramento da Microsoft. Para obter mais informações, confira Logs de recursos do Azure e Destinos de logs de recursos.
Para obter informações detalhadas sobre como coletar, armazenar e encaminhar logs de recursos, confira Configurações de diagnóstico no Azure Monitor.
Para obter uma lista de todas as categorias de logs de recursos disponíveis no Azure Monitor, confira 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 de campos específicos do serviço. O esquema comum está descrito em Esquema do log de recursos do Azure Monitor.
Para as categorias de log de recursos disponíveis, suas tabelas associadas do Log Analytics e os esquemas de log dos Hubs de Eventos, confira Referência de dados de monitoramento dos Hubs de Eventos do Azure.
Analisar logs
Usar o Log Analytics do Azure Monitor exige que você crie uma configuração de diagnóstico e habilite Enviar informações para o Log Analytics. Para obter mais informações, confira a seção Métricas. Os dados em logs do Azure Monitor são armazenados em tabelas, cada uma com o próprio conjunto de propriedades exclusivas. Os Hubs de Eventos do Azure tem a capacidade de distribuir logs para qualquer uma das duas tabelas de destino: tabelas específicas de Diagnóstico do Azure ou Recursos no Log Analytics. Para obter uma referência detalhada dos logs e das métricas, confira Referência de dados de monitoramento dos Hubs de Eventos do Azure.
Importante
Quando você seleciona Logs no menu dos Hubs de Eventos do Azure, o Log Analytics é aberto com o escopo de consulta definido para o workspace atual. Isso significa que as consultas de log incluirão apenas os dados desse recurso. Se você quiser executar uma consulta que inclua dados de outros bancos de dados ou de outros serviços do Azure, selecione Logs no menu Azure Monitor. Confira Escopo da consulta de log e intervalo de tempo no Log Analytics do Azure Monitor para obter detalhes.
Usar logs de runtime
Os Hubs de Eventos do Azure permitem monitorar e auditar interações do plano de dados de seus aplicativos cliente usando logs de auditoria de runtime e logs de métricas de aplicativo.
Usando logs de auditoria do Runtime, você pode capturar informações de diagnóstico agregadas para todas as operações de acesso do plano de dados, como publicar ou consumir eventos. Os logs de métricas do aplicativo capturam os dados agregados em determinadas métricas de runtime (como atraso do consumidor e conexões ativas) relacionadas a aplicativos cliente conectados aos Hubs de Eventos.
Observação
Os logs de auditoria de runtime estão disponíveis apenas nas camadas Premium e dedicadas.
Habilitar logs de runtime
Você pode habilitar logs de auditoria de runtime ou logs de métricas de aplicativo selecionando as Configurações de diagnóstico na seção Monitoramento na página de namespace dos Hubs de Eventos em portal do Azure. Selecione Adicionar configuração de diagnóstico, conforme mostrado na captura de tela a seguir.
Em seguida, você pode habilitar as categorias de log RuntimeAuditLogs ou ApplicationMetricsLogs, conforme necessário.
Depois que os logs de runtime estiverem habilitados, os Hubs de Eventos começarão a colecioná-los e armazená-los de acordo com a configuração de diagnóstico.
Publicar e consumir dados de exemplo
Para coletar logs de auditoria de runtime de exemplo no seu namespace dos Hubs de Eventos, você pode publicar e consumir dados de exemplo usando aplicativos cliente baseados no SDK dos Hubs de Eventos. Esse SDK usa o AMQP (Advanced Message Queuing Protocol). Ou você pode usar qualquer aplicativo cliente do Apache Kafka.
As métricas do aplicativo incluem as seguintes métricas de runtime.
Portanto, você pode usar métricas de aplicativo para monitorar métricas de runtime, como atraso do consumidor ou conexão ativa de um determinado aplicativo cliente. Cada campo associado aos logs de auditoria de runtime são definidos na referência de logs de métricas do aplicativo.
Log de atividades do Azure
O log de atividades contém eventos de nível de assinatura que acompanham as operações de cada recurso do Azure, conforme visto fora desse recurso, por exemplo, criar um recurso ou iniciar uma máquina virtual.
Coleta: Os eventos do log de Atividades são gerados e coletados automaticamente em um repositório separado para serem vistos 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. Também estão disponíveis outros locais, como o Armazenamento do Microsoft Azure, os Hubs de Eventos do Azure e determinados parceiros de monitoramento da Microsoft. Para obter mais informações sobre como encaminhar o log de atividades, confira Visão geral do log de atividades do Azure.
Analisar dados de monitoramento
Existem várias ferramentas para analisar os 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 que você veja e analise as métricas de recursos do Azure. Para obter mais informações sobre essa ferramenta, 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 o KQL (Linguagem de Consulta Kusto). Para obter mais informações, consulte Introdução às consultas de log no Azure Monitor.
O log de atividades, que tem uma interface do usuário no portal do Azure para exibição e pesquisas básicas. Para fazer uma análise mais detalhada, você precisa encaminhar 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 que você combine 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 oferece excelência em termos de painéis operacionais. Você pode usar o Grafana para criar painéis que incluem dados de várias fontes além do Azure Monitor.
- Power BI, um serviço de análises corporativas que fornece visualizações interativas nas diversas fontes de dados. Você pode configurar o Power BI para importar dados de log automaticamente do Azure Monitor a fim de aproveitar essas visualizações.
Ferramentas de exportação do Azure Monitor
Você pode obter dados do Azure Monitor em 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 dá suporte a expressões de filtros para refinar os dados recuperados. Para obter mais informações, confira 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 workspace.
Para começar a usar a API REST do Azure Monitor, confira o Passo a passo da API REST de monitoramento do Azure.
Consultas do Kusto
Analise os dados de monitoramento nos logs do Azure Monitor/no repositório do Log Analytics usando o KQL (Linguagem de Consulta Kusto).
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 você quiser executar uma consulta que inclua dados de outros serviços do Azure, selecione Logs no menu do Azure Monitor. Confira Escopo da consulta de log e intervalo de tempo no Log Analytics do Azure Monitor para obter detalhes.
Para obter uma lista de consultas comuns para qualquer serviço, confira a Interface de consultas do Log Analytics.
Consultas de exemplo do Kusto
Veja os seguintes exemplos de consultas, que podem ser usadas para ajudar você a monitorar os recursos dos Hubs de Eventos do Azure:
Obtenha os erros dos últimos sete dias.
AzureDiagnostics | where TimeGenerated > ago(7d) | where ResourceProvider =="MICROSOFT.EVENTHUB" | where Category == "OperationalLogs" | summarize count() by "EventName"
Obter logs de auditoria de runtime gerados na última hora.
AzureDiagnostics | where TimeGenerated > ago(1h) | where ResourceProvider =="MICROSOFT.EVENTHUB" | where Category == "RuntimeAuditLogs"
Obter tentativas de acesso a um cofre de chaves que resultou no erro "chave não encontrada".
AzureDiagnostics | where ResourceProvider == "MICROSOFT.EVENTHUB" | where Category == "Error" and OperationName == "wrapkey" | project Message
Obter operações executadas com um cofre de chaves para desabilitar ou restaurar a chave.
AzureDiagnostics | where ResourceProvider == "MICROSOFT.EVENTHUB" | where Category == "info" and OperationName == "disable" or OperationName == "restore" | project Message
Obtenha as falhas de captura e sua duração em segundos.
AzureDiagnostics | where ResourceProvider == "MICROSOFT.EVENTHUB" | where Category == "ArchiveLogs" | summarize count() by "failures", "durationInSeconds"
Analisar logs de auditoria de runtime
Você pode analisar os logs de auditoria de runtime coletados usando a consulta de exemplo a seguir.
AzureDiagnostics
| where TimeGenerated > ago(1h)
| where ResourceProvider == "MICROSOFT.EVENTHUB"
| where Category == "RuntimeAuditLogs"
Acima da execução da consulta, você poderá obter os logs de auditoria correspondentes no formato a seguir.
Ao analisar esses logs, você poderá auditar como cada aplicativo cliente interage com os Hubs de Eventos. Cada campo associado a logs de auditoria de runtime são definidos na referência de logs de auditoria de runtime.
Analise as métricas do aplicativo
Você pode analisar os logs de métricas do aplicativo coletados usando a consulta de exemplo a seguir.
AzureDiagnostics
| where TimeGenerated > ago(1h)
| where Category == "ApplicationMetricsLogs"
Alertas
Os alertas do Azure Monitor o notificam proativamente quando condições específicas são encontradas em seus dados de monitoramento. Os alertas permitem que você identifique e resolva problemas no seu sistema antes que os clientes os percebam. Para saber mais, confira Alertas do Azure Monitor.
Existem muitas fontes de alertas comuns para os recursos do Azure. Para obter exemplos de alertas comuns para recursos do Azure, confira Amostra de consultas de alerta de logs. O site Alertas de Linha de Base do Azure Monitor (AMBA) fornece um método semiautomatizado de implementação de alertas, painéis e diretrizes importantes de métrica de plataforma. O site se aplica a um subconjunto de serviços do Azure em contínua expansão, incluindo todos os serviços que fazem parte da Zona de Destino do Azure (ALZ).
O esquema de alerta comum padroniza a consumo do Azure Monitor para notificações de alerta no Azure. Para obter mais informações, confira Esquema de alertas comuns.
Tipos de alertas
Você pode receber alertas sobre qualquer fonte de dados de log ou métrica na plataforma de dados do Azure Monitor. Existem 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 diversos benefícios e desvantagens. Para obter mais informações, confira Escolha o tipo de alerta de monitoramento correto para você.
A lista a seguir descreve os tipos de alertas do Azure Monitor que você pode criar:
- Os Alertas de métricas avaliam as métricas de recursos a 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 de métrica também podem aplicar várias condições e limites dinâmicos.
- Os Alertas de logs permitem que os usuários usem uma consulta do Log Analytics para avaliar os logs de recursos com uma frequência predefinida.
- Os Alertas do log de atividades são disparados quando ocorre um novo evento de log de atividades que corresponda às condições definidas. Os alertas do Resource Health e da Integridade do Serviço são alertas do log de atividades que relatam a integridade do serviço e do recurso.
Alguns serviços do Azure também dão suporte a alertas de detecção inteligentes, alertas do Prometheus ou regras de alerta recomendadas.
No caso de alguns serviços, você pode monitorar em larga escala aplicando a mesma regra de alerta de métricas 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 ver os serviços e as nuvens do Azure com suporte, confira Monitorar vários recursos com uma regra de alerta.
Você pode acessar alertas dos Hubs de Eventos do Azure selecionando Alertas na seção Azure Monitor da home page do namespace dos Hubs de Eventos. Veja Criar, exibir e gerenciar alertas de métricas usando o Azure Monitor para obter detalhes sobre como criar alertas.
Regras de alerta dos Hubs de Eventos
A tabela a seguir lista algumas regras de alerta sugeridas para os Hubs de Eventos. Esses 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 dos Hubs de Eventos do Azure.
Tipo de alerta | Condição | Descrição |
---|---|---|
Metric | CPU | Quando a utilização da CPU excede um valor definido. |
Metric | Memória Disponível | Quando a memória disponível fica abaixo de um valor definido. |
Metric | Lista de pendências de captura | Quando a lista de pendências de captura estiver acima de um determinado valor. |
Recomendações do Assistente
Para alguns serviços, se ocorrerem condições críticas ou alterações iminentes durante operações de recurso, um alerta será exibido na página de Visão geral do serviço no portal. Você pode encontrar mais informações e correções recomendadas para o alerta nas Recomendações do assistente em Monitoramento no menu à esquerda. Durante as operações normais, nenhuma recomendação do assistente será exibida.
Para obter mais informações sobre o Assistente do Azure, confira Visão geral do Assistente do Azure.
Conteúdo relacionado
- Confira a Referência de dados de monitoramento dos Hubs de Eventos do Azure para obter uma referência das métricas, logs e outros valores importantes criados para os Hubs de Eventos.
- Confira Como monitorar recursos do Azure com o Azure Monitor para obter detalhes gerais sobre o monitoramento de recursos do Azure.