Monitorizar Hubs de Eventos do Azure

Quando tem aplicações críticas e processos de negócio que dependem dos recursos do Azure, deverá querer monitorizar esses recursos quanto à disponibilidade, ao desempenho e à operação. Este artigo descreve os dados de monitorização gerados pelo Hubs de Eventos do Azure e como analisar e alertar sobre estes dados com o Azure Monitor.

O que é o Azure Monitor?

Os Hubs de Eventos do Azure criam dados de monitorização com o Azure Monitor, que é um serviço de monitorização de pilha completa no Azure. O Azure Monitor proporciona um conjunto completo de funcionalidades que pode utilizar para monitorizar os recursos do Azure. Este conjunto de funcionalidades também pode monitorizar recursos noutras clouds e no local.

Comece com o artigo Monitorizar recursos do Azure com o Azure Monitor, que descreve os seguintes conceitos:

  • O que é o Azure Monitor?
  • Custos associados à monitorização
  • Monitorizar dados recolhidos no Azure
  • Configurar a recolha de dados
  • Ferramentas padrão no Azure para analisar e alertar sobre a monitorização de dados

As secções seguintes baseiam-se neste artigo ao descrever os dados específicos recolhidos para Hubs de Eventos do Azure. Estas secções também fornecem exemplos para configurar a recolha de dados e analisar estes dados com as ferramentas do Azure.

Dica

Para compreender os custos associados ao Azure Monitor, veja Utilização e custos estimados. Para compreender o tempo que os seus dados demoram a aparecer no Azure Monitor, veja Tempo de ingestão de dados de registo.

Monitorizar dados de Hubs de Eventos do Azure

Hubs de Eventos do Azure recolhe os mesmos tipos de dados de monitorização que outros recursos do Azure descritos em Monitorizar dados de recursos do Azure.

Veja Hubs de Eventos do Azure referência de dados de monitorização para obter uma referência detalhada dos registos e métricas criados pelo Hubs de Eventos do Azure.

Recolha e encaminhamento

As métricas de plataforma e o registo de atividades são recolhidos e armazenados automaticamente, mas podem ser encaminhados para outras localizações através de uma definição de diagnóstico.

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.

Veja Criar uma definição de diagnóstico para recolher registos e métricas da plataforma no Azure para ficar a conhecer o processo detalhado de criação de uma definição de diagnóstico com o portal do Azure, a CLI ou o PowerShell. Quando cria uma definição de diagnóstico, especifica as categorias de registos a recolher. As categorias para Hubs de Eventos do Azure estão listadas na Hubs de Eventos do Azure referência de dados de monitorização.

Nota

O Azure Monitor não inclui dimensões nos dados de métricas exportadas, que são enviados para um destino como o Armazenamento do Azure, Hubs de Eventos do Azure, Log Analytics, etc.

Storage do Azure

Se utilizar o Armazenamento do Azure para armazenar as informações de registo de diagnósticos, as informações são armazenadas em contentores com o nome insights-logs-operationlogs e insights-metrics-pt1m. URL de exemplo para um registo 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.SERVICEBUS/NAMESPACES/<Namespace name>/y=<YEAR>/m=<MONTH-NUMBER>/d=<DAY-NUMBER>/h=<HOUR>/m=<MINUTE>/PT1H.json. O URL de um registo de métricas é semelhante.

Azure Event Hubs

Se utilizar Hubs de Eventos do Azure para armazenar as informações de registo de diagnósticos, as informações são armazenadas em instâncias dos Hubs de Eventos com o nome insights-logs-operationlogs e insights-metrics-pt1m. Também pode selecionar um hub de eventos existente, exceto o hub de eventos para o qual está a configurar as definições de diagnóstico.

Log Analytics

Se utilizar o Log Analytics para armazenar as informações de registo de diagnósticos, as informações são armazenadas em tabelas denominadas AzureDiagnostics e AzureMetrics.

Importante

A ativação destas definições requer serviços adicionais do Azure (conta de armazenamento, hub de eventos ou Log Analytics), o que pode aumentar o seu custo. Para calcular um custo estimado, visite a calculadora de preços do Azure.

Nota

Quando ativa as métricas numa definição de diagnóstico, as informações de dimensão não são atualmente incluídas como parte das informações enviadas para uma conta de armazenamento, hub de eventos ou análise de registos.

As métricas e os registos que pode recolher são abordados nas secções seguintes.

Analisar 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. Veja Introdução ao Explorador de Métricas do Azure para obter detalhes de como utilizar esta ferramenta. Para obter uma lista das métricas da plataforma recolhidas, veja Monitorização Hubs de Eventos do Azure métricas de referência de dados.

Explorador de Métricas com o espaço de nomes dos Hubs de Eventos selecionado

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

Dica

Os dados de métricas do Azure Monitor estão disponíveis durante 90 dias. No entanto, ao criar gráficos apenas 30 dias pode ser visualizado. Por exemplo, se quiser visualizar um período de 90 dias, tem de o dividir em três gráficos de 30 dias no período de 90 dias.

Filtrar e dividir

Para métricas que suportem dimensões, pode aplicar filtros com um valor de dimensão. Por exemplo, adicione um filtro com EntityName o nome de um hub de eventos definido. Também pode dividir uma métrica por dimensão para visualizar a forma como os diferentes segmentos da métrica se comparam entre si. Para obter mais informações sobre filtragem e divisão, veja Funcionalidades avançadas do Azure Monitor.

Imagem a mostrar métricas de filtragem e divisão

Analisar registos

