
Halo, kalau kamu merasa tulisan saya ngebantu kamu, kamu bisa ucapkan terima kasih lewat saweria .
If you feel this website help you, you can donate at saweria .
Tools yang Saya Gunakan
How To
- Buat user baru khusus mysqld_exporter
CREATE USER 'exporter'@'localhost' IDENTIFIED BY 'XXXXXXXX' WITH MAX_USER_CONNECTIONS 3;
GRANT PROCESS, REPLICATION CLIENT, SELECT ON *.* TO 'exporter'@'localhost';
FLUSH PRIVILEGES;
- Setup mysqld_exporter , buat file docker-compose.yml
version: '3'
services:
mysqld-exporter:
image: prom/mysqld-exporter:latest
container_name: mysqld-exporter
restart: always
#if setup firewall was pain just use
#network_mode: host
ports:
- "9104:9104"
environment:
DATA_SOURCE_NAME: "exporter:XXXXXXX@(localhost:3306)/"
Jalankan docker-compose up -d
. Untuk mengecek apakah exporter sudah berhasil dijalankan, gunakan docker logs -f mysqld-exporter

mysqld_exporter Running Succesfully
- Selanjutnya, tambahkan job baru di file prometheus.yml
- job_name: 'mysqlexporter'
static_configs:
- targets:
#mysql server location
- 192.168.1.2:3306
- 192.168.1.3:3306
scrape_interval: 5s
relabel_configs:
- source_labels: [__address__]
target_label: __param_target
- source_labels: [__param_target]
target_label: instance
- target_label: __address__
# server who run mysqld_exporter host:port
replacement: 192.168.1.4:9104
Restart container prometheus docker restart prometheus

Exporter Scraped by Prometheus
- Tambahkan rules baru di prometheus
wget https://raw.githubusercontent.com/samber/awesome-prometheus-alerts/master/dist/rules/mysql/mysqld-exporter.yml -O mysqld-exporter.rules
- Masuk ke grafana dashboard, import dashboard 14057
Grafana Dashboard 14057 mysqld_exporter
Referensi:
Awesome Prometheus alerts - mysql