Monitoramento MySQL · 5 min read · Sep 15, 2025

Como Monitorar MySQL ou MariaDB com Prometheus e Grafana

Para garantir que o servidor MySQL/MariaDB esteja funcionando corretamente, você precisa implementar monitoramento em sua infraestrutura. Isso permite otimizar o desempenho, identificar problemas/gargalos e garantir que seu banco de dados esteja saudável. Com Prometheus e Grafana, você pode alcançar isso e criar um belo monitoramento de painel para servidores MySQL.

Neste guia, você aprenderá como monitorar servidores MySQL/MariaDB com Prometheus e Grafana. Você configurará o ‘prometheus-mysqld-exporter’ para gerar métricas e adicionar o monitoramento de endpoint ao servidor Prometheus. Depois disso, você criará um novo painel Grafana para monitoramento do MySQL.

Pré-requisitos

Para começar, certifique-se de ter o seguinte:

  • Um servidor MySQL/MariaDB instalado
  • Um usuário não-root com privilégios de administrador
  • Prometheus e Grafana instalados em seu servidor

Configurar usuário MySQL/MariaDB

Para monitorar o servidor MySQL/MariaDB, você precisa criar um novo usuário MySQL dedicado. Este usuário terá os menores privilégios, como PROCESS, REPLICATION CLIENT e SELECT em todos os seus bancos de dados.

Nesta seção, você criará um novo usuário MySQL para monitorar seu servidor MySQL.

Faça login no seu servidor MySQL/MariaDB com o seguinte. Digite sua senha ‘ root ‘ quando solicitado.

sudo mysql -u root -p

Agora execute as seguintes consultas para criar um novo usuário MySQL ‘ prometheus ‘ com a autenticação ‘ unix_socket ‘. Este usuário terá privilégios para ver processos, clientes de replicação e selecionar em todos os bancos de dados no servidor MySQL.

CREATE USER IF NOT EXISTS 'prometheus'@'localhost' IDENTIFIED WITH unix_socket;  
GRANT PROCESS, REPLICATION CLIENT, SELECT ON *.* TO 'prometheus'@'localhost';  
FLUSH PRIVILEGES;

Em seguida, execute a consulta abaixo para verificar o usuário MySQL ‘ prometheus@localhost ‘. Você verá o usuário ‘ prometheus ‘ com privilégios de SELECT, PROCESS e BINLOG MONITOR como um cliente de replicação.

SHOW GRANTS FOR 'prometheus'@'localhost';

Digite ‘ quit ‘ para sair do servidor MySQL/MariaDB.

check mysql user

Instalando prometheus-mysqld-exporter

O ‘ prometheus-mysqld-exporter ‘ é um exportador para métricas MySQL. Ele suporta MySQL >= 5.6 e MariaDB >= 10.3. Para usar o ‘prometheus-mysqld-exporter’, você precisa instalá-lo em seu servidor MySQL.

Neste exemplo, o servidor MySQL está rodando no servidor Debian 12. E por padrão, o ‘prometheus-mysqld-exporter’ está disponível no repositório oficial do Debian, então o instalaremos através do APT. Se você estiver usando outra distribuição, pode baixá-lo e instalá-lo manualmente do GitHub.

Primeiro, execute o comando abaixo para atualizar seu índice de pacotes Debian.

sudo apt update

update repo

Uma vez que o repositório esteja atualizado, instale o pacote ‘ prometheus-mysqld-exporter ‘ com o seguinte comando. Digite ‘ Y ‘ para confirmar a instalação.

sudo apt install prometheus-mysqld-exporter

install prometheus-mysqld-exporter

Após a instalação ser concluída, execute o comando ‘ systemctl ‘ abaixo para recarregar o gerenciador systemd.

sudo systemctl daemon-reload

Então, você pode iniciar e habilitar o serviço ‘ prometheus-mysqld-exporter ‘ com o comando abaixo. Com isso, o serviço ‘prometheus-mysqld-exporter’ deve estar em execução e habilitado em seu sistema.

sudo systemctl enable --now prometheus-mysqld-exporter

Adicionando usuário MySQL ao prometheus-mysqld-exporter

Agora que você criou um usuário MySQL e instalou o ‘prometheus-mysqld-exporter’. O próximo passo é adicionar seu MySQL à configuração do ‘prometheus-mysqld-exporter’. Fazer isso permite gerar métricas do seu servidor MySQL e expor o endpoint na porta padrão ‘9104’.

Abra o arquivo ‘ /etc/default/prometheus-mysqld-exporter ‘ com o seguinte editor ‘ nano ‘.

