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