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

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.

O Servidor Flexível do Banco de Dados do Azure para MySQL monitora 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 do servidor flexível, o que fornecem insights sobre o comportamento do servidor.

Métricas

Métricas são valores numéricos que descrevem algum aspecto dos recursos do servidor em um momento específico. Monitorar os recursos do servidor ajuda a solucionar problemas e otimizar a carga de trabalho, permitindo que você monitore o que é importante para você. O monitoramento das métricas corretas 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 ajudar você a entender como está o desempenho da sua carga de trabalho. Com base nesses dados, você pode entender o impacto no servidor e no 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. Veja 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.

Métricas para solucionar problemas

Às vezes, você pode encontrar problemas ao criar, personalizar ou interpretar gráficos no Explorador de Métricas do Azure.
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 Servidor Flexível do Banco de Dados do Azure para MySQL. Pode 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 exige o provedor de recursos Microsoft.Insights registrado em sua assinatura. Registre o servidor manualmente, seguindo as etapas descritas em Provedores e tipos de recursos do Azure.
  • Direitos de acesso insuficientes para o 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. O recurso não emite métricas durante o intervalo de tempo selecionado. Altere a hora 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.
  • O 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 maior 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 a data inicial e a 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, 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 a detectar os pontos de dados ausentes. Se o gráfico exibir linhas tracejadas, isso indica dados ausentes. Consulte 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 remoção do portal do Azure. Você deve ignorar essas métricas ao monitorar seu 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 Percentual 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 da sua instância do Servidor Flexível do Banco de Dados do Azure para MySQL e o processo do MySQL do Azure. 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 seu banco de dados e os 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 os 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 Percentual O percentual de E/S usado durante o período selecionado. A porcentagem de E/S é para IOPS de leitura e gravação.
Contagem de E/S do armazenamento storage_io_count Count A contagem total de operações de E/S do servidor (leitura e gravação) 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). Essa métrica é calculada a partir do Tamanho Total da Memória (GB) disponível no seu 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 cliente à sua 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 de conexão com falha à sua instância do Servidor Flexível do Banco de Dados do Azure para MySQL, por exemplo, falha de conexão devido a credenciais incorretas. Para obter mais informações sobre conexões anuladas, consulte 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 no MySQL. As transações ativas incluem todas as transações iniciadas, mas ainda não confirmadas ou revertidas.

Métricas de detalhamento do amazenamento

As métricas de detalhamento do armazenamento fornecem insights valiosos sobre o uso do armazenamento do seu Servidor Flexível do Banco de Dados do Azure para MySQL. Essas métricas fornecem uma análise detalhada do limite de armazenamento, porcentagem de armazenamento, armazenamento usado, armazenamento de dados usado, armazenamento ibdata1 usado, armazenamento de log binário usado, outro armazenamento usado e armazenamento de backup usado. Ao monitorar essas métricas, você pode gerenciar com eficiência os recursos de armazenamento, otimizar a alocação de armazenamento e garantir a utilização eficiente da capacidade de armazenamento do servidor. Entender as métricas de detalhamento do armazenamento ajuda você a tomar decisões informadas para manter o desempenho e a disponibilidade do seu Servidor Flexível do Banco de Dados do Azure para MySQL.

A tabela abaixo lista as métricas de detalhamento do armazenamento 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
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çõ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.
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

As métricas de replicação fornecem insights valiosos sobre o desempenho e o status da replicação no Servidor Flexível do Banco de Dados do Azure para MySQL. Essas métricas permitem monitorar o atraso da replicação, verificar o status da réplica e dos threads de E-S/SQL de alta disponibilidade e medir a latência da replicação. Ao rastrear essas métricas, você pode garantir a confiabilidade e a eficiência da configuração de replicação, identificar possíveis problemas ou atrasos e tomar as medidas apropriadas para manter a consistência e a disponibilidade dos dados. Vamos explorar as diferentes métricas de replicação disponíveis para o Servidor Flexível do Banco de Dados do Azure para MySQL.

A tabela abaixo lista as métricas de replicaçã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
Atraso de Replicação replication_lag Segundos O atraso da 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 os 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 for executado, e 0 se não for.
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 for executado, e 0 se não for.
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 for executado, e 0 se não for.
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 for executado, e 0 se não for.
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 de alta disponibilidade.

Métricas aprimoradas

Além das métricas padrão fornecidas pelo Servidor Flexível do Banco de Dados do Azure para MySQL, métricas avançadas estão disponíveis para obter insights mais profundos sobre o desempenho do seu servidor. Essas métricas aprimoradas fornecem informações mais granulares sobre aspectos específicos da sua carga de trabalho.

Estatísticas de DML

As métricas estatísticas DML (Data Manipulation Language) fornecem visibilidade do número de instruções de seleção, atualização, inserção e exclusão executadas no servidor. Ao monitorar essas métricas, você pode monitorar o uso e o desempenho de suas operações do banco de dados e identificar possíveis gargalos ou ineficiências.

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

Estatísticas de DDL

As métricas de estatísticas DDL (Data Definition Language) fornecem informações sobre a frequência com que você pode criar um banco de dados, descartar um banco de dados, criar uma tabela, descartar uma tabela e alterar instruções da tabela executadas no servidor. Essas métricas ajudam você a entender a frequência e o impacto das alterações de esquema no banco de dados, permitindo otimizar o design do banco de dados e melhorar o desempenho geral.

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

Métricas do InnoDB

As métricas do Innodb focam no desempenho do mecanismo de armazenamento InnoDB, que é o mecanismo padrão para o Servidor Flexível do Banco de Dados do Azure para MySQL. Essas métricas incluem tempo de bloqueio de linhas do InnoDB, esperas de bloqueio de linha do InnoDB, leituras do pool de buffers do Innodb, solicitações de leitura do pool de buffers do Innodb e muito mais. Ao monitorar essas métricas, você pode obter insights sobre a eficiência e a eficácia dos mecanismos de armazenamento e cache do banco de dados.

Essas métricas avançadas fornecem informações valiosas para otimizar sua carga de trabalho e melhorar o desempenho do seu Servidor Flexível do Banco de Dados do Azure para MySQL. Usando essas métricas, você pode tomar decisões baseadas em dados para aprimorar a escalabilidade, a confiabilidade e a eficiência das operações do banco de dados.

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 Count 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 Count 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 aguarda um bloqueio em uma linha ou tabela mantida por outra consulta por um tempo maior do que a configuração innodb_lock_wait_timeout.
Deadlocks de bloqueio do MySQL lock_deadlock Count Essa métrica representa o número de deadlocks na sua instância do Servidor Flexível do Banco de Dados do Azure para MySQL no período selecionado.

Logs do servidor

No Servidor Flexível do Banco de Dados do Azure para 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 do Servidor Flexível do Banco de Dados do Azure para MySQL começa a capturar eventos do tipo de log selecionado e gravá-los 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 informações sobre como habilitar os logs do servidor, confira Como habilitar e baixar logs do servidor para o Servidor Flexível do Banco de Dados do Azure para MySQL.

Os logs do servidor são compatíveis com logs de consulta e logs de erros lentos. Para executar uma análise histórica de seus dados, no portal do Azure, no painel de configurações de diagnóstico para o 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 os hubs de eventos. Para obter mais informações, confira Configurar diagnóstico.

Retenção de logs de servidor

Quando o registro em log está habilitado para uma instância do Servidor Flexível do Banco de Dados do Azure para MySQL, os logs ficam disponíveis por até sete dias a partir da 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.