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 servidor flexível do Banco de Dados do Azure para MySQL fornece monitoramento de servidores por meio do Azure Monitor. Monitorar os dados dos 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 de Servidor para seu servidor flexível que fornecem insights sobre o comportamento do seu servidor.

Observação

Este artigo contém referências ao termo servidor subordinado, um termo que a Microsoft não usa mais. Quando o termo for removido do software, também o removeremos deste artigo.

Métricas

Métricas são valores numéricos que descrevem algum aspecto de seus recursos em um momento específico de seu servidor. Monitorar os recursos do seu servidor ajuda 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 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 e cada uma delas fornece 30 dias de histórico. É possível configurar alertas nas métricas. Para obter diretrizes passo a passo, consulte How to set up alerts (Como configurar alertas). Outras tarefas incluem a configuração de ações automatizadas, execução de análises avançadas e arquivamento de histórico. Para obter mais informações, consulte a Visão geral das métricas no Microsoft Azure.

Solução de problemas de Métricas

Às vezes, você pode ter problemas ao criar, personalizar ou interpretar 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 que não está sendo registrado para sua assinatura ou você não tem direitos de acesso adequados ao Banco de Dados do Azure para MySQL – Servidor Flexível. Outras possibilidades podem ser que o recurso não tenha gerado métricas dentro do período escolhido ou que o intervalo de tempo selecionado exceda 30 dias.

Vários motivos a seguir podem causar esse comportamento:

  • O provedor de recursos Microsoft.Insights não está registrado: A exploração de 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 para seu recurso: Verifique se você tem permissões suficientes para o Banco de Dados do Azure para MySQL - Servidor Flexível do qual você está explorando as métricas. Seu recurso não emitia métricas durante o intervalo de tempo selecionado: Altere o tempo do gráfico para um intervalo mais amplo. No Azure, o RBAC (controle de acesso baseado em função) do Azure controla o acesso às métricas. Você deve ser um membro de leitor de monitoramento, colaborador de monitoramento ou colaborador para explorar as métricas de qualquer recurso.
  • Seu recurso não emitia métricas durante o intervalo de tempo selecionado: Isso pode ser devido a vários motivos. Uma possibilidade é que o recurso não tenha gerado métricas dentro do período escolhido. Altere o tempo 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 maior que 30 dias: Verifique se a diferença entre as datas inicial e final no seletor de tempo não excede o intervalo de 30 dias. Para obter informações mais detalhadas sobre a solução de problemas de métricas, 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 granulação de tempo conhecidos. Esse é um design deliberado que ajuda na detecção de pontos de dados ausentes. Se o gráfico exibir linhas tracejadas, ele indicará dados ausentes e você poderá consultar a documentação para obter mais informações.

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

Observação

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

Lista de métricas

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

