O MySQLD Exporter é uma ferramenta utilizada pelo Prometheus para monitorar o desempenho de bancos de dados MySQL, coletando e expondo métricas do sistema. Este guia detalha o processo de instalação em um sistema CentOS 7.
Processo de Instalação
1. Instalação das Ferramentas do Cliente MySQL
O MySQL Exporter requer as ferramentas do cliente MySQL para estabelecer conexão com o banco de dados. Primeiramente, instale o cliente mysql.
sudo yum install mysql -y
2. Criação de Usuário MySQL
Para permitir que o MySQL Exporter acesse o banco de dados em modo apenas leitura, é necessário criar um usuário dedicado com essas permissões.
mysql -u root -p
Execute os seguintes comandos no console MySQL para criar o usuário e conceder as permissões necessárias:
CREATE USER 'monitoramento'@'%' IDENTIFIED BY 'SenhaSegura@12345';
GRANT PROCESS, REPLICATION CLIENT, SELECT ON *.* TO 'monitoramento'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;
EXIT;
Substitua
'SenhaSegura@12345'pela senha desejada.
3. Download do MySQLD Exporter
Baixe a versão mais recente do MySQL Exporter a partir do repositório GitHub do Prometheus MySQL Exporter:
cd /opt
wget https://github.com/prometheus/mysqld_exporter/releases/download/v0.14.0/mysqld_exporter-0.14.0.linux-amd64.tar.gz
Verifique sempre a versão mais recente no repositório GitHub do Prometheus MySQL Exporter.
Extraia o arquivo baixado:
tar -xvzf mysqld_exporter-0.14.0.linux-amd64.tar.gz
4. Configuração do MySQLD Exporter
Crie o arquivo de configuração /home/admin/.my.cnf com o seguinte conteúdo:
[client]
user=monitoramento
password=SenhaSegura@12345
5. Configuração do Serviço Systemd (Opcional)
Para que o MySQL Exporter inicie automaticamente com o sistema, recomenda-se configurá-lo como um serviço systemd.
Crie um arquivo de serviço chamado mysqld_exporter.service:
sudo vi /etc/systemd/system/mysqld_exporter.service
Adicione o seguinte conteúdo ao arquivo:
[Unit]
Description=mysqld_exporter Exporter
Wants=network-online.target
After=network-online.target
[Service]
ExecStart=/usr/local/bin/mysqld_exporter --config.my-cnf=/home/admin/.my.cnf
StandardOutput=syslog
StandardError=syslog
[Install]
WantedBy=default.target
Salve e feche o editor.
6. Inicialização do MySQL Exporter
Recarregue a configuração do systemd:
sudo systemctl daemon-reload
Inicei e habilite o serviço do MySQL Exporter:
sudo systemctl start mysqld_exporter
sudo systemctl enable mysqld_exporter
7. Verificação do Status do MySQL Exporter
Veirfique se o MySQL Exporter está em execução:
sudo systemctl status mysqld_exporter
Se o serviço foi iniciado com sucesso, a saída será similar a:
● mysqld_exporter.service - Prometheus MySQL Exporter
Loaded: loaded (/etc/systemd/system/mysqld_exporter.service; enabled; vendor preset: disabled)
Active: active (running) since Mon 2024-12-26 10:00:00 CST; 1min 30s ago
Main PID: 12345 (mysqld_exporter)
CGroup: /system.slice/mysqld_exporter.service
└─12345 /usr/local/bin/mysqld_exporter
8. Configuração do Prometheus para Monitorar o MySQL Exporter
Adicione o alvo do MySQL Exporter ao arquivo de configuração do Prometheus para que ele possa coletar as métricas expostas.
Edite o arquivo de configuração prometheus.yml:
vi /etc/prometheus/prometheus.yml
Na seção scrape_configs, adicione:
- job_name: 'mysql_instances'
static_configs:
- targets: ['servidor1:3306','servidor2:3307']
relabel_configs:
- source_labels: [__address__]
target_label: __param_target
- source_labels: [__param_target]
target_label: instance
- target_label: __address__
# Endereço e porta do mysqld_exporter
replacement: servidor_monitor:9104
Por padrão, o MySQL Exporter escuta na porta 9104.
Recarregue a configuração do Prometheus:
sudo systemctl daemon-reload
sudo systemctl restart prometheus
9. Validação das Métricas do MySQL Exporter
Acesse no navegador http://<seu_ip_servidor>:9104/metrics para visualizar as métricas expostas pelo MySQLD Exporter.
Você também pode usar o comando curl para verificar:
curl http://localhost:9104/metrics
Se uma lista de métricas for exibida, o MySQLD Exporter está configurado corretamente e em execução.