# Configuração exporter-mysql Prometheus # > Para realizar o teste de ambiente mysql foi utilizado o repositório : https://github.com/vbabak/docker-mysql-master-slave > Nele econtramos um ambiente que simula a replicação entre dois bancos de dados. Para inicia-lo basta utilizar o docker-compose up -d Passo 01: Criação do Usuário para se conectar aos bancos com o exporter mysql. Acessando os containers : ```gerkhin= docker exec -it mysql_master bash docker exec -it mysql_slave bash ``` Em cada container realizar o procedimento comum de criação de usuários para nysql com os comandos: ```gerkhin= mysql -u root -p111 #Acessando mysql ``` Comandos de Criação Usuário MySql: ```gerkhin= mysql> CREATE USER 'exporter'@'%' IDENTIFIED BY 'exporterpassword' WITH MAX_USER_CONNECTIONS 3; mysql> GRANT PROCESS, REPLICATION CLIENT, SELECT ON *.* TO 'exporter'@'%'; ``` Iniciando os exporters do Prometheus para MySql ```gerkhin= docker run -d -p 9104:9104 --network docker-mysql-master-master_overlay -e DATA_SOURCE_NAME="exporter:exporterpassword@(mysql_master:3306)/" prom/mysqld-exporter\ --collect.info_schema.processlist \ --collect.info_schema.innodb_metrics \ --collect.info_schema.tablestats \ --collect.info_schema.tables \ --collect.info_schema.userstats \ --collect.engine_innodb_status \ --collect.slave_status \ --collect.slave_hosts ``` No caso do Slave iremos publicar uma porta automatica a ele, assim evitamos conflito: ```gerkhin= docker run -d --publish 9104 --network docker-mysql-master-slave_overlay -e DATA_SOURCE_NAME="exporter:exporterpassword@(mysql_slave:3306)/" prom/mysqld-exporter\ --collect.info_schema.processlist \ --collect.info_schema.innodb_metrics \ --collect.info_schema.tablestats \ --collect.info_schema.tables \ --collect.info_schema.userstats \ --collect.engine_innodb_status \ --collect.slave_status \ --collect.slave_hosts ``` Passo 02 configurando a targer do exporter do mysql no arquivo prometheus.yml: ```gerkhin= - job_name: 'mysql_exporter' scrape_interval: 5s static_configs: - targets: ['172.19.0.1:9104','172.19.0.1:32768'] ``` Passo 05 configurar o arquivo alert.rules, para que interaja com alertmanager e dispare métricas de saúde do ambiente Passo 04: Grafana, métricas configuradas disponíveis para importação com arquivo Json > Pontos de atenção: > > Arquivos .yml possuem identalção similar ao do Python, para forçar organização do código, sendo assim é de extrema importância para que ocorra o funcionamento. Diagrama : ![](https://i.imgur.com/Xk0OCsV.png)