Qu'est-ce que Supervisor et comment le configurer

Comment installer Supervisor et gérer les processus de longue durée sur un serveur.

Supervisor est un gestionnaire de processus qui simplifie l'exécution et la surveillance des programmes de longue durée. Il est particulièrement utile pour maintenir des processus en arrière-plan sur un VPS ou un serveur dédié.

Supervisor se compose de deux éléments : supervisord — le processus serveur qui lance et surveille les processus enfants — et supervisorctl, une interface en ligne de commande et web pour gérer supervisord.

Installation

Sur Debian et Ubuntu, installez Supervisor depuis le dépôt standard :

apt-get install supervisor

Configuration

Le fichier de configuration se trouve à l'emplacement /etc/supervisor/supervisord.conf sur Debian et Ubuntu, ou /etc/supervisord.conf sur les autres distributions.

Pour ajouter un processus, définissez une section de programme dans le fichier de configuration :

[program:worker]
command=/usr/bin/php /var/www/worker.php
stdout_logfile=/var/log/worker.log
autostart=true
autorestart=true
user=www-data
stopsignal=KILL
numprocs=1

Description des paramètres :

  • [program:worker] — le nom du processus.
  • command — chemin vers l'exécutable.
  • stdout_logfile — chemin vers le fichier de log pour la sortie console.
  • autostart — démarrer le processus automatiquement au lancement de Supervisor.
  • autorestart — redémarrer le processus automatiquement en cas de plantage.
  • user — le compte utilisateur sous lequel le processus s'exécute.
  • stopsignal — le signal envoyé pour arrêter le processus.
  • numprocs — le nombre d'instances du processus à lancer.

Après avoir modifié la configuration, redémarrez Supervisor :

/etc/init.d/supervisor restart

Interface web

Supervisor intègre une interface web pour surveiller et contrôler les processus. Pour l'activer, décommentez et configurez la section [inet_http_server] dans le fichier de configuration :

[inet_http_server]
port=127.0.0.1:9001
username=some_user_name
password=some_password

Surveillance des événements

Supervisor dispose d'un mécanisme intégré d'écoute d'événements pour recevoir des notifications d'erreur. Voici un exemple de configuration qui envoie une alerte lorsque la consommation mémoire dépasse un seuil :

[eventlistener:memmon]
command=memmon -a 200MB -m error@site.com
events=TICK_60

Aide

Une question ou besoin d'un coup de main ? Écrivez-nous via le système de tickets — nous sommes toujours là pour vous aider !

Besoin d’aide?Nos ingénieurs vous aideront gratuitement pour n’importe quelle question en quelques minutesNous contacter