Partilhar via


Monitorar Hubs de Eventos do Azure

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.

A documentação do Azure Monitor descreve os seguintes conceitos:

  • O que é o Azure Monitor?
  • Custos associados à monitorização
  • Dados de monitorização recolhidos no Azure
  • Configurando a 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.

Gorjeta

Para compreender os custos associados ao Azure Monitor, consulte Custo e utilização do Azure Monitor. Para entender o tempo que leva para seus dados aparecerem no Azure Monitor, consulte Registrar o tempo de ingestão de dados.

Tipos de recursos

O Azure usa o conceito de tipos de recursos e IDs para identificar tudo em uma assinatura. 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.

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.

Para obter mais informações sobre os tipos de recursos para Hubs de Eventos, consulte Referência de dados de monitoramento de 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 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.

  • Armazenamento do Azure

    Se você usar o Armazenamento do Azure para armazenar as informações de log de diagnóstico, as informações serão armazenadas em contêineres chamados insights-logs-operationlogs e insights-metrics-pt1m. URL de exemplo para um log de operação: 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étricas é semelhante.

  • Hubs de Eventos do Azure

    Se você usar os Hubs de Eventos do Azure para armazenar as informações de log de diagnóstico, as informações serão armazenadas em instâncias de Hubs de Eventos chamadas insights-logs-operationlogs e insights-metrics-pt1m. Você também pode selecionar um hub de eventos existente, exceto o hub de eventos para o qual você está definindo as configurações de diagnóstico.

  • Log Analytics

    Se você usar o Log Analytics para armazenar as informações de log de diagnóstico, as informações serão armazenadas em tabelas chamadas AzureDiagnostics / AzureMetrics ou tabelas específicas de recursos.

Importante

A habilitação dessas configurações requer serviços adicionais do Azure: conta de armazenamento, hub de eventos ou Log Analytics. Estes serviços podem aumentar o seu custo. Para calcular um custo estimado, aceda à calculadora de preços do Azure.

Nota

Quando você habilita 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 análise de log.

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: normalmente você também pode rotear métricas da plataforma para Logs / Log Analytics do Azure Monitor para poder consultá-las com outros dados de log. Para obter mais informações, consulte a configuração de diagnóstico de métricas. Para saber como definir definições de diagnóstico para um serviço, consulte Criar definiçõ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.

Os Registos de Recursos não são recolhidos e armazenados até que crie uma definição de diagnóstico e os encaminhe para uma ou mais localizações. Ao criar uma definição de diagnóstico, especifica as categorias de registos que devem ser recolhidas. As categorias para Hubs de Eventos do Azure estão listadas na referência de dados de monitoramento dos Hubs de Eventos do Azure.

Nota

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 Análise de Log.

Para obter uma lista de métricas disponíveis para Hubs de Eventos, consulte Referência de dados de monitoramento de Hubs de Eventos do Azure.

Analise métricas

Pode analisar métricas para os Hubs de Eventos do Azure, juntamente com métricas de outros serviços do Azure, ao selecionar Métricas na secção Azure Monitor na home page do seu espaço de nomes dos Hubs de Eventos. Consulte Analisar 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, consulte Monitorando métricas de referência de dados dos Hubs de Eventos do Azure.

Captura de tela mostrando o Gerenciador de Métricas para um namespace de Hubs de Eventos.

Para referência, você pode ver uma lista de todas as métricas de recursos com suporte no Azure Monitor.

Gorjeta

Os dados de métricas do Azure Monitor estão disponíveis por 90 dias. No entanto, ao criar gráficos, apenas 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 suportam dimensões, você pode aplicar filtros usando um valor de dimensão. Por exemplo, adicione um filtro com EntityName set para o nome de um hub de eventos. Você também pode dividir uma métrica por dimensão para visualizar como diferentes segmentos da métrica se comparam entre si. Para obter mais informações sobre filtragem e divisão, consulte Recursos avançados do Azure Monitor.

Captura de tela mostrando o Gerenciador de Métricas para um namespace de Hubs de Eventos com um filtro.

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 as categorias de log de recursos disponíveis, suas tabelas associadas do Log Analytics e os esquemas de log para Hubs de Eventos, consulte Referência de dados de monitoramento de Hubs de Eventos do Azure.

Analisar registos

Usar o Azure Monitor Log Analytics exige que você crie uma configuração de diagnóstico e habilite Enviar informações para o Log Analytics. Para obter mais informações, consulte a seção Métricas . Os dados nos Logs do Azure Monitor são armazenados em tabelas, com cada tabela tendo seu próprio conjunto de propriedades exclusivas. Os Hubs de Eventos do Azure têm a capacidade de enviar logs para qualquer uma das duas tabelas de destino: Diagnóstico do Azure ou tabelas específicas de Recursos no Log Analytics. Para obter uma referência detalhada dos logs e métricas, consulte Referência de dados de monitoramento dos Hubs de Eventos do Azure.

Importante

Quando você seleciona Logs no menu Hubs de Eventos do Azure, o Log Analytics é aberto com o escopo da consulta definido para o espaço de trabalho atual. Isso significa que as consultas de log incluirão apenas dados desse recurso. Se quiser executar uma consulta que inclua dados de outros bancos de dados ou 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.

Usar logs de tempo de execução

Os Hubs de Eventos do Azure permitem monitorar e auditar as interações do plano de dados de seus aplicativos cliente usando logs de auditoria de tempo de execução e logs de métricas de aplicativos.

