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.