Monitorar o Barramento de Serviço do Azure

Quando você tem aplicativos e processos de negócios críticos que dependem de recursos do Azure, recomendamos monitorar a disponibilidade, o desempenho e a operação desses recursos. Este artigo descreve os dados de monitoramento gerados pelo Barramento de Serviço do Azure e como analisar e criar alertas sobre esses dados com o Azure Monitor.

O que é o Azure Monitor?

O Barramento de Serviço do Azure cria dados de monitoramento usando o Azure Monitor, que é um serviço de monitoramento de pilha completo no Azure. O Azure Monitor oferece um conjunto completo de recursos para monitorar os recursos do Azure. Ele também pode monitorar recursos em outras nuvens e locais.

Comece com o artigo Como monitorar os recursos do Azure com o Azure Monitor, que 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 se baseiam neste artigo para descrever os dados específicos coletados do Barramento de Serviço 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.

Monitoramento de dados do Barramento de Serviço do Azure

O Barramento de Serviço do Azure coleta os mesmos tipos de dados de monitoramento que outros recursos do Azure descritos em Monitoramento de dados dos recursos do Azure.

Confira Referência de dados de monitoramento do Barramento de Serviço do Azure para obter uma referência detalhada de logs e métricas criados pelo Barramento de Serviço do Azure.

Coleta e roteamento

As métricas de plataforma e o log de atividades são coletados e armazenados automaticamente, mas podem ser roteados para outras localizações usando uma configuração de diagnóstico.

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.

Confira Criar uma configuração de diagnóstico para coletar logs e métricas de plataforma no Azure para obter o processo detalhado de criação de uma configuração de diagnóstico usando o portal do Azure, a CLI ou o PowerShell. Ao criar uma configuração de diagnóstico, você especifica quais categorias de logs coletar. As categorias para Barramento de Serviço do Azure são listadas em Referência de dados de monitoramento do Barramento de Serviço do Azure.

Observação

O Azure Monitor não inclui dimensões nos dados de métrica exportados enviados a um destino (como Armazenamento do Azure, Hubs de Eventos do Azure, Log Analytics etc).

Armazenamento do Azure

As informações de log de diagnóstico sã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.SERVICEBUS/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

As informações de log de diagnóstico são armazenadas em hubs de eventos chamados insights-logs-operationlogs e insights-metrics-pt1m. Você também pode selecionar seu próprio hub de eventos.

Log Analytics

As informações de log de diagnóstico são armazenadas em tabelas chamadas AzureDiagnostics e AzureMetrics.

Saída de log operacional de exemplo (formatada)

{
	"Environment": "PROD",
	"Region": "East US",
	"ScaleUnit": "PROD-BL2-002",
	"ActivityId": "a097a88a-33e5-4c9c-9c64-20f506ec1375",
	"EventName": "Retrieve Namespace",
	"resourceId": "/SUBSCRIPTIONS/<Azure subscription ID>/RESOURCEGROUPS/SPSBUS0213RG/PROVIDERS/MICROSOFT.SERVICEBUS/NAMESPACES/SPSBUS0213NS",
	"SubscriptionId": "<Azure subscription ID>",
	"EventTimeString": "5/18/2021 3:25:55 AM +00:00",
	"EventProperties": "{\"SubscriptionId\":\"<Azure subscription ID>\",\"Namespace\":\"spsbus0213ns\",\"Via\":\"https://spsbus0213ns.servicebus.windows.net/$Resources/topics?api-version=2017-04&$skip=0&$top=100\",\"TrackingId\":\"a097a88a-33e5-4c9c-9c64-20f506ec1375_M8CH3_M8CH3_G8\"}",
	"Status": "Succeeded",
	"Caller": "rpfrontdoor",
	"category": "OperationalLogs"
}

Saída de log de métrica de exemplo (formatada)

{
	"count": 1,
	"total": 4,
	"minimum": 4,
	"maximum": 4,
	"average": 4,
	"resourceId": "/SUBSCRIPTIONS/<Azure subscription ID>/RESOURCEGROUPS/SPSBUS0213RG/PROVIDERS/MICROSOFT.SERVICEBUS/NAMESPACES/SPSBUS0213NS",
	"time": "2021-05-18T03:27:00.0000000Z",
	"metricName": "IncomingMessages",
	"timeGrain": "PT1M"
}

Importante

A habilitação dessas configurações requer serviços adicionais do Azure (conta de armazenamento, hub de eventos ou o Log Analytics), o que pode aumentar o 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.

As métricas e os logs que você pode coletar são discutidos nas seções a seguir.

Analisando as métricas

Você pode analisar métricas de Barramento de Serviço do Azure com métricas de outros serviços do Azure selecionando Métricas na seção Azure Monitor, na página inicial do namespace do Barramento de Serviço. 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, consulte Monitoramento das métricas de referência de dados do Barramento de Serviço do Azure.

Metrics Explorer com o namespace do Barramento de Serviço selecionado

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.

Filtragem e divisão

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 uma fila ou um tópico. 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.

Análise de 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, veja a seção sobre Coleta e rota. Os dados nos Logs do Azure Monitor são armazenados em tabelas, com cada tabela tendo seu próprio conjunto de propriedades exclusivas. O Azure Service Bus tem a capacidade de despachar logs para qualquer uma das duas tabelas de destino - Azure Diagnostic ou tabelas específicas de recursos no Log Analytics. Para obter uma referência detalhada dos logs e das métricas, consulte Referência de dados de monitoramento do Barramento de Serviço do Azure.

Importante

Quando você seleciona Logs no menu do Barramento de Serviço do Azure, o Log Analytics é aberto com o escopo de consulta definido para o espaço de trabalho 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.

Consultas adicionais do Kusto

Veja a seguir exemplos de consultas que podem ser usadas para ajudar você a monitorar os recursos do Barramento de Serviço do Azure:

  • Obter operações de gerenciamento dos últimos 7 dias.

    AzureDiagnostics
    | where TimeGenerated > ago(7d)
    | where ResourceProvider =="MICROSOFT.SERVICEBUS"
    | where Category == "OperationalLogs"
    | summarize count() by EventName_s, _ResourceId
    
  • Obter logs de auditoria de runtime gerados na última hora.

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

    AzureDiagnostics
    | where ResourceProvider == "MICROSOFT.SERVICEBUS" 
    | where Category == "Error" and OperationName == "wrapkey"
    | project Message, _ResourceId
    
  • Obter erros dos últimos 7 dias

    AzureDiagnostics
    | where TimeGenerated > ago(7d)
    | where ResourceProvider =="MICROSOFT.SERVICEBUS"
    | where Category == "Error" 
    | summarize count() by EventName_s, _ResourceId
    
  • Obter operações executadas com um cofre de chaves para desabilitar ou restaurar a chave.

    AzureDiagnostics
    | where ResourceProvider == "MICROSOFT.SERVICEBUS"
    | where (Category == "info" and (OperationName == "disable" or OperationName == "restore"))
    | project Message, _ResourceId
    
  • Obter todas as entidades que foram excluídas automaticamente

    AzureDiagnostics
    | where ResourceProvider == "MICROSOFT.SERVICEBUS"
    | where Category == "OperationalLogs"
    | where EventName_s startswith "AutoDelete"
    | summarize count() by EventName_s, _ResourceId