Monitorar o Banco de Dados do Azure para MySQL - Servidor Flexível

APLICA-SE A: Banco de Dados do Azure para MySQL - Servidor Flexível

O Banco de Dados do Azure para servidor flexível MySQL fornece monitoramento de servidores por meio do Azure Monitor. O monitoramento de dados sobre seus servidores ajuda a solucionar problemas e otimizar sua carga de trabalho.

Neste artigo, você aprenderá sobre as várias métricas disponíveis e os logs do servidor para seu servidor flexível que fornecem informações sobre o comportamento do seu servidor.

Nota

Este artigo poderá conter referências ao termo slave (secundário), um termo que a Microsoft já não utiliza. Quando o termo for removido do software, iremos removê-lo deste artigo.

Métricas

As métricas são valores numéricos que descrevem algum aspeto dos recursos do seu servidor em um determinado momento. O monitoramento dos recursos do servidor ajuda você a solucionar problemas e otimizar sua carga de trabalho, permitindo que você monitore o que é mais importante para você. O monitoramento das métricas certas ajuda você a manter o desempenho, a confiabilidade e a disponibilidade do servidor e dos aplicativos.

O servidor flexível do Banco de Dados do Azure para MySQL fornece várias métricas para entender o desempenho da sua carga de trabalho e, com base nesses dados, você pode entender o impacto em seu servidor e aplicativo.

Todas as métricas do Azure têm uma frequência de um minuto, sendo que cada métrica fornece 30 dias de histórico. Pode configurar alertas relacionados com as métricas. Para obter orientação passo a passo, consulte Como configurar alertas. Outras tarefas incluem a configuração de ações automatizadas, a execução de análises avançadas e o arquivamento do histórico. Para obter mais informações, consulte Visão geral das métricas do Azure.

Solução de problemas de métricas

Às vezes, você pode ter problemas com a criação, personalização ou interpretação de gráficos no explorador de métricas do Azure. A situação de um gráfico que não mostra dados pode surgir devido a vários fatores. Isso pode incluir o provedor de recursos do Microsoft Insights não estar registrado para sua assinatura ou você não ter direitos de acesso adequados ao seu Banco de Dados do Azure para MySQL - Servidor Flexível. Outras possibilidades podem ser que seu recurso não gerou métricas dentro do período de tempo escolhido ou que o intervalo de tempo selecionado exceda 30 dias.

Vários motivos que se seguem podem causar esse comportamento:

  • O provedor de recursos Microsoft.Insights não está registrado: explorar métricas requer o provedor de recursos Microsoft.Insights registrado em sua assinatura. Registre seu servidor manualmente seguindo as etapas descritas em Provedores e tipos de recursos do Azure.
  • Direitos de acesso insuficientes ao seu recurso: certifique-se de que tem permissões suficientes para a sua Base de Dados do Azure para MySQL - Servidor Flexível a partir do qual está a explorar métricas. Seu recurso não emitiu métricas durante o intervalo de tempo selecionado: altere a hora do gráfico para um intervalo mais amplo. No Azure, o controle de acesso baseado em função do Azure (Azure RBAC) controla o acesso às métricas. Tem de ser um membro do leitor de monitorização, contribuidor de monitorização ou contribuidor para explorar as métricas de qualquer recurso.
  • Seu recurso não emitiu métricas durante o intervalo de tempo selecionado: isso pode ser devido a vários motivos. Uma possibilidade é que seu recurso não tenha gerado métricas dentro do prazo escolhido. Altere a hora do gráfico para um intervalo mais amplo para ver se isso resolve o problema. Para obter informações mais detalhadas sobre como solucionar esse problema, consulte o guia de solução de problemas de métricas do Azure Monitor.
  • Intervalo de tempo superior a 30 dias: verifique se a diferença entre as datas de início e de fim no seletor de horas não excede o intervalo de 30 dias. Para obter informações mais detalhadas sobre métricas de solução de problemas, consulte o guia de solução de problemas de métricas do Azure Monitor.
  • Indicação de linha tracejada: no Azure Monitor, a presença de uma linha tracejada significa uma lacuna nos dados, ou um "valor nulo", entre dois pontos de dados de grão de tempo conhecidos. Este é um design deliberado que ajuda na deteção de pontos de dados ausentes. Se o gráfico exibir linhas tracejadas, ele indica dados ausentes e você pode consultar a documentação para obter mais informações.

