wiki/HowtoSupervisor.md
2019-04-16 14:26:45 +02:00

80 lines
1.6 KiB
Markdown

# Howto Supervisor
C'est un système qui permet à ses utilisateurs de surveiller et de contrôler un certain nombre de processus. il est destiné à être utilisé pour contrôler les processus liés à un projet ou à un client, et est conçu pour démarrer comme tout autre programme au démarrage.
<http://supervisord.org/>
~~~
# apt install supervisor
~~~
## Configuration
Fichier /etc/supervisor/supervisord.conf
Par exemple pour écouter sur le port TCP/9001 (sans authentification) :
~~~
[inet_http_server]
port = 127.0.0.1:9001
~~~
On peut ensuite faire :
~~~
$ supervisorctl -s http://127.0.0.1:9001 status
~~~
### Exemple
Si l'on souhaite surveiller le process /home/bar/foo
~~~
# cat /etc/supervisor/conf.d/foo.conf
[program:foo]
user=bar
command=/home/bar/foo
autostart=true
autorestart=true
stderr_logfile=/home/bar/log/foo.error.log
stdout_logfile=/home/bar/log/foo.log
~~~
~~~
# supervisorctl reread
# supervisorctl update
~~~
~~~
# supervisorctl
foo RUNNING pid 42042, uptime 0:42:42
supervisor> stop foo
foo: stopped
supervisor> start foo
foo: started
supervisor> help
default commands (type help <topic>):
=====================================
add exit open reload restart start tail
avail fg pid remove shutdown status update
clear maintail quit reread signal stop version
~~~
## En cas de soucis
On vérifie si le process tourne encore
~~~
# ps -ef | grep supervisord
~~~
Si c'est le cas on peut le `kill` (et `kill -9` si ça n'a pas suffit).
Si ce n'est plus le cas, il se peut qu'il soit nécessaire de supprimer
la socket
~~~
# unlink /var/run/supervisor.sock
~~~