Moniteurs
Objectifs​
Un moniteur est un healthcheck (contrôle de santé d'une application) qui est executé périodiquement. Pour l'instant nous n'implémentons que les healthcheck http avec les méthodes GET, POST et PUT. Dans le futur, nous prévoyons d'implémenter d'autres healthchecks.
Notre système de moniteur permet de :
- présenter le résultat du contrôle dans notre interface graphique
- exporter les résultats dans une gauge Prometheus/OpenMetrics disponible via le webservice
/v1/metricsde l'API de CWCloud - envoyer la métrique via opentelemetry vers un endpoint OTLP/grpc (configuré avec la variable d'environnement
OTEL_COLLECTOR_ENDPOINT, pour plus de détail sur cette configuration lire cette documentation for that).
Demo​
Voici une démo de 10 minutes qui démontre comment utiliser cette fonctionnalité avec Quickwit et Grafana :
Création d'un moniteur​
Observability > Monitor

Notes :
- Pour les codes http retour attendu, vous pouvez utiliser le wildcard
*qui sera évalué comme n'importe quel chiffre. Si vous configurez20*, le moniteur sera en succès si le code retour commence par20, comme par exemple200,201,202... - Le moniteur échoue lorsque vous saisissez le champ
response body containet que la réponse ne contient pas la valeur saisie - Vous pouvez configurer une authentification basic auth et des headers
- Pour les méthodes
POSTetPUTvous pouvez aussi configurer le body de la requête - Vous pouvez utiliser la CLI pour créer les moniteurs, voir cette documentation
Récupération des métriques Prometheus dans Quickwit​
- Pour installer Quickwit via CWCloud, lire ce tutoriel
- Pour configurer Vector et Quickwit pour récupérer et indexer les métriques Prometheus, lire ce blogpost
