
Chargement
Monitoring !

What is going on ?
Pour tester / pour le TD :
•Projet ms-node-server
Les outils utilisés :
•Prometheus
•Grafana
La documentation utile / pour aller plus loin :
•Server monitoring
•Best Practices
Usecase
Heu, ça RAM non ?
Attends, le projet tourne en prod ou pas ?
Kevin, ptin, l'app a une fuite de mémoire depuis 2 mois, le serveur est plein, plus rien ne fonctionne !
But du jeu
Rien de mieux que de la visibilité sur le cycle de vie d'une application. Le monitoring permet justement de garder un oeil sur lesconstantes vitalesde notre projet !
Le but premier est bien entendu de suivre les principales données d'un serveur, mais peut également alerter les Ops en cas d'utilisation inhabituelle de ressources. Et vous vous en doutez, on peut automatiser beaucoup de choses à ce niveau là comme :
•La remontée d'informations pré-incident
•Alerte des équipe Ops
•La création d'une issue sur Github en cas de ralentissement critique
Mais la force du monitoring vient aussi de sa capacité à automatiser la résolution d'incident, notamment en orchestrant lascalabilité horizontaleouscalabilité verticalede nos applications via de simples règles de monitoring <3
LeHow ToavecGrafanaetPrometheus
Pour commencer, toujours la même étape, nous allons créer un compte surGrafana.
Nous allons ensuite créer une nouvelleconnectionNodejsvia le boutonAdd new connectiondans l'espace "Connections" et suivre l'installation !
PS : N'oubliez pas de copier/coller votre Token généré :D
Prochaine étape, installer l'agent Prometheus :
$ npm install -g prom-clientEt l'ajouter à notre application :
import { collectDefaultMetrics, register } from 'prom-client';
collectDefaultMetrics();
app.get('/metrics', async (_req, res) => {
try {
res.set('Content-Type', register.contentType);
res.end(await register.metrics());
} catch (err) {
res.status(500).end(err);
}
});Une fois le projet relancé, vous pouvez déjà apercevoir les metrics dans votre navigateur via la route/metrics
La dernière étape est simplement d'ajouter la configuration Grafana en modifiant lestargetspour permettre à Grafana de récuper les données de notre route/metrics.

A vous de jouer !
PARCE QUE C'EST NOTRE PROJET !
Le monitoring en DevOps est une étape complexe car riche en possibilité. Essayez d'ajouter cette partie en étape :
1. Récupération des metrics
2. Configuration de l'affichage
3. Calibrage des alertes
4. Mise en place des règles d'automatisation