Was ist Supervisor und wie wird er eingerichtet
Supervisor installieren und dauerhaft laufende Prozesse auf einem Server verwalten.
Supervisor ist ein Prozessmanager, der das Ausführen und Überwachen langlebiger Programme vereinfacht. Er ist besonders nützlich, um Hintergrundprozesse auf einem VPS oder dedizierten Server am Laufen zu halten.
Supervisor besteht aus zwei Komponenten: supervisord — dem Serverprozess, der Kindprozesse startet und überwacht — und supervisorctl, einer Kommandozeilen- und Weboberfläche zur Verwaltung von supervisord.
Installation
Auf Debian und Ubuntu installieren Sie Supervisor aus dem Standard-Repository:
apt-get install supervisor
Konfiguration
Die Konfigurationsdatei befindet sich unter /etc/supervisor/supervisord.conf auf Debian und Ubuntu bzw. unter /etc/supervisord.conf auf anderen Distributionen.
Um einen Prozess hinzuzufügen, definieren Sie einen Programmabschnitt in der Konfigurationsdatei:
[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
Parameterbeschreibungen:
[program:worker]— der Prozessname.command— Pfad zur ausführbaren Datei.stdout_logfile— Pfad zur Logdatei für die Konsolenausgabe.autostart— Prozess automatisch starten, wenn Supervisor startet.autorestart— Prozess automatisch neu starten, wenn er abstürzt.user— das Benutzerkonto, unter dem der Prozess läuft.stopsignal— das Signal zum Beenden des Prozesses.numprocs— die Anzahl der zu startenden Prozessinstanzen.
Nach einer Änderung der Konfiguration starten Sie Supervisor neu:
/etc/init.d/supervisor restart
Weboberfläche
Supervisor enthält eine integrierte Weboberfläche zur Überwachung und Steuerung von Prozessen. Um sie zu aktivieren, kommentieren Sie den Abschnitt [inet_http_server] in der Konfigurationsdatei aus und passen Sie ihn an:
[inet_http_server]
port=127.0.0.1:9001
username=some_user_name
password=some_password
Ereignisüberwachung
Supervisor verfügt über einen integrierten Event-Listener-Mechanismus für den Empfang von Fehlerbenachrichtigungen. Hier ist eine Beispielkonfiguration, die einen Alarm auslöst, wenn der Speicherverbrauch einen Schwellenwert überschreitet:
[eventlistener:memmon]
command=memmon -a 200MB -m error@site.com
events=TICK_60
Hilfe
Bei Fragen oder wenn Sie Unterstützung brauchen, erreichen Sie uns jederzeit über das Ticketsystem — wir helfen Ihnen gern weiter!