Accueil Technologies PM2 – Top 5 des commandes les plus pratiques : monitoring, scalabilité, start/stop
PM2 – Top 5 des commandes pratiques (monitoring, scalabilité, start:stop)

PM2 – Top 5 des commandes les plus pratiques : monitoring, scalabilité, start/stop

par Jérémy PASTOURET
Publié : Mis à jour le

PM2 est un outil très pratique de mise en production d’applications NodeJS. Si vous ne le connaissez pas, je vous recommande de lire ce premier article. Dans le tutoriel ci-dessous, vous allez apprendre à l’utiliser, et retenir ses principales fonctionnalités.

Toutes les commandes sont au format image : cela vous permet de comprendre comment fonctionne PM2 dans sa globalité. Vous pouvez également télécharger ma CheatSheet : un récapitulatif en image à afficher au-dessus de votre écran + un fichier de commandes à copier/coller).

Pré-requis d’installation

PM2 - Installation

Avant de partir sur les fonctionnalités, il faut installer NodeJS : lancez la commande ci-dessus dans un terminal.

Petit rappel de commande NPM/Yarn : Le paramètre -g ou global signifie que PM2 sera installé globalement sur votre système. Sans ce paramètre, l’outil serait installé uniquement dans votre projet/dossier courant.

Après avoir installé PM2, je vous recommande d’exécuter la commande suivante dans un terminal :

PM2 Startup

Celle-ci permet de relancer PM2 à chaque fois que votre serveur (re)démarre. Une tâche en moins à effectuer en cas de coupure de courant, lorsqu’il faut relancer les serveurs.

Dernière commande importante à connaître :

PM2 UpdatePM2

Vous l’aurez compris : cette commande permet de mettre à jour le programme.

Fonctionnalité n°1 de PM2 : lancer une application

PM2 Lancement d'application

La commande est très simple : il vous suffit d’utiliser le mot-clé start suivi de votre commande pour lancer votre application. Notez que pour passer des arguments à votre programme vous devez utiliser . Et je vous recommande d’utiliser le paramètre facultatif –name=<nom>. Celui-ci vous permettra de vous y retrouver dans la pile d’applications lancées par PM2.

D’autres paramètres utiles sont présents en téléchargement à la fin de l’article. Exemple : le paramètre –watch qui permet de rafraîchir votre application à chaque modification de code.

Fonctionnalité n°2 de PM2 : monitoring

Monitoring PM2

Il y a deux niveaux de monitoring : le premier est disponible en console, et le second à travers une interface Web sur les serveurs de PM2.

Accéder au tableau de bord en console

PM2 - monitoring

A nouveau, une commande simple. Celle-ci vous permet de garder un œil sur votre application. Pourquoi ne pas lui dédier un écran avec un Raspberry PI ?

Tableau de bord console

Accéder au monitoring en ligne

PM2 - monitoring en ligne

Avec le mot-clé plus, vous allez pouvoir connecter votre serveur à celui de PM2. L’outil est plutôt bien fait. Si vous n’avez pas de compte, vous pouvez en créer un depuis la console. Pratique non ?

Si, comme moi, vous êtes fébrile lorsqu’il s’agit d’interconnecter votre serveur à un autre : vous pouvez couper le lien (déconnecter) en utilisant la commande unlink.

Fonctionnalité n°3 de PM2 : actions (Stop / Restart / Reload / Delete)

PM2 - Actions (stop-reload-restart-delete)

Lorsqu’une application a été lancée, la question qui suit est : comment l’arrêter ? Il suffit d’utiliser les grands classiques (stop, restart, reload, delete). Puis de définir la cible :

  • all => tous
  • nom de l’application
  • Id du processus

Fonctionnalité n°4 de PM2 : scalabilité

PM2 - scalabilité

Savoir rendre scalable est important : imaginez que votre application soit plébiscitée par une armée d’utilisateurs du jour au lendemain. Techniquement, cela signifie qu’il faut être prêt à augmenter le nombre de services NodeJS pour gérer la charge. En utilisant le paramètre -i 0, vous indiquez à l’outil de faire tout ce qui est possible pour gérer les demandes utilisateurs. Et donc, d’utiliser un maximum de ressources serveur.

L’option + permet de créer x nouvelles instances de votre application. Lorsque vous indiquez une valeur précise, PM2 ajoute ou supprime le nombre d’instances suffisantes pour atteindre ce nombre.

Fonctionnalité n°5 de PM2 : liste d’applications et informations pratiques (utiles pour les actions)

Liste d'applications et informations pratiques (Utile pour les actions)

La première commande permet de lister en console les applications lancées sur votre serveur. La seconde permet d’obtenir une liste formatée en JSON, pratique pour créer son propre tableau de bord. Enfin, la dernière commande permet de récupérer des informations précises sur une application gérée par l’outil.

Envie de faire vos mises en prod’ en toute sérénité ?

zen

Vous connaissez maintenant les commandes/fonctions incontournables de PM2. Les retenir demande de l’entraînement, de la pratique… et d’avoir pris de bonnes notes.

Remplissez le formulaire ci-dessous pour recevoir un fichier contenant les principales commandes copiables de PM2, directement dans votre boîte mail ! Libre à vous de fixer le montant de votre contribution.

👉 Avez-vous déjà utilisé PM2 ? Connaissez-vous d’autres outils pour gérer la mise en production ? Dites-le nous en commentaire.

Enfin, pour aller plus loin dans le monitoring d’application, je vous invite à lire notre dossier sur Grafana.

Laisser un commentaire

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.