PM2 : Surveillance et gestion des applications JavaScript

Formateur Python en ligne pour débutants

Apprenez Python facilement sans surcharge théorique. Résolvez des tâches pratiques avec vérification automatique et écrivez du code directement dans le navigateur.

Start Course

Qu'est-ce que PM2 ?

PM2 (Process Manager 2) est un gestionnaire de processus avancé pour les applications Node.js, qui offre des fonctionnalités intégrées de surveillance, de redémarrage automatique et d'équilibrage de charge. Il permet d'exécuter des applications JavaScript en environnement de production, de suivre leur état, de collecter des métriques de performance et de gérer plusieurs processus simultanément.

Pourquoi la surveillance est-elle nécessaire ?

Dans un environnement de production, il est crucial de savoir ce qui se passe avec l'application : si elle a planté, si la consommation mémoire est excessive, ou si des erreurs surviennent. PM2 résout ces problèmes en fournissant :

  • Un redémarrage automatique en cas de panne
  • La collecte de métriques CPU et RAM
  • La journalisation de stdout/stderr
  • Une interface web de surveillance intégrée (PM2 Plus)

Installation

Installez PM2 globalement via npm :

npm install -g pm2

Fonctionnalités principales

  • Lancement d'une application : pm2 start app.js
  • Surveillance en temps réel : pm2 monit
  • Affichage de la liste des processus : pm2 list
  • Journaux : pm2 logs
  • Panneau web : pm2 plus (inscription requise)

Exemple de code en JavaScript (Node.js)

Créez une application simple app.js :

const http = require('http');const server = http.createServer((req, res) => {  res.writeHead(200, {'Content-Type': 'text/plain'});  res.end('Hello from PM2!');});

server.listen(3000, () => { console.log('Server running on port 3000');});

Lancez avec la surveillance :

pm2 start app.js --name my-apppm2 monit

Vous verrez dans la console des graphiques en direct de la consommation mémoire et CPU, ainsi que le nombre de redémarrages.

Quand l'utiliser

PM2 est idéal pour :

  • Les serveurs de production Node.js
  • Les architectures de microservices
  • Les applications nécessitant une récupération automatique après des pannes
  • Les situations où une surveillance simple est nécessaire sans services externes

Conclusion

PM2 est un outil incontournable pour tout développeur Node.js souhaitant assurer le fonctionnement stable de ses applications. Il est simple à installer, ne nécessite pas de configuration complexe et fournit toutes les fonctions nécessaires à la surveillance et à la gestion des processus.

Recommendations