Para obter informações mais detalhadas sobre métricas de solução de problemas, consulte o guia de solução de problemas de métricas do Azure Monitor.

Nota

As métricas marcadas como preteridas estão agendadas para serem removidas do portal azure. É recomendável ignorar essas métricas para monitorar seu Banco de Dados do Azure para o servidor flexível MySQL.

Lista de métricas

Estas métricas estão disponíveis para o Banco de Dados do Azure para o servidor flexível MySQL:

Nome de exibição da métrica Metric Unit Description
Tempo de atividade do MySQL tempo de atividade Segundos Esta métrica indica o período de tempo que o servidor MySQL está em execução.
Percentagem de CPU do anfitrião cpu_percent Percentagem A porcentagem de CPU do host é a utilização total da CPU para processar todas as tarefas no servidor durante um período selecionado. Essa métrica inclui a carga de trabalho do seu Banco de Dados do Azure para instância de servidor flexível do MySQL e o processo do Azure MySQL. Uma alta porcentagem de CPU pode ajudá-lo a descobrir se o servidor de banco de dados tem mais carga de trabalho do que pode suportar. Essa métrica é equivalente à utilização total da CPU semelhante à utilização da CPU em qualquer máquina virtual.
Crédito de CPU consumido cpu_credits_consumed Count Isso é para Burstable Tier Apenas o crédito da CPU é calculado com base na carga de trabalho. Consulte Tamanhos de máquinas virtuais burstable da série B para obter mais informações.
Crédito de CPU restante cpu_credits_remaining Count Isso é para Burstable Tier Apenas a CPU restante é calculada com base na carga de trabalho. Consulte Tamanhos de máquinas virtuais burstable da série B para obter mais informações.
Entrada de rede de host network_bytes_ingress Bytes Soma total do tráfego de rede de entrada no servidor para um período selecionado. Essa métrica inclui tráfego para seu banco de dados e para o Banco de Dados do Azure para recursos de servidor flexíveis do MySQL, como monitoramento, logs, etc.
Saída de rede de host network_bytes_egress Bytes Soma total do tráfego de rede de saída no servidor por um período selecionado. Essa métrica inclui o tráfego do seu banco de dados e do Banco de Dados do Azure para recursos de servidor flexíveis do MySQL, como monitoramento, logs, etc.
Ligações Ativas active_connection Count O número de conexões ativas com o servidor. Conexões ativas são o número total de threads conectados ao seu servidor, que também inclui threads de azure_superuser.
Percentagem de E/S de armazenamento io_consumption_percent Percentagem A percentagem de IO em utilização durante o período selecionado. A porcentagem de E/S é para IOPS de leitura e gravação.
Contagem de E/S de armazenamento storage_io_count Count A contagem total de operações de E/S (leitura e gravação) utilizadas pelo servidor por minuto.
Percentagem de memória memory_percent Percentagem Essa métrica representa a porcentagem de memória ocupada pelo processo do servidor Azure MySQL (mysqld). Essa métrica é calculada a partir do Tamanho Total de Memória (GB) disponível em seu Banco de Dados do Azure para o servidor flexível MySQL.
Total de conexões total_connections Count O número de conexões de cliente com sua instância de servidor flexível do Banco de Dados do Azure para MySQL. Total de conexões é a soma de conexões por clientes usando o protocolo TCP/IP durante um período selecionado.
Ligações Abortadas aborted_connections Count Número total de tentativas falhadas de ligação à sua instância de servidor flexível da Base de Dados do Azure para MySQL, por exemplo, ligação falhada devido a credenciais incorretas. Para obter mais informações sobre conexões anuladas, consulte esta documentação.
Consultas consultas de Count Número total de consultas executadas por minuto no servidor. Contagem total de consultas por minuto no servidor a partir da carga de trabalho do banco de dados e dos processos do Azure MySQL.
Slow_queries slow_queries Count A contagem total de consultas lentas no servidor no intervalo de tempo selecionado.
Transações Ativas active_transactions Count Esta métrica representa o número total de transações atualmente em execução no MySQL. As transações ativas incluem todas as transações iniciadas, mas ainda não confirmadas ou revertidas.

Métricas de detalhamento de armazenamento

