
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
