Monitoramento de servidor de banco de dados (MySQL, MS SQL, ODBC)
O programa permite monitorar bancos de dados de rede MS SQL, MySQL e ODBC.
As verificações “MS SQL Server”, “MySQL” e “ODBC” monitoram o estado do respectivo SGBD e alertam quando detectam falhas na operação. O algoritmo tenta conectar periodicamente aos bancos com os parâmetros de autenticação informados. Se o SGBD retorna conexão bem-sucedida, a verificação é considerada aprovada.
Além disso, o programa pode executar consultas SQL arbitrárias, obter os resultados e analisar os valores retornados.
A biblioteca cliente do SGBD libmySQL.dll é necessária para a verificação “MySQL”. Uma das versões é distribuída com o aplicativo. Ela pode ficar na pasta do Windows ou na pasta do aplicativo.
Para usar a verificação “MS SQL Server”, o computador precisa ter a parte cliente desse SGBD. O aplicativo aceita autenticação do Windows e autenticação personalizada com login e senha.
Como configurar o monitoramento de banco de dados (exemplo MySQL)
O monitoramento de integridade garante o desempenho e a disponibilidade do banco. Ele inclui o controle de vários parâmetros e métricas do SGBD, além da detecção de erros na operação.
Descrevemos algumas métricas básicas para avaliar o estado do banco, usando o 10-Strike Network Monitor e o MySQL como exemplo.
1. Disponibilidade e tempo de atividade
A disponibilidade pode ser verificada conectando-se ao banco a partir de hosts remotos. Um erro de conexão pode indicar que o serviço parou ou que a porta foi bloqueada por programas de terceiros.
O parâmetro uptime indica reinícios rápidos do banco. Esses reinícios podem passar despercebidos pela verificação de disponibilidade, então vale conferir há quanto tempo o banco está em execução sem falhas e desligamentos. Por exemplo, defina o limiar do alerta quando
uptime < 1800
em que 1800 é o tempo de atividade do banco, em segundos, desde a última execução.
2. Erros de conexão
Um dos problemas possíveis é o erro de conexão de novos clientes. A métrica Number of Connection Errors identifica quando o banco gera esses erros com muita frequência. Ela inclui as seguintes variáveis de estado do servidor MySQL (counters):
- Connection_errors_accept
Número de erros ocorridos nas chamadas accept() na porta de escuta. - Connection_errors_internal
Número de conexões rejeitadas por erros internos do servidor, como falha ao iniciar uma nova thread ou falta de memória. - Connection_errors_max_connections
Número de conexões rejeitadas porque o limite max_connections do servidor foi atingido. - Connection_errors_peer_address
Número de erros ao consultar os endereços IP dos clientes que se conectam. - Connection_errors_select
Número de erros nas chamadas select() ou poll() na porta de escuta (a falha dessa operação não significa necessariamente que a conexão do cliente foi rejeitada). - Connection_errors_tcpwrap
Número de conexões rejeitadas pelo libwrap.
Se o parâmetro max_connections estiver incorreto nas configurações do MySQL, o banco pode falhar com muitas conexões simultâneas, aumentando o contador Connection_errors_max_connections. Monitore a proporção entre as conexões atuais e o máximo possível. Use a consulta a seguir:
SELECT ROUND(100 - (100 * Variable_value / [max_connections]), 0) as tc FROM sys.metrics where Variable_name = 'threads_connected'
no lugar de [max_connections], substitua o valor real do parâmetro max_connections (o padrão é 100). Obtenha-o com uma consulta no console do MySQL:
show variables like "max_connections";
Esse comando retorna algo parecido com isto:
A variável tc mostra a porcentagem de conexões disponíveis, e o limiar pode ser definido em 30%.
3. Consultas lentas
O MySQL mantém um log de consultas lentas. O número de entradas desse log é obtido pela métrica slow_queries. Para obter o valor, use uma consulta SQL simples:
SELECT Variable_value FROM sys.metrics where Variable_name = 'slow_queries'
O programa pode reagir a mudanças nesse valor e informar novas entradas no log de consultas lentas, o que pode indicar problemas de desempenho.
4. Consultas de junção
Com os contadores de execução de junções, você é avisado sobre operações que consomem muitos recursos.
- Select_full_join
Número de junções que fazem varredura de tabela porque não usam índices. Se o valor não for 0, confira os índices das tabelas. - Select_full_range_join
Número de junções que usaram buscas por intervalo na tabela de consulta. - Select_range_check
Número de junções sem chaves que verificam o uso de chave após cada linha. Se não forem 0, confira os índices das tabelas. - Select_scan
Número de junções que fizeram uma varredura completa da primeira tabela. - Select_range
Número de junções que usaram intervalos na primeira tabela. Em geral não é um problema crítico, mesmo com um valor alto.
5. Taxa de acerto do cache
O MySQL usa um cache em memória para otimizar leituras e gravações em disco. Uma taxa de acerto baixa afeta o desempenho. Esta consulta calcula a taxa de acerto do cache de tabelas abertas:
SELECT ROUND((open_cache_hits / (open_cache_hits + open_cache_misses)), 2) * 100 OpenTableFactor FROM (SELECT variable_value open_cache_misses FROM sys.metrics WHERE variable_name = 'table_open_cache_misses') miss, (SELECT variable_value open_cache_hits FROM sys.metrics WHERE variable_name = 'table_open_cache_hits') hits;
Defina o limiar de OpenTableFactor em 90%. Se o valor ficar abaixo disso, o programa avisa.
6. Tempo de execução da consulta
Outro indicador de degradação é o tempo de execução da consulta. Escreva uma consulta SQL de teste e meça o tempo em condições normais. Use esse valor como limiar. Um tempo alto por um período longo pode indicar que o banco está sobrecarregado e que os usuários esperam demais pela resposta.
O MySQL oferece muitas métricas para avaliar a integridade do banco. A maioria está nas tabelas de sistema INFORMATION_SCHEMA (sys). As tabelas e views desse esquema podem ser consultadas. O programa executa consultas arbitrárias, o que permite criar uma ampla variedade de verificações de desempenho.
Veja também: Monitoramento de servidor HTTP (web) e de conteúdo de página, Monitoramento de servidor FTP
Requisitos: Windows XP/Vista/7/8.1/10/11, Server 2003/2008/2012/2016/2019/2022.
Links relacionados:
Inventário de hardware e software dos computadores da rede
Monitore servidores, serviços, switches gerenciáveis e outros equipamentos
Monitore e administre hosts em um mapa visual e crie diagramas de rede
Acompanhe a banda e o consumo de tráfego de Internet
Crie diagramas de rede e descubra a topologia
Pesquise arquivos em compartilhamentos de rede e servidores FTP
Audite o acesso remoto de usuários a compartilhamentos (pastas e arquivos)


