Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Aplica-se a: do Banco de Dados SQL do Azure
Você pode usar as métricas do Azure Monitor para monitorar o consumo e a integridade dos recursos do banco de dados e do pool elástico. Você pode usar alertas para enviar notificações quando os valores de métrica indicarem um problema potencial.
Métricas
Uma métrica é uma série de valores numéricos medidos em intervalos de tempo regulares, geralmente usando unidades como count, percent, bytes, etc. Dependendo da natureza da métrica, você pode usar agregações como total, count, , average, minimum, para maximum calcular valores métricos ao longo de um período de tempo. Você pode dividir algumas métricas por dimensões. Cada dimensão fornece um contexto adicional aos valores numéricos.
Exemplos de métricas disponíveis do Banco de Dados SQL do Azure são: CPU percentage, Data space used, Deadlocks, Tempdb Percent Log Used.
Veja métricas de banco de dados e métricas de pool elástico para todas as métricas disponíveis no Banco de Dados SQL do Azure.
Observação
Algumas métricas se aplicam apenas a tipos específicos de bancos de dados ou pools elásticos. A descrição de cada métrica menciona se seu uso se limitou a um banco de dados específico ou tipo de pool elástico, como vCore, Hyperscale, serverless, etc.
No portal do Banco de Dados SQL do Azure, várias métricas comumente usadas são representadas na guia Monitoramento da página Visão geral . As métricas permitem avaliar rapidamente o consumo de recursos e a integridade de um banco de dados ou de um pool elástico.
Em Principais métricas, selecione Ver todas as métricas ou em qualquer lugar dentro do gráfico para abrir o explorador de métricas. Na página Métricas , você pode exibir todas as outras métricas disponíveis para o recurso de banco de dados ou pool elástico. No explorador de métricas, pode alterar o intervalo de tempo, a granularidade e o tipo de agregação do gráfico, alterar o tipo de gráfico, expandir o âmbito para incluir métricas de outros recursos do Azure, criar regras de alerta, etc. Você também pode abrir o explorador de métricas selecionando o item de menu Métricas , em Monitoramento no menu de recursos.
Usar métricas para monitorar bancos de dados e pools elásticos
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
A tabela a seguir descreve as métricas comumente usadas no Banco de Dados SQL do Azure.
| Nome da métrica | ID da métrica | Descrição |
|---|---|---|
| Percentagem de CPU | cpu_percent |
Essa métrica mostra o consumo da CPU em relação ao limite de carga de trabalho do usuário de um banco de dados ou de um pool elástico, expresso como uma porcentagem. Para obter mais informações, consulte Consumo de recursos por cargas de trabalho de usuário e processos internos. |
| Porcentagem de CPU da instância SQL | sql_instance_cpu_percent |
Essa métrica mostra o consumo total de CPU pelo usuário e as cargas de trabalho do sistema, expresso em porcentagem. Como essa métrica e a métrica de porcentagem da CPU são medidas em escalas diferentes, elas não são diretamente comparáveis entre si. Para obter mais informações, consulte Consumo de recursos por cargas de trabalho de usuário e processos internos. |
| Percentagem de IO de dados | physical_data_read_percent |
Essa métrica mostra o consumo de E/S do arquivo de dados em relação ao limite de carga de trabalho do usuário de um banco de dados ou pool elástico, expresso como uma porcentagem. Para obter mais informações, consulte Governança de E/S de dados. |
| Percentagem de entrada/saída de registo | log_write_percent |
Esta métrica mostra o consumo de throughput de escrita do log de transações em relação ao limite de carga de trabalho do usuário em um banco de dados ou pool elástico, expresso como uma porcentagem. Para obter mais informações, consulte Governança da taxa de registo de transações. |
| Percentagem de trabalhadores | workers_percent |
Essa métrica mostra o consumo de threads de worker em relação ao limite de carga de trabalho do usuário de um banco de dados ou de um pool elástico, expresso como uma porcentagem. |
| Percentagem de DTU | dtu_consumption_percent |
Essa métrica mostra o consumo de DTU em relação ao limite de carga de trabalho do usuário de um banco de dados ou pool elástico, expresso como uma porcentagem. A porcentagem de DTU é derivada de três outras métricas: porcentagem de CPU, porcentagem de E/S de dados e porcentagem de E/S de log. Em qualquer momento, a porcentagem de DTU corresponde ao valor mais alto entre essas três métricas. |
| CPU usada | cpu_used |
Essa métrica mostra o consumo da CPU em direção ao limite de carga de trabalho do usuário de um banco de dados ou pool elástico, expresso como o número de vCores. Para obter mais informações, consulte Diagnosticar e solucionar problemas de alta CPU no Banco de Dados SQL do Azure. |
| DTU usado | dtu_used |
Essa métrica mostra o número de DTUs usadas por um banco de dados ou um pool elástico. |
| CPU da aplicação faturada | app_cpu_billed |
Para bancos de dados sem servidor, essa métrica mostra a quantidade de computação (CPU e memória) faturada, expressa em segundos vCore. Para obter mais informações, consulte Faturamento na camada de computação sem servidor. |
| Percentagem de CPU da aplicação | app_cpu_percent |
Para bancos de dados sem servidor, essa métrica mostra o consumo da CPU em direção ao limite máximo de vCore do pacote do aplicativo, expresso como uma porcentagem. Para obter mais informações, consulte Monitoramento na camada de computação sem servidor. |
| Percentagem de memória da aplicação | app_memory_percent |
Para bancos de dados sem servidor, essa métrica mostra o consumo de memória em direção ao limite máximo de memória do pacote do aplicativo, expresso como uma porcentagem. Para obter mais informações, consulte Monitoramento na camada de computação sem servidor. |
| Contagem de sessões | sessions_count |
Essa métrica mostra o número de sessões de usuário estabelecidas para um banco de dados ou um pool elástico. |
| Espaço de dados utilizado | storage |
Para bancos de dados, essa métrica mostra a quantidade de espaço de armazenamento usada nos arquivos de dados de um banco de dados. |
| Espaço de dados utilizado | storage_used |
Para pools elásticos, essa métrica mostra a quantidade de espaço de armazenamento usada nos arquivos de dados de todos os bancos de dados em um pool elástico. |
| Espaço de dados alocado | allocated_data_storage |
Essa métrica mostra a quantidade de espaço de armazenamento ocupado pelos arquivos de dados de um banco de dados ou pelos arquivos de dados de todos os bancos de dados em um pool elástico. Os arquivos de dados podem conter espaço vazio. Por isso, o espaço de dados alocado se geralmente for maior do que o espaço de dados usado para o mesmo banco de dados ou pool elástico. Para obter mais informações, consulte Gerenciar espaço de arquivo para bancos de dados no Banco de Dados SQL do Azure. |
| Percentagem de espaço de dados utilizado | storage_percent |
Para bancos de dados, essa métrica mostra a quantidade de espaço de armazenamento usada nos arquivos de dados de um banco de dados em relação ao limite de tamanho de dados de um banco de dados. Para pools elásticos, ele mostra a quantidade de espaço de armazenamento usada nos arquivos de dados de todos os bancos de dados em um pool elástico, expressa como uma porcentagem em relação ao limite de tamanho de dados de um pool elástico. O limite de tamanho de dados para um banco de dados ou um pool elástico pode ser configurado abaixo do limite máximo de tamanho de dados. Para encontrar o limite máximo de tamanho de dados, consulte Limites de recursos para bancos de dados vCore, pools elásticos vCore, bancos de dados DTU e pools elásticos DTU. |
| Percentagem de espaço de dados alocado | allocated_data_storage_percent |
Para pools elásticos, essa métrica mostra a quantidade de espaço de armazenamento ocupado pelos arquivos de dados de todos os bancos de dados em um pool elástico em direção ao limite de tamanho de dados do pool, expresso como uma porcentagem. |
| Percentagem de Log Usado do Tempdb | tempdb_log_used_percent |
Essa métrica mostra o consumo do espaço do log de transações no banco de dados tempdb em relação ao tamanho máximo do log, expresso como uma porcentagem. Para obter mais informações, consulte tempdb no Banco de Dados SQL do Azure. |
| Conexões bem-sucedidas | connection_successful |
Essa métrica mostra o número de conexões estabelecidas com êxito a um banco de dados. Essa métrica pode ser dividida por duas dimensões SslProtocol e ValidatedDriverNameAndVersion, para ver o número de conexões usando uma versão específica do protocolo de criptografia ou usando um driver de cliente específico. |
| Conexões com falha: erros do sistema | connection_failed |
Essa métrica mostra o número de tentativas de conexão com um banco de dados que falharam devido a erros de serviço interno. Mais comumente, tais erros são transitórios. Essa métrica pode ser dividida por duas dimensões Error e ValidatedDriverNameAndVersion, para ver o número de tentativas de conexão com falha devido a um erro específico ou a partir de um driver de cliente específico. |
| Conexões falhadas: erros do utilizador | connection_failed_user_error |
Essa métrica mostra o número de tentativas de conexão com um banco de dados que falharam devido a erros corrigíveis pelo usuário, como uma senha incorreta ou conexão bloqueada pelo firewall. Essa métrica pode ser dividida por duas dimensões Error e ValidatedDriverNameAndVersion, para ver o número de tentativas de conexão com falha devido a um erro específico ou a partir de um driver de cliente específico. |
| Impasses | deadlock |
Essa métrica mostra o número de deadlocks em um banco de dados. |
| Disponibilidade | availability |
A disponibilidade é determinada com base no banco de dados que está sendo operacional para conexões. Para cada ponto de dados de um minuto, os valores possíveis são ou 100% ou 0%. Para obter mais informações, consulte Métrica de disponibilidade. |
| Atraso de replicação (visualização) | replication_lag_seconds |
Atraso de replicação é o intervalo de tempo em segundos a partir do ponto de confirmação da transação no Primário e a confirmação pelo Secundário de que a atualização do log de transações foi persistida. Esse valor está disponível somente no banco de dados primário. Para obter mais informações sobre RTO e RPO, consulte Continuidade de negócios no Banco de Dados SQL do Azure |
Métrica de disponibilidade
A métrica Disponibilidade controla a disponibilidade em nível individual do Banco de Dados SQL do Azure.
A disponibilidade é granular para um minuto de interrupção de conexão. A disponibilidade é determinada com base no banco de dados que está sendo operacional para conexões. Um minuto é considerado como tempo de inatividade ou indisponível se todas as tentativas contínuas dos usuários de estabelecer conexão com o banco de dados dentro do minuto falharem devido a um problema de serviço. Se houver indisponibilidade intermitente, a duração da indisponibilidade contínua deve ultrapassar o limite do minuto para ser considerada como tempo de inatividade. Normalmente, a latência para exibir a disponibilidade é inferior a três minutos.
Aqui está a lógica usada para calcular a disponibilidade para cada intervalo de um minuto:
- Se houver pelo menos uma conexão bem-sucedida, a disponibilidade será de 100%.
- Se todas as conexões falharem devido a erros do usuário, a disponibilidade será de 100%.
- Se não houver tentativas de conexão, a disponibilidade será de 100%.
- Se todas as conexões falharem devido a erros do sistema, a disponibilidade será de 0%.
- Atualmente, os dados da métrica de disponibilidade não são suportados para a camada de computação sem servidor e exibem 100%.
A métrica de disponibilidade é, portanto, uma métrica composta derivada das seguintes métricas existentes:
- Conexões bem-sucedidas
- Conexões falhadas: erros do utilizador
- Bloqueado pelo Firewall
- Conexões com falha: erros do sistema
Os erros de usuário incluem todas as conexões que falham devido à configuração, carga de trabalho ou gerenciamento do usuário. Os erros do sistema incluem todas as conexões que falham devido a problemas transitórios relacionados ao serviço Banco de Dados SQL do Azure.
Exemplos de erros causados pela configuração do usuário:
Exemplos de erros causados pela carga de trabalho do usuário:
Exemplos de erros causados pelo gerenciamento de usuários:
- Dimensionamento para cima ou para baixo do banco de dados ou pool elástico
- Replicação geográfica planeada ou failover forçado
- Grupo de failover planejado ou forçado
- Base de dados geográfica secundária em estado de inicialização
- Base de dados que está em estado de restauração devido a Restauração em Ponto no Tempo (PITR), Restauração de Longo Prazo (LTR) ou restauração de um banco de dados eliminado
- Banco de dados que ainda não terminou de ser copiado (Cópia de banco de dados)
Alertas
Você pode criar regras de alerta para notificá-lo de que o valor de uma métrica ou de várias métricas está fora de um intervalo esperado.
Você pode definir o escopo de uma regra de alerta de várias maneiras para atender às suas necessidades. Por exemplo, o escopo da regra de alerta pode ser definido como:
- Uma única base de dados
- Uma piscina elástica
- Todos os bancos de dados ou pools elásticos em um grupo de recursos
- Todos os bancos de dados ou pools elásticos em uma assinatura dentro de uma região do Azure
- Todos os bancos de dados ou pools elásticos em uma subscrição em todas as regiões
As regras de alerta avaliam periodicamente os valores métricos agregados durante um período de retrospetiva, comparando-os com um valor limite. Você pode configurar o valor limite, a frequência de avaliação e o período de retrospetiva.
Se uma regra de alerta for acionada, você será notificado de acordo com suas preferências de notificação, que você especificar no grupo de ações vinculado à regra de alerta. Por exemplo, você pode receber um e-mail, um SMS ou uma notificação por voz. Uma regra de alerta também pode acionar ações como webhooks, runbooks de automação, funções, aplicações lógicas, etc. É possível integrar alertas com produtos suportados de gestão de serviços de TI.
Para saber mais sobre os alertas do Azure Monitor, consulte Visão geral dos alertas do Azure Monitor. Para se familiarizar com alertas de métrica, revise Alertas de métrica,Gerenciar regras de alerta e Grupos de ação.
Regras de alerta recomendadas
As métricas e os limites ideais a serem usados em regras de alerta variam em todo o amplo espectro de cargas de trabalho de clientes no Banco de Dados SQL do Azure.
Os alertas recomendados na tabela a seguir são um ponto de partida para ajudá-lo a definir a configuração de alerta ideal para seus recursos do Banco de Dados SQL do Azure. Dependendo dos seus requisitos, a sua configuração pode ser diferente deste exemplo. Você pode usar diferentes limites, frequências de avaliação ou períodos de retrospetiva. Você pode optar por criar alertas adicionais ou usar configurações de regras de alerta diferentes para diferentes aplicativos e ambientes.
Aqui estão exemplos de configurações típicas de regras de alerta.
| Nome da regra de alerta | Métrica (sinal) | Lógica de alerta | Quando avaliar | Severidade sugerida |
|---|---|---|---|---|
| Alto uso da CPU do usuário | Percentagem de CPU | Limite: StaticAgregação: AverageOperador: Greater thanValor do limite: 90 |
Verifique todos: 1 minutePeríodo de retrospetiva: 10 minutes |
2 - Advertência |
| Alto uso total da CPU | Porcentagem de CPU da instância SQL | Limite: StaticAgregação: AverageOperador: Greater thanValor do limite: 90 |
Verifique todos: 1 minutePeríodo de retrospetiva: 10 minutes |
2 - Advertência |
| Alto uso de trabalhadores | Percentagem de trabalhadores | Limite: StaticAgregação: MinimumOperador: Greater thanValor do limite: 60 |
Verifique todos: 1 minutePeríodo de retrospetiva: 5 minutes |
1 - Erro |
| Alto uso de entrada/saída de dados | Percentagem de IO de dados | Limite: StaticAgregação: AverageOperador: Greater thanValor do limite: 90 |
Verifique todos: 1 minutePeríodo de retrospetiva: 15 minutes |
3 - Informativo |
| Pouco espaço de dados | Percentagem de espaço de dados utilizado | Limite: StaticAgregação: MinimumOperador: Greater thanValor do limite: 95 |
Verifique todos: 15 minutePeríodo de retrospetiva: 15 minutes |
1 - Erro |
| Espaço de registo reduzido | Percentagem de Log Usado do Tempdb | Limite: StaticAgregação: MinimumOperador: Greater thanValor do limite: 60 |
Verifique todos: 1 minutePeríodo de retrospetiva: 5 minutes |
1 - Erro |
| Bloqueios | Impasses | Limiar: DynamicAgregação: TotalOperador: Greater thanSensibilidade do limiar: Medium |
Verifique todos: 15 minutesPeríodo de retrospetiva: 1 hour |
3 - Informativo |
| Conexões com falha (erros do usuário) | Conexões falhadas: erros do utilizador | Limiar: DynamicAgregação: TotalOperador: Greater thanSensibilidade do limiar: Medium |
Verifique todos: 5 minutesPeríodo de retrospetiva: 15 minutes |
2 - Advertência |
| Conexões com falha (erros do sistema) | Conexões com falha: erros do sistema | Limite: StaticAgregação: TotalOperador: Greater thanUnidade: CountValor limite: 10 |
Verifique todos: 1 minutePeríodo de retrospetiva: 5 minutes |
2 - Advertência |
| Taxa de conexão anômala | Conexões bem-sucedidas | Limiar: DynamicAgregação: TotalOperador: Greater or Less thanSensibilidade do limiar: Low |
Verifique todos: 5 minutesPeríodo de retrospetiva: 15 minutes |
2 - Advertência |
Algumas das regras de alerta recomendadas usam limites dinâmicos para detetar padrões métricos anômalos que podem exigir atenção. As regras de alerta baseadas em limiares dinâmicos não são acionadas até que tenham sido recolhidos dados históricos suficientes para estabelecer padrões normais. Para mais informações, consulte Limiares dinâmicos em alertas de métricas.
Por padrão, os alertas de métricas são com estado. Isso significa que, quando uma regra de alerta é acionada, o alerta é disparado apenas uma vez. O alerta permanece no estado fired até ser resolvido, no momento no qual uma notificação resolved é enviada. Uma regra de alerta aciona um novo alerta somente quando o alerta anterior é resolvido. Os alertas de estado evitam notificações frequentes sobre uma condição em curso. Para obter mais informações sobre alertas com estado e sem estado, consulte Alertas e estado.
Conteúdo relacionado
- Visão geral das métricas do Azure Monitor
- Monitorizar cargas de trabalho SQL do Azure com o observador de bases de dados (versão prévia)
- Analisar métricas com o explorador de métricas do Azure Monitor
- Agregação e exibição de métricas do Azure Monitor explicadas
- Descrição geral dos alertas do Azure Monitor
- Tutorial: Criar um alerta de métrica para um recurso do Azure
- Práticas recomendadas para alertas do Azure Monitor
- Resolver problemas relacionados com os alertas do Azure Monitor
- Otimização da monitorização e do desempenho na Base de Dados SQL do Azure e no Azure SQL Managed Instance
- Configurar a exportação de streaming do Banco de Dados SQL do Azure e da telemetria de diagnóstico da Instância Gerenciada SQL