Prometheus est une base de données timeseries qui permet de stocker des informations de métriques afin de les restituer
dans un grafana. akka-http est une librairie qui permet d’écrire des serveurs web en scala. Le but de cet article est de
montrer comment faire fonctionner ces deux technologies ensemble.
Utilisation des projets existants
prometheus-akka-http-example
Ce projet est un exemple permettant d’utiliser prometheus-akka-http. Nous allons dans
un premier temps cloner le projet et le démarrer :
Il faut maintenant lancer quelques requêtes afin de générer des informations sur les métriques qui seront récupérées par
Prometheus :
Voici le résultat d’une requête de récupération des métriques de notre serveur web akka :
On constate donc que le projet va générer trois métriques :
request_processing_seconds_bucket : un histograme des temps de réponse du serveur par endpoint
request_processing_seconds_count : un compteur du nombre de requêtes par endpoint
request_processing_seconds_sum : un compteur du temps passé total par endpoint
Voyons ce que ça donne dans prometheus. Commençons par déclarer Prometheus, Grafana et l’application d’exemple dans le fichier docker-compose.yaml :
Et son fichier de configuration associé prometheus.yml :