Partilhar via


Monitorar o Banco de Dados SQL do Azure

Aplica-se a: do Banco de Dados SQL do Azure

Este artigo descreve:

  • Os tipos de dados de monitoramento que você pode coletar para este serviço.
  • Formas de analisar esses dados.

Observação

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.

O mecanismo de banco de dados do SQL Server tem seus próprios recursos de monitoramento e diagnóstico que o Banco de Dados SQL do Azure usa, como Repositório de Consultas e exibições de gerenciamento dinâmico (DMVs). Para obter mais informações, consulte Monitorar o desempenho usando o Repositório de Consultas e Monitorar o desempenho do Banco de Dados SQL do Azure usando exibições de gerenciamento dinâmico.

Para obter uma discussão detalhada de todos os aspetos de monitoramento e desempenho do Banco de Dados SQL do Azure e da Instância Gerenciada SQL do Azure, consulte Monitor e ajuste de desempenho no Banco de Dados SQL do Azure e na Instância Gerenciada SQL do Azure.

Importante

Para obter um conjunto de regras de alerta recomendadas, consulte Monitorar o Banco de Dados SQL do Azure com métricas e alertas do Azure Monitor.

Monitor de banco de dados (pré-visualização)

O inspetor de banco de dados coleta dados detalhados de monitoramento da carga de trabalho para fornecer uma visão detalhada do desempenho, da configuração e da integridade do banco de dados. Os painéis no portal do Azure oferecem uma vista unificada do seu ambiente de SQL no Azure e uma visão detalhada de cada recurso monitorizado. Os dados são coletados em um armazenamento de dados central em sua assinatura do Azure. Pode consultar, analisar, exportar, visualizar os dados recolhidos e integrá-los com sistemas a jusante.

Para obter mais informações sobre o inspetor de banco de dados, consulte os seguintes artigos:

Insight de desempenho de consulta

A análise de desempenho de consulta usa o Repositório de Consultas do SQL Server para fornecer análise inteligente e informações sobre a escolha e o desempenho do plano de consulta para bancos de dados individuais e em lote. Para obter mais informações, consulte Query Performance Insight for Azure SQL Database.

Tipos de recursos

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

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.

Para obter mais informações sobre os tipos de recursos para o SQL Database, consulte a referência de dados de monitorização do SQL Database .

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 efetuar consultas a 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 hospedadose sistemas de parceiros que não sejam 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.

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 : Azure Monitor coleta métricas da plataforma automaticamente. Nenhuma configuração é necessária.

Roteamento: Você também pode rotear algumas métricas da plataforma para o Azure Monitor Logs / Log Analytics para poder consultá-las com outros dados de log. Verifique a configuração de exportação DS para cada métrica para ver se pode usar uma configuração de diagnóstico para encaminhar a métrica para os Logs / Análise de Log do 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.

Métricas do Banco de Dados SQL do Azure

Você pode usar métricas para monitorar o consumo de recursos e a integridade do banco de dados e do pool elástico. Por exemplo, você pode:

  • Dimensione corretamente o banco de dados ou o pool elástico para a carga de trabalho do aplicativo
  • Detete um aumento gradual no consumo de recursos e aumente proativamente a escala do banco de dados ou do pool elástico
  • Detetar e solucionar um problema de desempenho

Para obter uma lista e descrições de métricas comumente usadas no Banco de Dados SQL do Azure, consulte métricas do Banco de Dados SQL do Azure.

Para obter tabelas de todas as métricas disponíveis para o Banco de dados SQL, consulte referência de dados de monitoramento do Banco de dados SQL.

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 registos de recursos só são recolhidos e armazenados após criar uma configuração de diagnóstico e encaminhar os registos para um ou mais locais. Ao criar uma configuração de diagnóstico, você especifica quais categorias de logs devem ser coletadas. 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 os 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 mais informações, consulte Logs de recursos do Azure e Destinos do 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 uma lista de todas as categorias de registos de recursos disponíveis no Azure Monitor, consulte Registos de recursos suportados 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 em esquema de log de recursos do Azure Monitor.

Logs do Banco de Dados SQL do Azure

A auditoria para o Azure SQL Database rastreia eventos de base de dados e grava-os num log de auditoria na sua conta de armazenamento do Azure, espaço de trabalho do Log Analytics, ou Hubs de Eventos. Para mais informações, consulte a Auditoria para o Banco de Dados SQL do Azure .

Para obter mais informações sobre os logs de recursos e diagnósticos disponíveis para o SQL Database do Azure, consulte Configurar exportação contínua de telemetria de diagnóstico.

Para obter as categorias de log de recursos disponíveis, as suas tabelas associadas do Log Analytics e os esquemas de log do Banco de Dados SQL, consulte a referência de dados de monitorização do Banco de Dados SQL em .

