Exercice 20
Sujet
Installer un nouvel exporter (MySQL, Docker avec cAdvisor) et l'intégrer dans votre instance prometheus
Installation de MySQL
Installer et configurer MySQL
apt install -y mysql-server
sed -i -e 's/127.0.0.1/0.0.0.0/' /etc/mysql/mysql.conf.d/mysqld.cnf
rm -rf /var/lib/mysql
mkdir /var/lib/mysql
chown -R mysql:mysql /var/lib/mysql
mysqld --initialize-insecure --console
service mysql stop
service mysql start
mysql -uroot -h localhost
mysql> create user 'prometheus' identified by 'prometheus';
mysql> grant all on *.* to 'prometheus'@'%';
mysql> create database bdd;
mysql> grant all on *.* to 'prometheus'@'%';
mysql> use bdd;
mysql> create table test_table (id int primary key, test varchar(100));
Ajouter au docker-compose.yml:
mysqld-exporter:
image: prom/mysqld-exporter
ports:
- 9104:9104
environment:
- DATA_SOURCE_NAME=prometheus:prometheus@(<IP>:3306)/bdd
Pour lancer le mysqld-exporter, il suffit de faire :
docker-compose up -d
Pour lire les logs :
docker-compose logs mysqld-exporter
Sujet
Scraper les données de votre mysqld-exporter puis trouver la métrique qui permet de savoir que le serveur mysql tourne bien :
Solution
show
#file: /opt/prometheus/targets/mysqld-exporters01.yml
- targets:
- 10.102.28.XX:9104
labels:
node: promXX
#file: /opt/prometheus/config/prometheus.yml
global:
scrape_interval: 15s
evaluation_interval: 15s
scrape_configs:
- job_name: prometheus
static_configs:
- targets:
- 10.102.28.XX:9090 # prometheus
labels:
node: promXX
- job_name: node-exporter
file_sd_configs:
- files:
- ./targets/node-exporters/*.yml
refresh_interval: "15s"
- job_name: mysqld-exporter
file_sd_configs:
- files:
- ./targets/mysqld-exporters/*.yml
refresh_interval: "15s"
Sujet
Trouver la métrique qui permet de savoir si Mysql est bien up & running.
Solution
show
mysql_up