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, os valores de Slave_IO_Running/Replica_IO_Running, Master_Log_File e Read_Master_Log_Pos do comando MySQL “SHOW SLAVE STATUS” ou “SHOW REPLICA STATUS” devem ser ignorados, pois a implementação de réplicas no 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 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. Além disso, para obter valores precisos do arquivo binlog do mestre e da posição, você pode utilizar os valores em Relay_Master_Log_File e Exec_Master_Log_Pos dos comandos MySQL “SHOW SLAVE STATUS” ou “SHOW REPLICA STATUS”.
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
- Consulte Como configurar alertas para obter orientação sobre como criar um alerta em uma métrica.
- Como habilitar e baixar logs do servidor para o servidor flexível do Banco de Dados do Azure para MySQL no portal do Azure ou na CLI do Azure