Log 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: eventos do log de atividades são gerados e coletados automaticamente num 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:

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.
  • Livros de Trabalho, relatórios personalizáveis que pode criar no portal do Azure. Os livros 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.
  • o 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 da base 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 associadas do cliente.

  • 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 Kusto

Você pode analisar dados de monitoramento no repositório Azure Monitor Logs / Log Analytics usando a linguagem de consulta Kusto (KQL).

Importante

Ao selecionar Logs no menu de serviços do 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 do Azure Monitor. Consulte o escopo da consulta de log e o intervalo de tempo no Azure Monitor Log Analytics para mais detalhes.

Para obter uma lista de consultas comuns para qualquer serviço, consulte a interface de consultas do Log Analytics.

Observação

Ocasionalmente, pode levar até 15 minutos entre quando um evento é emitido e quando ele aparece em um espaço de trabalho do Log Analytics.

Use as consultas a seguir para monitorizar o seu banco de dados. Você pode ver diferentes opções disponíveis dependendo do seu modelo de compra.

Exemplo A: Log_write_percent da última hora

AzureMetrics
| where ResourceProvider == "MICROSOFT.SQL"
| where TimeGenerated >= ago(60min)
| where MetricName in ('log_write_percent')
| parse _ResourceId with * "/microsoft.sql/servers/" Resource
| summarize Log_Maximum_last60mins = max(Maximum), Log_Minimum_last60mins = min(Minimum), Log_Average_last60mins = avg(Average) by Resource, MetricName

Exemplo B: tipos de espera do SQL Server dos últimos 15 minutos

AzureDiagnostics
| where ResourceProvider == "MICROSOFT.SQL"
| where TimeGenerated >= ago(15min)
| parse _ResourceId with * "/microsoft.sql/servers/" LogicalServerName "/databases/" DatabaseName
| summarize Total_count_15mins = sum(delta_waiting_tasks_count_d) by LogicalServerName, DatabaseName, wait_type_s

Exemplo C: os impasses do SQL Server dos últimos 60 minutos

AzureMetrics
| where ResourceProvider == "MICROSOFT.SQL"
| where TimeGenerated >= ago(60min)
| where MetricName in ('deadlock')
| parse _ResourceId with * "/microsoft.sql/servers/" Resource
| summarize Deadlock_max_60Mins = max(Maximum) by Resource, MetricName

Exemplo D: Uso médio da CPU da última hora

AzureMetrics
| where ResourceProvider == "MICROSOFT.SQL"
| where TimeGenerated >= ago(60min)
| where MetricName in ('cpu_percent')
| parse _ResourceId with * "/microsoft.sql/servers/" Resource
| summarize CPU_Maximum_last60mins = max(Maximum), CPU_Minimum_last60mins = min(Minimum), CPU_Average_last60mins = avg(Average) by Resource, MetricName

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, consultar Exemplos de consultas de alerta de log. 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 criar alertas para qualquer fonte de dados de métricas ou logs 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 Escolha o tipo de alerta de monitoramento correto.

A lista a seguir descreve os tipos de alertas do Azure Monitor que você pode criar:

  • Alertas de métricas 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.
  • Alertas de Log permitem que os utilizadores usem uma consulta do Log Analytics para avaliar os logs de recursos com uma frequência predefinida.
  • Alertas do Log de Atividades são acionados quando ocorre um novo evento do log de atividades que corresponde a condições definidas. Os alertas de Integridade do Recurso e os alertas de Integridade do Serviço são alertas do registo 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 Prometheusou 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 Monitorizar múltiplos recursos com uma regra de alerta.

Regras de alerta do Banco de dados SQL

A tabela a seguir lista regras de alerta comuns e recomendadas para o Banco de dados SQL. Você pode ver diferentes opções disponíveis dependendo do seu modelo de compra.

Nome do sinal Operador Tipo de agregação Valor limite Descrição
Percentagem de DTU Maior que Médio 80 Sempre que a percentagem média de DTU for superior a 80%
Percentagem de E/S de registo Maior que Médio 80 Sempre que a percentagem média de log io for superior a 80%
Impasses* Maior que Contar 1 Sempre que a contagem de impasses for superior a 1.
Percentagem de CPU Maior que Médio 80 Sempre que a percentagem média de CPU estiver acima de 80%

* Alertar sobre impasses pode ser desnecessário e barulhento em alguns aplicativos onde os impasses são esperados e tratados corretamente.

Dica

Para obter regras de alerta recomendadas e configurações típicas de regras de alerta para o Banco de Dados SQL, consulte Monitorar o Banco de Dados SQL do Azure com métricas e alertas do Azure Monitor.

Recomendações do conselheiro

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