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 !