Nome de exibição da métrica Métrica Unidade Descrição
Tempo de atividade do MySQL Ferramenta uptime Segundos Esta métrica indica o período de tempo em que o servidor MySQL está em execução.
Porcentagem de CPU do host cpu_percent Porcentagem A porcentagem da CPU do host é a utilização total da CPU para processar todas as tarefas em seu servidor durante um período selecionado. Essa métrica inclui a carga de trabalho de sua instância de servidor flexível do Banco de Dados do Azure para MySQL e o processo do Azure MySQL. A alta porcentagem da CPU pode ajudá-lo a descobrir se o servidor de banco de dados tem mais carga de trabalho do que pode absorver. Essa métrica é equivalente à utilização total da CPU semelhante à utilização da CPU em qualquer máquina virtual.
Crédito da CPU consumido cpu_credits_consumed Count Isso é apenas para a camada com capacidade de intermitência O crédito da CPU é calculado com base na carga de trabalho. Confira Tamanhos de máquina virtual com capacidade de intermitência da série B para obter mais informações.
Crédito restante da CPU cpu_credits_remaining Count Isso é apenas para a camada com capacidade de intermitência O restante da CPU é calculado com base na carga de trabalho. Confira Tamanhos de máquina virtual com capacidade de intermitência da série B para obter mais informações.
Entrada na rede do host network_bytes_ingress Bytes Soma total do tráfego de rede de entrada no servidor por um período selecionado. Essa métrica inclui o tráfego para o seu banco de dados e para recursos do servidor flexível do Banco de Dados do Azure para MySQL, como monitoramento, logs etc.
Saída da Rede do 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 dos recursos do servidor flexível do Banco de Dados do Azure para MySQL, como monitoramento, logs etc.
Conexões ativas active_connection Contagem O número de conexões ativas com o servidor. As conexões ativas são o número total de threads conectados ao servidor, que também inclui threads de azure_superuser.
Percentual de E/S de armazenamento io_consumption_percent Porcentagem O percentual de E/S em uso 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 Contagem A contagem total de operações de E/S (leitura e gravação) usadas pelo servidor por minuto.
Porcentagem de memória memory_percent Percentual Esta métrica representa o percentual de memória ocupada pelo processo do servidor MySQL do Azure (mysqld). Esta métrica é calculada com base no tamanho total da memória (GB) disponível no servidor flexível do Banco de Dados do Azure para MySQL.
Total de conexões total_connections Count O número de conexões de clientes com a instância do servidor flexível do Banco de Dados do Azure para MySQL. O total de conexões é a soma das conexões por clientes que usam o protocolo TCP/IP durante um período selecionado.
Conexões anuladas aborted_connections Count Número total de tentativas fracassadas de conexão com a instância do servidor flexível do Banco de Dados do Azure para MySQL, por exemplo, conexão fracassada devido a credenciais incorretas. Para obter mais informações sobre conexões anuladas, você pode consultar esta documentação.
Consultas consultas Contagem 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 MySQL do Azure.
Slow_queries slow_queries Contagem A contagem total de consultas lentas no servidor no intervalo de tempo selecionado.
Active Transactions active_transactions Count Essa 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 Métrica Unidade Descrição
Limite de Armazenamento storage_limit Bytes O tamanho máximo de armazenamento configurado para esse servidor.
Porcentagem de Armazenamento storage_percent Percentual A porcentagem de armazenamento usada em relação ao 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, os logs de transação 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.
Armazenamento de ibdata1 Usado ibdata1_storage_used Bytes A quantidade de armazenamento usada para armazenar o arquivo de tablespace do sistema (ibdata1).
Armazenamento de Binlog Usado binlog_storage_used Bytes A quantidade de armazenamento usada para armazenar arquivos de logs binários.
Outro Armazenamento Usado other_storage_used Bytes A quantidade de armazenamento usada para outros componentes e arquivos de metadados.
Backup do Microsoft Azure backup_storage_used Bytes A quantidade de armazenamento de backup usado.

Métricas de replicação

Nome de exibição da métrica Métrica Unidade Descrição
Atraso de Replicação replication_lag Segundos O 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 "Latência de replicação do monitor"
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 da replicação. O valor da métrica será 1 se o thread de E/S estiver em execução e 0 se ele não estiver.
Status SQL da réplica replica_sql_running Estado O Status SQL da réplica indica o estado do thread SQL da replicação. O valor da métrica será 1 se o thread SQL estiver em execução e 0 se ele não estiver.
Status de E/S de HA ha_io_running Estado O Status de E/S de HA indica o estado da replicação de HA. O valor da métrica será 1 se o thread de E/S estiver em execução e 0 se ele não estiver.
Status SQL de HA ha_sql_running Estado O Status SQL de HA indica o estado da replicação de HA. O valor da métrica será 1 se o thread SQL estiver em execução e 0 se ele não estiver.
Retardo de replicação de HA ha_replication_lag Segundos O atraso de replicação de HA é o número de segundos que o servidor HA Em espera está atrasado 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 somente para servidores em espera de HA.

Observação

Para réplicas de leitura no servidor flexível do Banco de Dados do Azure para MySQL, o valor de Slave_IO_Running/Replica_IO_Running do comando MySQL "SHOW SLAVE STATUS" ou "SHOW REPLICA STATUS" será indicado como "NÃO" 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 de estabelecer uma conexão para se comunicar com o servidor de origem. Para obter o status original do thread de E/S de suas réplicas de leitura, confira o Status de E/S da Réplica em Métricas na folha Monitoramento.

Métricas aprimoradas