A utilização do Log Analytics do Azure Monitor requer que crie uma configuração de diagnóstico e ative Enviar informações para o Log Analytics. Para obter mais informações, veja a secção Coleção e encaminhamento . Os dados nos Registos do Azure Monitor são armazenados em tabelas, com cada tabela a ter o seu próprio conjunto de propriedades exclusivas. Hubs de Eventos do Azure armazena dados nas seguintes tabelas: AzureDiagnostics e AzureMetrics.

Importante

Quando seleciona Registos no menu Hubs de Eventos do Azure, o Log Analytics é aberto com o âmbito da consulta definido para a área de trabalho atual. Isto significa que as consultas de registo só incluirão dados desse recurso. Se quiser executar uma consulta que inclua dados de outras bases de dados ou dados de outros serviços do Azure, selecione Registos no menu do Azure Monitor . Veja Âmbito da consulta de registo e intervalo de tempo no Log Analytics do Azure Monitor para obter detalhes.

Para obter uma referência detalhada dos registos e das métricas, veja Hubs de Eventos do Azure referência de dados de monitorização.

Consultas kusto de exemplo

Importante

Quando seleciona Registos no menu Hubs de Eventos do Azure, o Log Analytics é aberto com o âmbito da consulta definido para o espaço de nomes Hubs de Eventos do Azure atual. Isto significa que as consultas de registo só incluirão dados desse recurso. Se quiser executar uma consulta que inclua dados de outras áreas de trabalho ou dados de outros serviços do Azure, selecione Registos no menu do Azure Monitor . Veja Âmbito da consulta de registo e intervalo de tempo no Log Analytics do Azure Monitor para obter detalhes.

Seguem-se consultas de exemplo que pode utilizar para o ajudar a monitorizar os seus recursos de Hubs de Eventos do Azure:

  • Obter erros dos últimos sete dias

    AzureDiagnostics
    | where TimeGenerated > ago(7d)
    | where ResourceProvider =="MICROSOFT.EVENTHUB"
    | where Category == "OperationalLogs"
    | summarize count() by "EventName"
    
    
  • Obtenha os registos de auditoria do runtime 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 resultou num erro "chave não encontrada".

    AzureDiagnostics
    | where ResourceProvider == "MICROSOFT.EVENTHUB" 
    | where Category == "Error" and OperationName == "wrapkey"
    | project Message
    
  • Faça operações 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
    
  • Obter falhas de captura e a respetiva duração em segundos

    AzureDiagnostics
    | where ResourceProvider == "MICROSOFT.EVENTHUB"
    | where Category == "ArchiveLogs"
    | summarize count() by "failures", "durationInSeconds"    
    
    

Utilizar registos de runtime

Hubs de Eventos do Azure permite-lhe monitorizar e auditar as interações do plano de dados das aplicações cliente com registos de auditoria de runtime e registos de métricas de aplicações.

Ao utilizar os registos de auditoria do Runtime , pode capturar informações de diagnóstico agregadas para todas as operações de acesso ao plano de dados, como publicar ou consumir eventos. Os registos de métricas de aplicação capturam os dados agregados em determinadas métricas de runtime (como o atraso do consumidor e as ligações ativas) relacionadas com aplicações cliente estão ligados aos Hubs de Eventos.

Nota

Os registos de auditoria do runtime só estão disponíveis em escalões premium e dedicados .

Ativar registos de runtime

Pode ativar registos de auditoria de runtime ou registos de métricas da aplicação ao selecionar Definições de diagnóstico na secção Monitorização na página espaço de nomes dos Hubs de Eventos no portal do Azure. Clique em Adicionar definição de diagnóstico , conforme mostrado abaixo.

Captura de ecrã a mostrar a página Definições de diagnóstico.

Em seguida, pode ativar as categorias de registo RuntimeAuditLogs ou ApplicationMetricsLogs , conforme necessário.
Captura de ecrã a mostrar a seleção de RuntimeAuditLogs e ApplicationMetricsLogs.

Assim que os registos de runtime estiverem ativados, os Hubs de Eventos começarão a recolher e a armazená-los de acordo com a configuração da definição de diagnóstico.

Publicar e consumir dados de exemplo

Para recolher registos de auditoria de runtime de exemplo no espaço de nomes dos Hubs de Eventos, pode publicar e consumir dados de exemplo com aplicações cliente baseadas no SDK dos Hubs de Eventos (AMQP) ou em qualquer aplicação cliente do Apache Kafka.

Analisar registos de auditoria do runtime

Pode analisar os registos de auditoria do runtime recolhidos com a seguinte consulta de exemplo.

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

Para cima na execução da consulta, deverá conseguir obter os registos de auditoria correspondentes no seguinte formato. Imagem que mostra o resultado de uma consulta de exemplo para analisar os registos de auditoria do runtime.

Ao analisar estes registos, deve ser capaz de auditar a forma como cada aplicação cliente interage com os Hubs de Eventos. Cada campo associado aos registos de auditoria do runtime é definido na referência de registos de auditoria de runtime.

Analisar as métricas da aplicação

Pode analisar os registos de métricas da aplicação recolhidos com a seguinte consulta de exemplo.

AzureDiagnostics
| where TimeGenerated > ago(1h)
| where Category == "ApplicationMetricsLogs"

As métricas da aplicação incluem as seguintes métricas de runtime. Imagem que mostra o resultado de uma consulta de exemplo para analisar as métricas da aplicação.

Por conseguinte, pode utilizar as métricas da aplicação para monitorizar métricas de runtime, como o atraso do consumidor ou a ligação ativa a partir de uma determinada aplicação cliente. Cada campo associado aos registos de auditoria do runtime é definido na referência de registos de métricas da aplicação.

Alertas

Pode aceder a alertas para Hubs de Eventos do Azure ao selecionar Alertas na secção Azure Monitor na home page do espaço de nomes dos 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.

Passos seguintes