• 1. Surveiller les performances de votre application Node.js sur Kubernetes avec Prometheus et Grafana

  • 1.1. Étape 1 : déployer Prometheus sur votre cluster Kubernetes

  • 1.2. Étape 2 : instrumenter votre application Node.js avec prom-client

  • 1.3. Étape 3 : déployer Grafana et configurer la datasource Prometheus

  • 1.4. Étape 4 : créer un dashboard de performance

  • 1.5. Bonnes pratiques

  • 2. Conclusion

mettre en place la surveillance des performances d’une application node.js sur kubernetes avec prometheus et grafana

Image de mettre en place la surveillance des performances d’une application node.js sur kubernetes avec prometheus et grafana

Les équipes DevOps et développeurs Web recherchent souvent une solution pour suivre en temps réel les performances de leurs applications conteneurisées. Dans ce tutoriel, nous expliquons comment surveiller votre application Node.js sur Kubernetes à l’aide de Prometheus et Grafana.

Surveiller les performances de votre application Node.js sur Kubernetes avec Prometheus et Grafana

Étape 1 : déployer Prometheus sur votre cluster Kubernetes

Commencez par installer Prometheus via helm ou un manifest Kubernetes.

kubectl create namespace monitoring

# Ajouter le repo Helm officiel
helm repo add prometheus-community https://prometheus-community.github.io/helm-charts
helm repo update

# Installer Prometheus
helm install prometheus prometheus-community/prometheus \
  --namespace monitoring \
  --set alertmanager.persistentVolume.size="2Gi" \
  --set server.persistentVolume.size="5Gi"

Vous pouvez vérifier le déploiement avec :

kubectl get pods -n monitoring

Étape 2 : instrumenter votre application Node.js avec prom-client

Dans votre projet Node.js (souvent sous Express), ajoutez le module prom-client pour exposer un endpoint /metrics :

npm install prom-client

// server.js
const express = require('express');
const client = require('prom-client');
const app = express();

// Collecte des métriques de base
client.collectDefaultMetrics({
  timeout: 5000  // intervalle de collecte
});

// Point d'accès metrics
app.get('/metrics', async (req, res) => {
  res.set('Content-Type', client.register.contentType);
  res.end(await client.register.metrics());
});

app.listen(3000, () => console.log('App running et /metrics disponible'));

Veillez à exposer ce service via un Service et un Ingress si nécessaire.

Étape 3 : déployer Grafana et configurer la datasource Prometheus

Installez Grafana dans le namespace monitoring :

helm install grafana prometheus-community/grafana \
  --namespace monitoring \
  --set persistence.size=5Gi \
  --set adminPassword='ChangeMe123'

Puis, connectez-vous à l’UI (kubectl port-forward svc/grafana 3000:80 -n monitoring) et ajoutez Prometheus comme source de données :

  • URL : http://prometheus-server.monitoring.svc.cluster.local:80
  • Access : Server

Étape 4 : créer un dashboard de performance

Dans Grafana, importez ou créez un dashboard en important l’exemple officiel (ID : 1860) pour Node.js. Vous pouvez aussi personnaliser :

MétriqueDescription
process_cpu_user_seconds_totalTemps CPU utilisé par le processus
process_resident_memory_bytesMémoire vive consommée
http_requests_totalNombre total de requêtes HTTP

Vous obtenez ainsi un suivi précis de la santé de votre service en production.

Bonnes pratiques

  • Sécuriser l’accès à Prometheus/Grafana (auth Basic ou OAuth).
  • Configurer une rétention adaptée (--set server.retention=15d).
  • Limiter le cardinalité des métriques pour éviter une explosion de la base TSDB.
  • Mettre en place des alertes (CPU > 80 % durant 5 min).

Erreurs fréquentes

  • Endpoint /metrics non exposé : vérifiez le service et l’ingress.
  • Mauvaise URL Datasource : utilisez toujours le FQDN du service Kubernetes.
  • Cardinalité trop élevée : évitez de créer des labels dynamiques à la volée.

Conclusion

En suivant ces étapes, vous disposerez d’un monitoring robuste pour votre application Node.js sur Kubernetes, avec un overhead inférieur à 5 % et la possibilité d’anticiper les incidents. Pour aller plus loin ou obtenir un audit personnalisé, n’hésitez pas à contacter notre équipe.

Vous souhaitez accélérer vos projets SaaS ? Découvrez nos services en développement SaaS et bénéficiez d’un accompagnement sur mesure.

Image de Zapier vs Make vs n8n : quelle plateforme d’automatisation choisir en 2025 ?

Zapier vs Make vs n8n : quelle plateforme d’automatisation choisir en 2025 ?

Compare Zapier, Make et n8n pour trouver la plateforme d’automatisation idéale en 2025 avec un guide sur fonctionnalités, tarifs et cas d’usage
Image de atlassian intelligence : accélérer vos projets avec l’ia intégrée

atlassian intelligence : accélérer vos projets avec l’ia intégrée

Découvrez comment Atlassian Intelligence associe IA à Jira, Trello et Confluence pour automatiser vos tâches et accélérer vos livraisons
Image de implémenter la traçabilité distribuée avec opentelemetry et jaeger pour microservices node.js

implémenter la traçabilité distribuée avec opentelemetry et jaeger pour microservices node.js

Découvrez comment instrumenter vos microservices Node.js avec OpenTelemetry et Jaeger pour suivre les requêtes et diagnostiquer les lenteurs.
DEVIS GRATUIT

Un projet en tête ? Vous avez des questions ?

Contactez nous pour recevoir un devis gratuitement, des réponses à vos questions ou une séance de consulting offerte avec l'un de nos experts :

Femme en chemise jaune