Estatísticas de DML

Nome de exibição da métrica Métrica Unidade Descrição
Com_select Com_select Contagem A contagem total de instruções selecionadas que foram executadas no servidor no intervalo de tempo selecionado.
Com_update Com_update Contagem A contagem total de instruções de atualização que foram executadas no servidor no intervalo de tempo selecionado.
Com_insert Com_insert Contagem A contagem total de instruções de inserção que foram executadas no servidor no intervalo de tempo selecionado.
Com_delete Com_delete Contagem A contagem total de instruções de exclusão que foram executadas no servidor no intervalo de tempo selecionado.

Estatísticas de DDL

Nome de exibição da métrica Métrica Unidade Descrição
Com_create_db Com_create_db Contagem A contagem total de instruções de criação de banco de dados que foram executadas no servidor no intervalo de tempo selecionado.
Com_drop_db Com_drop_db Contagem A contagem total de instruções de remoção de banco de dados que foram executadas no servidor no intervalo de tempo selecionado.
Com_create_table Com_create_table Contagem A contagem total de instruções de criação de tabela que foram executadas no servidor no intervalo de tempo selecionado.
Com_drop_table Com_drop_table Contagem A contagem total de instruções de remoção de tabela que foram executadas no servidor no intervalo de tempo selecionado.
Com_Alter Com_Alter Contagem A contagem total de instruções de alteração de tabela que foram executadas no servidor no intervalo de tempo selecionado.

Métricas do InnoDB

Nome de exibição da métrica Métrica Unidade Descrição
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 no nível de linha do InnoDB.
Esperas de Bloqueio de Linha do InnoDB innodb_row_lock_waits Count A métrica de esperas de bloqueio de linha do InnoDB conta o número de vezes que uma consulta teve que esperar por um bloqueio no nível de linha do InnoDB.
Innodb_buffer_pool_reads Innodb_buffer_pool_reads Contagem A contagem total de leituras lógicas que o mecanismo InnoDB não pôde atender no pool de buffers do InnoDB e que precisaram ser buscadas no disco.
Innodb_buffer_pool_read_requests Innodb_buffer_pool_read_requests Contagem A contagem total de solicitações de leitura lógica a serem lidas no pool de buffers do InnoDB.
Innodb_buffer_pool_pages_free Innodb_buffer_pool_pages_free Contagem A contagem total de páginas livres no pool de buffers do InnoDB.
Innodb_buffer_pool_pages_data Innodb_buffer_pool_pages_data Contagem A contagem total de páginas no pool de buffers do InnoDB que contém dados. O número inclui páginas sujas e limpas.
Innodb_buffer_pool_pages_dirty Innodb_buffer_pool_pages_dirty Contagem A contagem total de páginas no pool de buffers do InnoDB que contém páginas sujas.
Comprimento da lista de histórico do MySQL trx_rseg_history_len Count Esta métrica calcula o número de alterações no banco de dados, especificamente o número de registros que contêm alterações anteriores. Ela está relacionada à taxa de alterações nos dados, fazendo com que novas versões de linha sejam criadas. Um tamanho crescente da lista de histórico pode afetar o desempenho do banco de dados.
Tempos limite de bloqueio do MySQL lock_timeouts Count Esta 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 é mantido por outra consulta por um tempo maior do que a configuração innodb_lock_wait_timeout.
Deadlocks de bloqueio do MySQL lock_deadlock Count Esta métrica representa o número de deadlocks na instância do servidor flexível do Banco de Dados do Azure para MySQL no período de tempo selecionado.

Logs do servidor

No servidor flexível do Banco de Dados do Azure para MySQL, os usuários podem configurar e baixar os logs do servidor para ajudar nos esforços de solução de problemas. Com esse recurso ativado, uma instância do servidor flexível do Banco de Dados do Azure para MySQL começa a capturar eventos do tipo de registro 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 do servidor para o servidor flexível do Banco de Dados do Azure para MySQL.

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

Retenção de logs de servidor

Quando o registro em log é ativado para uma instância de servidor flexível do Banco de Dados do Azure para MySQL, os registros ficam disponíveis por até sete dias a partir de 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 os 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óximas etapas