Usando logs de auditoria do Runtime, você pode capturar informações de diagnóstico agregadas para todas as operações de acesso ao plano de dados, como publicação ou consumo de eventos. Os logs de métricas de aplicativos capturam os dados agregados em determinadas métricas de tempo de execução (como atraso do consumidor e conexões ativas) relacionadas a aplicativos cliente conectados a Hubs de Eventos.

Nota

Os logs de auditoria de tempo de execução estão disponíveis apenas em camadas premium e dedicada .

Habilitar logs de tempo de execução

Você pode habilitar a auditoria de tempo de execução ou o log de métricas de aplicativo selecionando Configurações de diagnóstico na seção Monitoramento na página de namespace Hubs de Eventos no portal do Azure. Selecione Adicionar configuração de diagnóstico, conforme mostrado na imagem a seguir.

Captura de tela que mostra a página Configurações de diagnóstico para um namespace de Hubs de Eventos.

Em seguida, você pode habilitar as categorias de log RuntimeAuditLogs ou ApplicationMetricsLogs , conforme necessário.

Captura de tela que mostra a auditoria de tempo de execução e os logs de métricas do aplicativo habilitados.

Depois que os logs de tempo de execução estiverem habilitados, os Hubs de Eventos começarão a coletá-los e armazená-los de acordo com a configuração de definição de diagnóstico.

Publicar e consumir dados de exemplo

Para coletar logs de auditoria de tempo de execução de exemplo em seu namespace de Hubs de Eventos, você pode publicar e consumir dados de exemplo usando aplicativos cliente baseados no SDK de Hubs de Eventos. Esse SDK usa o protocolo AMQP (Advanced Message Queuing Protocol). Ou você pode usar qualquer aplicativo cliente Apache Kafka.

As métricas de aplicativo incluem as seguintes métricas de tempo de execução.

Imagem mostrando o resultado de uma consulta de exemplo para analisar métricas de aplicativos.

Portanto, você pode usar métricas de aplicativo para monitorar métricas de tempo de execução, como atraso do consumidor ou conexão ativa de um determinado aplicativo cliente. Os campos associados aos logs de auditoria de tempo de execução são definidos na referência de logs de métricas do aplicativo.

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.

Exemplos de consultas Kusto

A seguir estão exemplos de consultas que você pode usar para ajudá-lo a monitorar seus recursos de Hubs de Eventos do Azure:

  • Obtenha erros dos últimos sete dias.

    AzureDiagnostics
    | where TimeGenerated > ago(7d)
    | where ResourceProvider =="MICROSOFT.EVENTHUB"
    | where Category == "OperationalLogs"
    | summarize count() by "EventName"
    
    
  • Obtenha logs de auditoria de tempo de execução gerados na última hora.

    AzureDiagnostics
    | where TimeGenerated > ago(1h)
    | where ResourceProvider =="MICROSOFT.EVENTHUB"
    | where Category == "RuntimeAuditLogs"    
    
  • Obtenha tentativas de acesso a um cofre de chaves que resultaram no erro "chave não encontrada".

    AzureDiagnostics
    | where ResourceProvider == "MICROSOFT.EVENTHUB" 
    | where Category == "Error" and OperationName == "wrapkey"
    | project Message
    
  • Obtenha operações realizadas com um cofre de chaves para desativar ou restaurar a chave.

    AzureDiagnostics
    | where ResourceProvider == "MICROSOFT.EVENTHUB"
    | where Category == "info" and OperationName == "disable" or OperationName == "restore"
    | project Message
    
  • Obtenha 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 tempo de execução

Você pode analisar os logs de auditoria de tempo de execução coletados usando a consulta de exemplo a seguir.

AzureDiagnostics
| where TimeGenerated > ago(1h)
| where ResourceProvider == "MICROSOFT.EVENTHUB"
| where Category == "RuntimeAuditLogs"

Na execução da consulta, você deve ser capaz de obter os logs de auditoria correspondentes no seguinte formato.

Imagem mostrando o resultado de uma consulta de exemplo para analisar logs de auditoria de tempo de execução.

Ao analisar esses logs, você deve ser capaz de auditar como cada aplicativo cliente interage com Hubs de Eventos. Cada campo associado aos logs de auditoria de tempo de execução é definido na referência de logs de auditoria de tempo de execução.

Analise métricas de aplicativos

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 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.

Você pode acessar alertas para Hubs de Eventos do Azure selecionando Alertas na seção Monitor do Azure na home page do namespace Hubs de Eventos. Veja Criar, ver e gerir alertas de métricas com o Azure Monitor para obter detalhes acerca da criação de alertas.

Regras de alerta dos Hubs de Eventos

A tabela a seguir lista algumas regras de alerta sugeridas para Hubs de Eventos. 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 dos Hubs de Eventos do Azure.

Tipo de alerta Condição Description
Metric CPU Quando a utilização da CPU excede um valor definido.
Metric Memória Disponível Quando disponível, a memória cai abaixo de um valor definido.
Metric Registo de Tarefas Pendentes de Capturas Quando o Capture Backlog está acima de um determinado valor.

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.

  • Consulte Referência de dados de monitoramento de Hubs de Eventos do Azure para obter uma referência das métricas, logs e outros valores importantes criados para Hubs de Eventos.
  • Consulte Monitorando recursos do Azure com o Azure Monitor para obter detalhes gerais sobre o monitoramento de recursos do Azure.