Nome de exibição da métrica Metric Unit Description
Limite de armazenamento storage_limit Bytes O tamanho máximo de armazenamento configurado para este servidor.
Percentagem de armazenamento storage_percent Percentagem A porcentagem de armazenamento usada fora do armazenamento máximo disponível do servidor.
Armazenamento usado storage_used Bytes A quantidade de armazenamento em uso. O armazenamento usado pelo serviço pode incluir os arquivos de banco de dados, logs de transações e os logs do servidor.
Armazenamento de dados usado data_storage_used Bytes A quantidade de armazenamento usada para armazenar arquivos de banco de dados.
ibdata1 Armazenamento usado ibdata1_storage_used Bytes A quantidade de armazenamento usada para armazenar o arquivo de espaço de tabela do sistema (ibdata1).
Binlog Storage Usado binlog_storage_used Bytes A quantidade de armazenamento usada para armazenar arquivos de log binários.
Outro armazenamento usado other_storage_used Bytes A quantidade de armazenamento usada para outros componentes e arquivos de metadados.
Armazenamento de backup usado backup_storage_used Bytes A quantidade de armazenamento de backup usada.

Métricas de replicação

Nome de exibição da métrica Metric Unit Description
Atraso da Replicação replication_lag Segundos Atraso de replicação é o número de segundos que a réplica está atrasada na reprodução das transações recebidas do servidor de origem. Essa métrica é calculada a partir de "Seconds_behind_Master" do comando "SHOW SLAVE STATUS" e está disponível apenas para servidores de réplica. Para obter mais informações, consulte "Monitorar latência de replicação"
Status de E/S da réplica replica_io_running Estado O status de E/S da réplica indica o estado do thread de E/S de replicação. O valor da métrica é 1 se o thread de E/S estiver em execução e 0 se não.
Status da réplica SQL replica_sql_running Estado Status SQL de réplica indica o estado do thread SQL de replicação. O valor da métrica é 1 se o thread SQL estiver em execução e 0 se não.
Estado de E/S do HA ha_io_running Estado HA IO Status indica o estado da replicação de HA. O valor da métrica é 1 se o thread de E/S estiver em execução e 0 se não.
HA SQL Status ha_sql_running Estado HA SQL Status indica o estado da replicação HA. O valor da métrica é 1 se o thread SQL estiver em execução e 0 se não.
Atraso na replicação de HA ha_replication_lag Segundos O atraso da replicação HA é o número de segundos que o servidor HA Standby está atrasado na reprodução das transações recebidas do servidor de origem. Esta métrica é calculada a partir de "Seconds_behind_Master" a partir do comando "SHOW SLAVE STATUS" e está disponível apenas para servidores HA standby.

Nota

Para réplicas de leitura no Banco de Dados do Azure para servidor flexível MySQL, o valor de Slave_IO_Running/Replica_IO_Running do comando MySQL "SHOW SLAVE STATUS" OU "SHOW REPLICA STATUS" SERÁ INDICADO COMO "NO" E DEVE SER IGNORADO PORQUE A IMPLEMENTAÇÃO DE RÉPLICAS DO SERVIDOR FLEXÍVEL DO Banco de Dados do Azure para MySQL não depende do estabelecimento de uma conexão para se comunicar com o servidor de origem. Para obter o status genuíno do thread de E/S de suas réplicas de leitura, consulte Status de E/S da réplica de Métricas na folha Monitoramento.

Métricas aprimoradas

Estatísticas DML

Nome de exibição da métrica Metric Unit Description
Com_select Com_select Count A contagem total de instruções select que foram executadas no servidor no intervalo de tempo selecionado.
Com_update Com_update Count A contagem total de instruções de atualização que foram executadas no servidor no intervalo de tempo selecionado.
Com_insert Com_insert Count A contagem total de instruções insert que foram executadas no servidor no intervalo de tempo selecionado.
Com_delete Com_delete Count A contagem total de instruções de exclusão que foram executadas no servidor no intervalo de tempo selecionado.

Estatísticas DDL

Nome de exibição da métrica Metric Unit Description
Com_create_db Com_create_db Count A contagem total de instruções de banco de dados de criação que foram executadas em seu servidor no intervalo de tempo selecionado.
Com_drop_db Com_drop_db Count A contagem total de instruções de drop database que foram executadas no servidor no intervalo de tempo selecionado.
Com_create_table Com_create_table Count A contagem total de instruções create table que foram executadas no servidor no intervalo de tempo selecionado.
Com_drop_table Com_drop_table Count A contagem total de instruções de tabela suspensa que foram executadas no servidor no intervalo de tempo selecionado.
Com_Alter Com_Alter Count A contagem total de instruções alter table que foram executadas no servidor no intervalo de tempo selecionado.

