crée le docker-compose :
version: "3.8"
networks:
monitoring:
name: monitoring
services:
mysql:
image: mysql:8.0
container_name: mysql
environment:
MYSQL_ROOT_PASSWORD: rootpass
MYSQL_DATABASE: demo
MYSQL_USER: demo
MYSQL_PASSWORD: demopass
ports:
- "3306:3306"
networks:
- monitoring
healthcheck:
test: ["CMD", "mysqladmin", "ping", "-h", "localhost", "-u", "root", "-prootpass"]
interval: 10s
timeout: 5s
retries: 3
mysqld-exporter:
image: prom/mysqld-exporter
container_name: mysqld-exporter
command:
- "--config.my-cnf=/etc/mysql_exporter/.my.cnf"
volumes:
- ./.my.cnf:/etc/mysql_exporter/.my.cnf:ro
ports:
- "9104:9104"
depends_on:
mysql:
condition: service_healthy
networks:
- monitoring
crée le fichier .my.cnf
[client]
user=demo
password=demopass
host=mysql
port=3306
Démarer le docker compose
Sur le serveur prom modifier le fichier prometeus.yml pour ajouter :
- job_name: 'Client_linux_mysql'
honor_timestamps: true
scrape_interval: 15s
scrape_timeout: 10s
metrics_path: /metrics
scheme: http
static_configs:
- targets: ['192.168.115.240:9104']