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
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.
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 seu comportamento.
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 a manter o desempenho, a confiabilidade e a disponibilidade do servidor e dos aplicativos.
O Banco de Dados do Azure para Servidor Flexível MySQL fornece várias métricas para ajudá-lo a entender o desempenho da sua carga de trabalho. 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, cada uma fornecendo 30 dias de histórico. Pode configurar alertas relacionados com as métricas. 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.
Solucionar problemas de métricas
Às vezes, você pode encontrar problemas com a criação, personalização ou interpretação de gráficos no Azure Metrics Explorer.
Um gráfico mostrando que nenhum dado 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 término no seletor de tempo 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, 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 a detetar pontos de dados ausentes. Se o gráfico exibir linhas tracejadas, ele indicará dados ausentes. 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 do Azure. Você deve ignorar essas métricas ao 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 Servidor Flexível MySQL:
Nome de exibição da métrica | Métrica | 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 da 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 a instância do Servidor Flexível 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 e é 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 recursos do Azure Database for MySQL Flexible Server, 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 do Servidor Flexível 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 utilizada durante um período selecionado. A porcentagem de E/S é para IOPS de leitura e gravação. |
Contagens de E/S de armazenamento | storage_io_count | Count | A contagem total de operações de E/S (leitura e gravação) do 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 do Servidor Flexível do Banco de Dados do Azure para MySQL. Total de conexões é a soma das conexões de cliente usando o protocolo TCP/IP durante um período selecionado. |
Ligações Abortadas | aborted_connections | Count | Número total de tentativas falhadas de conexão com sua instância do Servidor Flexível do Banco de Dados do Azure para MySQL, por exemplo, falha na conexão devido a credenciais incorretas. Para obter mais informações sobre conexões abortadas, 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 dentro do MySQL. As transações ativas incluem todas as transações iniciadas, mas que ainda precisam ser confirmadas ou revertidas. |
Métricas de detalhamento de armazenamento
As métricas de detalhamento de armazenamento fornecem informações valiosas sobre o uso de armazenamento do seu Banco de Dados do Azure para o Servidor Flexível MySQL. Essas métricas fornecem um detalhamento detalhado do limite de armazenamento, porcentagem de armazenamento, armazenamento usado, armazenamento de dados usado, armazenamento ibdata1 usado, armazenamento binlog 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. Compreender as métricas de detalhamento de armazenamento ajuda você a tomar decisões informadas para manter o desempenho e a disponibilidade do seu Banco de Dados do Azure para o Servidor Flexível MySQL.
A tabela abaixo lista as métricas de detalhamento de armazenamento disponíveis para o Banco de Dados do Azure para o Servidor Flexível MySQL:
Nome de exibição da métrica | Métrica | 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 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
As métricas de replicação fornecem informações valiosas sobre o desempenho e o status da replicação no Banco de Dados do Azure para o Servidor Flexível MySQL. Essas métricas permitem monitorar o atraso da replicação, verificar o status da réplica e dos threads HA IO/SQL e medir a latência da replicação. Ao acompanhar essas métricas, você pode garantir a confiabilidade e a eficiência de sua 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 Banco de Dados do Azure para o Servidor Flexível MySQL.
A tabela abaixo lista as métricas de replicação disponíveis para o Banco de Dados do Azure para o Servidor Flexível MySQL:
Nome de exibição da métrica | Métrica | Unit | Description |
---|---|---|---|
Atraso da Replicação | replication_lag | Segundos | Atraso de replicação é o número de segundos atrás da réplica 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 só está disponível 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 for executado 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 for executado 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 for executado 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 for executado 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. Essa métrica é calculada a partir de "Seconds_behind_Master" do comando "SHOW SLAVE STATUS" e está disponível apenas para servidores HA standby. |
Métricas aprimoradas
Além das métricas padrão fornecidas pelo Banco de Dados do Azure para o Servidor Flexível MySQL, métricas aprimoradas estão disponíveis para obter informações mais detalhadas sobre o desempenho do seu servidor. Essas métricas aprimoradas fornecem informações mais granulares sobre aspetos específicos da sua carga de trabalho.
Estatísticas DML
As métricas de estatísticas DML (Data Manipulation Language) oferecem visibilidade sobre o número de instruções de seleção, atualização, inserção e exclusão executadas em seu servidor. Ao monitorar essas métricas, você pode acompanhar o uso e o desempenho de suas operações de banco de dados e identificar possíveis gargalos ou ineficiências.
Nome de exibição da métrica | Métrica | Unit | Description |
---|---|---|---|
Com_select | Com_select | Count | A contagem total de instruções select executadas em seu 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 insert executadas no servidor no intervalo de tempo selecionado. |
Com_delete | Com_delete | Count | A contagem total de instruções excluídas executadas em seu servidor no intervalo de tempo selecionado. |
Estatísticas 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, soltar uma tabela e alterar instruções de tabela executadas em seu servidor. Essas métricas ajudam a entender a frequência e o impacto das alterações de esquema em seu banco de dados, permitindo que você otimize o design do banco de dados e melhore o desempenho geral.
Nome de exibição da métrica | Métrica | Unit | Description |
---|---|---|---|
Com_create_db | Com_create_db | Count | A contagem total de instruções de banco de dados criadas 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 executadas em seu servidor no intervalo de tempo selecionado. |
Com_create_table | Com_create_table | Count | A contagem total de instruções create table executadas em seu servidor no intervalo de tempo selecionado. |
Com_drop_table | Com_drop_table | Count | A contagem total de instruções de tabela suspensa executadas em seu servidor no intervalo de tempo selecionado. |
Com_Alter | Com_Alter | Count | A contagem total de instruções alter table executadas no servidor no intervalo de tempo selecionado. |
Métricas Innodb
As métricas do Innodb se concentram no desempenho do mecanismo de armazenamento InnoDB, que é o mecanismo padrão do Banco de Dados do Azure para o Servidor Flexível MySQL. Essas métricas incluem tempo de bloqueio de linha InnoDB, espera de bloqueio de linha InnoDB, leituras de pool de buffer Innodb, solicitações de leitura de pool de buffer Innodb e muito mais. Ao monitorar essas métricas, você pode obter informações sobre a eficiência e a eficácia dos mecanismos de armazenamento e cache do seu banco de dados.
Essas métricas aprimoradas fornecem informações valiosas para otimizar sua carga de trabalho e melhorar o desempenho do seu Banco de Dados do Azure para o Servidor Flexível MySQL. Usando essas métricas, você pode tomar decisões orientadas por dados para melhorar a escalabilidade, a confiabilidade e a eficiência de suas operações de banco de dados.
Nome de exibição da métrica | Métrica | 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 buffer 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 do 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 aguarda um bloqueio em uma linha ou tabela 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 do Servidor Flexível do Banco de Dados do Azure para MySQL no período 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 do Banco de Dados do Azure para Servidor Flexível 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 o Servidor Flexível MySQL.
Os logs do servidor suportam a habilitação e o download de logs de consultas lentas e logs de erros. Para executar uma análise histórica dos seus dados, no portal do Azure, no painel 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 Azure ou os 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 do Banco de Dados do Azure para Servidor Flexível 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.