sudo nano /etc/default/prometheus-mysqld-exporter

Descomente a variável de ambiente ‘ DATA_SOURCE_NAME ‘ para integrar o MySQL com o ‘ prometheus-mysqld-exporter ‘. Neste exemplo, o usuário MySQL ‘ prometheus ‘ será usado para monitorar o servidor MySQL através do arquivo ‘ mysqld.sock ‘.

DATA_SOURCE_NAME="prometheus@unix(/run/mysqld/mysqld.sock)/"

Salve o arquivo e saia do editor.

Agora execute o comando ‘ systemctl ‘ abaixo para reiniciar o serviço ‘ prometheus-mysqld-exporter ‘ e aplicar suas alterações. E então, verifique seu status para garantir que está em execução.

sudo systemctl restart prometheus-mysqld-exporter  
sudo systemctl status prometheus-mysqld-exporter

Você pode ver abaixo que o ‘prometheus-mysqld-exporter’ está em execução.

setup prometheus-mysql-exporter

Por fim, abra seu navegador da web e visite http://192.168.10.41:9104/. Este é o endpoint padrão para o ‘ prometheus-mysqld-exporter ‘. Se sua configuração for bem-sucedida, uma métrica será gerada e será exibida como a seguinte:

generated metric

Adicionando endpoint prometheus-mysqld-exporter ao Prometheus

Agora que a configuração do ‘ prometheus-mysqld-exporter ‘ está completa e a métrica foi gerada. Agora você precisa adicionar o ‘ prometheus-mysqld-exporter ‘ como um endpoint ao seu servidor Prometheus. Para este guia, o endpoint ‘ prometheus-mysqld-exporter ‘ está disponível em ‘ 192.168.10.41:9104 ‘.

Se você não tiver um servidor Prometheus, instale-o através de Como Instalar Prometheus e Node Exporter no Debian 12.

Vá para o seu servidor Prometheus e abra o arquivo de configuração ‘ /etc/prometheus/prometheus.yml ‘ com o editor ‘nano’.

sudo nano /etc/prometheus/prometheus.yml

Dentro do ‘ scrape_configs ‘, adicione o endpoint do seu ‘ prometheus-mysqld-exporter ‘ assim. Para este exemplo, o ‘ prometheus-mysqld-exporter ‘ está rodando no ‘ server1 ‘ com o endereço IP e porta ‘ 192.168.10.41:9104 ‘.

scrape_configs:  
  
- job_name: server1  
  static_configs:  
  - targets: ['192.168.10.41:9104']  
    labels:  
      alias: db1

Salve o arquivo e saia do editor quando terminar.

Agora execute o seguinte comando ‘ systemctl ‘ para reiniciar o serviço ‘ prometheus ‘ e aplicar suas alterações.

sudo systemctl restart prometheus

Por fim, abra o painel do seu servidor Prometheus e selecione o menu ‘ Status > Targets ‘. Certifique-se de que você pode ver o ‘ server1 ‘, que é o endpoint do seu monitoramento MySQL.

Configurando o Painel Grafana para o servidor MySQL

Após adicionar o endpoint ‘prometheus-mysqld-exporter’ ao servidor Prometheus, você está agora pronto para construir o painel Grafana para monitoramento do servidor MySQL. Nesta seção, você importará o monitoramento do painel para MySQL via GrafanaLabs.

Se você não tiver o Grafana instalado, instale-o com Como Instalar Grafana e Prometheus no Ubuntu 24.04.

No seu painel Grafana, clique no menu ‘ Dashboard > New > Import ‘. Para este exemplo, usaremos modelos Grafana do GrafanaLabs para monitorar o servidor MySQL.

Copie o número de ID do Grafana e cole, em seguida, clique em ‘ Load ‘ para confirmar.

import dashboard

Agora selecione ‘ Prometheus ‘ como sua fonte de dados e clique em ‘ Import ‘.

import dashboard

Se bem-sucedido, você verá o painel para seu monitoramento MySQL/MariaDB com Prometheus e Grafana.

mysql monitoring dashboard

Conclusão

Parabéns! Você completou o monitoramento do servidor MySQL/MariaDB com Prometheus e Grafana. Você monitorou o servidor MySQL com o ‘prometheus-mysqld-exporter’ e gerou métricas para MySQL. Você também adicionou o ‘prometheus-mysqld-exporter’ como um endpoint ao seu servidor Prometheus. Por fim, você criou um painel Grafana para monitorar seu servidor MySQL.

Share: X/Twitter LinkedIn

Receba novas postagens na sua caixa de entrada

Sem spam. Cancele a assinatura a qualquer momento.