Guia de Instalação e Configuração do MySQLD Exporter para Prometheus

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.

Tags: Prometheus MySQL Exporter monitoramento de banco de dados mysqld Métricas

Publicado em 7-4 05:10