Monitoring Demo
Visualizierung

Prometheus / Graphana
Diese App baut auf der App Todo Mysql Segmentiert auf. Die Todo App wird gestartet.
Zusätzlich wird nun Monitoring eingesetzt um den Nginx und die Datenbank zu überprüfen.
Struktur
.
├── graphana/
├──── datasources/prometheus.yml // konfiguriert Graphana -> Prometheus
├── mysql/
├──── conf.my-cnf // Datenbankverbindung für den "exporter"
├── nginx/
├──── nginx.conf
├── prometheus/
├──── prometheus.yml // konfiguriert Datenquellen für Prometheus
├── todo-api/
├──── Dockerfile
├── todo-ui/
├──── Dockerfile
└── .env-secret
└── docker-compose.yml
└── README.md
Vorgabe
Die Applikation kann mit docker-compose up -d gestartet werden.
Folgende Services sollten Zugänglich sein.
- Die Todo App: http://localhost:8080
- Prometheus: http://localhost:9090
- Graphana: http://localhost:3000
- user/pw: admin / admin
Folgende Metriken sollten zugänglich sein
- nginx: http://localhost:9113/metrics
- mysql: http://localhost:9104/metrics
MySql user für den Exporter erstellen
In den Container verbinden mit:
docker exec -it 01-prometheus-graphana-db-1 /bin/bash
Im Container in die mysql console verbinden mit:
mysql -u root -p
- Das Password ist
password.
Folgendes SQL ausführen. Dies erstellt einen Benutzer "exporter" mit den nötigen
Rechten und dem PW password.
CREATE USER 'exporter'@'%' IDENTIFIED BY 'password' WITH MAX_USER_CONNECTIONS 3;
GRANT PROCESS, REPLICATION CLIENT, SELECT ON *.* TO 'exporter'@'%';
Danach docker compose down und wieder mit docker compose up -d alles
starten.
Aufgabe
Zusammen werden wir die Struktur durchgehen!