Métricas Innodb

Nome de exibição da métrica Metric Unit Description
Tempo de bloqueio de linha InnoDB innodb_row_lock_time Milissegundos O tempo de bloqueio de linha do InnoDB mede a duração do tempo em milissegundos para bloqueios de nível de linha do InnoDB.
InnoDB Row Lock espera innodb_row_lock_waits Count O bloqueio de linha do InnoDB aguarda a métrica que conta o número de vezes que uma consulta teve que aguardar por um bloqueio no nível da linha do InnoDB.
Innodb_buffer_pool_reads Innodb_buffer_pool_reads Count A contagem total de leituras lógicas que o mecanismo InnoDB não pôde satisfazer a partir do pool de buffers Innodb e teve que ser buscado no disco.
Innodb_buffer_pool_read_requests Innodb_buffer_pool_read_requests Count A contagem total de solicitações de leitura lógica para ler do pool de buffers do Innodb.
Innodb_buffer_pool_pages_free Innodb_buffer_pool_pages_free Count A contagem total de páginas livres no pool de buffers InnoDB.
Innodb_buffer_pool_pages_data Innodb_buffer_pool_pages_data Count A contagem total de páginas no pool de buffers InnoDB contendo dados. O número inclui páginas sujas e limpas.
Innodb_buffer_pool_pages_dirty Innodb_buffer_pool_pages_dirty Count A contagem total de páginas no pool de buffers InnoDB contendo páginas sujas.
Comprimento da lista de histórico do MySQL trx_rseg_history_len Count Essa métrica calcula o número de alterações no banco de dados, especificamente o número de registros contendo alterações anteriores. Está relacionado com a taxa de alterações nos dados, fazendo com que novas versões de linha sejam criadas. Um aumento do tamanho da lista de histórico pode afetar o desempenho do banco de dados.
Tempos limite de bloqueio do MySQL lock_timeouts Count Essa métrica representa o número de vezes que uma consulta atingiu o tempo limite devido a um bloqueio. Isso normalmente ocorre quando uma consulta está aguardando um bloqueio em uma linha ou tabela que é mantida por outra consulta por um tempo maior do que a innodb_lock_wait_timeout configuração.
Impasses de bloqueio do MySQL lock_deadlock Count Essa métrica representa o número de deadlocks em sua instância de servidor flexível do Banco de Dados do Azure para MySQL no período de tempo selecionado.

Registos do servidor

No Banco de Dados do Azure para servidor flexível MySQL, os usuários podem configurar e baixar logs do servidor para ajudar nos esforços de solução de problemas. Com esse recurso habilitado, uma instância de servidor flexível do Banco de Dados do Azure para MySQL começa a capturar eventos do tipo de log selecionado e os grava em um arquivo. Em seguida, você pode usar o portal do Azure e a CLI do Azure para baixar os arquivos para trabalhar com eles. O recurso de logs do servidor está desabilitado por padrão. Para obter informações sobre como habilitar logs de servidor, consulte Como habilitar e baixar logs de servidor para o Banco de Dados do Azure para servidor flexível MySQL.

Os logs do servidor suportam logs de consulta lentos e logs de erro para habilitar e baixar. Para executar uma análise histórica dos seus dados, no portal do Azure, no painel Configurações de diagnóstico do seu servidor, adicione uma configuração de diagnóstico para enviar os logs para o espaço de trabalho do Log Analytics, o Armazenamento do Azure ou hubs de eventos. Para obter mais informações, consulte Configurar diagnósticos.

Retenção de logs do servidor

Quando o registro em log é habilitado para uma instância de servidor flexível do Banco de Dados do Azure para MySQL, os logs ficam disponíveis até sete dias após sua criação. Se o tamanho total dos logs disponíveis exceder 7 GB, os arquivos mais antigos serão excluídos até que haja espaço disponível. O limite de armazenamento de 7 GB para logs do servidor está disponível gratuitamente e não pode ser estendido. Os logs são alternados a cada 24 horas ou 500 MB, o que ocorrer primeiro.

Próximos passos

  • Consulte Como configurar alertas para obter orientação sobre como criar um alerta em uma métrica.
  • Como habilitar e baixar logs de servidor para o Banco de Dados do Azure para servidor flexível MySQL do portal do Azure ou da CLI do Azure