Supervisor Überwachung
Überwachen Sie jeden von Supervisor verwalteten Prozess – Status (`RUNNING`/`FATAL`), Laufzeit, unerwartete Beendigungen, Neustartschleifen und Exit-Codes – in Echtzeit. Agent-basiert über `supervisorctl`, mit einer Benachrichtigung, sobald ein Prozess den Status `FATAL` annimmt.
Warum überwachen Sie Supervisor?
Supervisor (`supervisord`) hält Ihre Hintergrundprozesse am Laufen – Celery- und Sidekiq-Worker, Gunicorn- und uWSGI-Anwendungsserver, Queue-Consumer und lang laufende Daemons. Nach `startretries` fehlgeschlagenen Neustartversuchen gibt es jedoch auf und versetzt den Prozess in den Status `FATAL`, wo er stillschweigend im nicht aktiven Zustand verbleibt. Die prozessspezifische Überwachung macht den Unterschied zwischen einer einzeiligen Warnmeldung und einer überfüllten Warteschlange, die stundenlang unbemerkt bleibt.
Überwachung durch den Vorgesetzten, erklärt
Die Supervisor-Überwachung umfasst die kontinuierliche Verfolgung des Status jedes von supervisord verwalteten Programms sowie die Ausgabe einer Warnmeldung, wenn ein Prozess den Zustand RUNNING verlässt. Supervisor ist hervorragend darin, einen abgestürzten Prozess neu zu starten – allerdings nur startretries Mal innerhalb von startsecs. Wird diese Grenze überschritten, wechselt der Prozess in den Status FATAL und Supervisor stellt weitere Versuche ein. Nichts anderes bemerkt dies: Der Host ist aktiv, der Daemon läuft, die Warteschlange wird lediglich nicht mehr abgearbeitet. Xitoring liest die Live-Prozestabelle über supervisorctl, verfolgt jedes Programm unabhängig und leitet sofort eine Warnmeldung an Ihren Bereitschaftsdienst weiter, sobald ein Worker in den Zustand FATAL wechselt, in einer BACKOFF-Schleife hängt oder mit einem unerwarteten Code beendet wird.
Was wir überwachen
Prozessstatus
Der aktuelle Status jedes Programms (`RUNNING`, `STARTING`, `BACKOFF`, `EXITED`, `FATAL`, `STOPPED`, `STOPPING`, `UNKNOWN`). Das mit Abstand wichtigste Supervisor-Signal – alles andere als `RUNNING` bei einem langlaufenden Worker ist ein Problem.
FATAL-Status
Ein Prozess, der die Grenze von `startretries` überschritten hat und vom Supervisor abgebrochen wurde. Er wird nicht von selbst neu gestartet. Jedes Programm im Status `FATAL` ist ein schwerwiegendes Signal, das eine Seite wert ist.
BACKOFF / Schleife neu starten
Ein Prozess, der immer wieder vor `startsecs` abstürzt und erneut gestartet wird. Ein anhaltender `BACKOFF` bedeutet, dass ein instabiler Worker bei jedem Neustart CPU-Leistung verschwendet und niemals Datenverkehr verarbeitet.
Betriebszeit (seit dem Start)
Wie lange jeder Prozess bereits seine aktuelle PID hält. Ein Worker, dessen Betriebszeit ständig zurückgesetzt wird, befindet sich stillschweigend in einer Crash-Schleife, auch wenn er zwischen den Neustarts kurzzeitig den Status `RUNNING` anzeigt.
Prozess-PID
Der aktuelle PID-Wert pro Programm aus `supervisorctl status`. Ist dieser Wert vorhanden, bestätigt dies, dass der Prozess tatsächlich läuft und nicht nur konfiguriert ist.
Code für den letzten Ausstieg
Der Exit-Status des letzten Durchlaufs. Vergleichen Sie diesen mit den `exitcodes` des Programms, um zwischen einem erwarteten Beenden und einem unerwarteten Absturz zu unterscheiden.
Ausgeführt vs. Konfiguriert
Anzahl der tatsächlich als `RUNNING` laufenden Prozesse im Vergleich zur angegebenen Anzahl (einschließlich `numprocs`). Zeigt auf einen Blick, welche Worker in einer Gruppe fehlen.
Unerwartete Abgänge
Beendet das Programm mit einem Code, der nicht in `exitcodes` enthalten ist, wenn `autorestart=unexpected` gesetzt ist. Dies sind Abstürze, die niemals hätten auftreten dürfen – ein Anstieg dieser Werte deutet auf eine Regression hin.
Zähler für Neustarts
Wie oft der jeweilige Prozess im Laufe der Zeit neu gestartet wurde. Eine stetige Neustartfrequenz bei einem Prozess, der eigentlich kontinuierlich laufen sollte, ist ein Frühwarnzeichen für Instabilität oder einen Speicherverlust.
Beendete Prozesse
Programme im Status `STOPPED` oder `EXITED`, die eigentlich laufen sollten. Erfasst einen Worker, der manuell gestoppt und vergessen wurde, oder einen, der beendet wurde, ohne automatisch neu zu starten.
Konfigurierbare Alarmauslöser
Richten Sie benutzerdefinierte Trigger in Ihrem Dashboard ein, um benachrichtigt zu werden, sobald die Kennzahlen von „Supervisor“ Ihre festgelegten Schwellenwerte überschreiten.

Prozess FATAL
entscheidendWird ausgelöst, wenn ein Prozess den Status `FATAL` erreicht – der Supervisor hat den Neustart aufgegeben, und der Prozess bleibt inaktiv, bis jemand eingreift.
Prozess läuft nicht
entscheidendWird ausgelöst, wenn ein Programm, das den Status `RUNNING` haben sollte, den Status `STOPPED`, `EXITED` oder `UNKNOWN` aufweist.
Schleife neu starten
WarnungWarnmeldungen bei anhaltendem `BACKOFF` oder wiederholten Neustarts – ein Worker, der ständig abstürzt und sich nie stabilisiert.
Unerwarteter Exit-Code
WarnungWird ausgelöst, wenn ein Prozess mit einem Code beendet wird, der nicht zu den konfigurierten `exitcodes` gehört.
Bedeutung von Überwachung durch den Vorgesetzten
Der Supervisor startet einen abgestürzten Prozess neu – bis er es nicht mehr tut. Nach `startretries` wird der Prozess in `FATAL` geparkt und bleibt dort, ohne dass der Host eine entsprechende Meldung ausgibt.
- Prozesse abfangen, bei denen ein `FATAL`-Fehler auftritt, und den Neustart unterbinden
- Erkennen von „flappenden“ Prozessoren, die in `BACKOFF`-Schleifen feststecken
- Stille Neustarts anhand der zurückgesetzten Betriebszeit erkennen
- Erkennen, wenn Mitarbeiter mit unerwarteten Codes das Unternehmen verlassen


Warum sich für uns entscheiden? Xitoring
Agentenbasierte Überwachung durch „Supervisor“ mit Zero-Config-Einrichtung und prozessspezifischer Transparenz für jedes von „supervisord“ verwaltete Programm.
- Installation und Integration mit einem einzigen Befehl
- Verfolgung nach Prozess und nach Gruppe
- Es gibt keine XML-RPC- oder HTTP-Schnittstelle, die bereitgestellt werden könnte
- Mehrkanal-Benachrichtigungen für Ihren Bereitschaftsdienstplan
- Historischer Status und Neustartverlauf


Überwachung durch den gemeinsamen Betreuer Szenarien
Wo Supervisor normalerweise läuft – und was unbemerkt fehlschlägt, wenn niemand hinschaut.
Hintergrundprozesse (Celery, Sidekiq, RQ, Resque)
Queue-Worker sind genau jene Prozesse, die still und leise abstürzen – eine fehlerhafte Bereitstellung oder eine fehlerhafte Nachricht versetzt sie in eine Neustartschleife, gefolgt von einem FATAL. Wir lösen eine Warnmeldung aus, sobald ein Worker nicht mehr läuft, noch bevor es zu einem Stau in der Warteschlange kommt und Jobs das Zeitlimit überschreiten.
Anwendungsserver und Daemons (Gunicorn, uWSGI, Daphne, Node)
Wenn Supervisor Ihren Anwendungsserver verwaltet, bedeutet ein Prozess, der nach einer Bereitstellung nicht startet, dass die Website ausgefallen ist, obwohl der Hoststatus weiterhin „grün“ ist. Wir erkennen FATAL- und BACKOFF-Fehler sofort, sodass bei einer fehlgeschlagenen Bereitstellung sofort jemand benachrichtigt wird, anstatt auf eine Meldung des Kunden zu warten.
Prozesse in Containern und auf älteren Hosts
In vielen Containern und älteren Servern wird Supervisor anstelle von systemd eingesetzt, um mehrere Prozesse an einem Ort am Laufen zu halten. Wir überwachen jeden Prozess einzeln, damit ein einzelner abgestürzter Prozess in einem stark ausgelasteten Container nicht hinter den anderen verborgen bleibt.
Voraussetzungen für Supervisor
Stellen Sie sicher, dass diese Punkte erfüllt sind — danach ist die Installation eine Sache von 60 Sekunden.
- Ein Linux-Server, auf dem Supervisor (
supervisord) installiert ist und der mindestens ein Programm verwaltet - Xitogent ist auf demselben Host installiert, sodass der Befehl
supervisorctl statusausgeführt werden kann - Führen Sie den Befehl
sudo xitogent integrateaus und wählen Sie die Supervisor-Integration aus.
Erste Schritte in Minuten
Installieren Sie Xitogent auf Ihrem Server
Installieren Sie den ressourcenschonenden Xitogent-Überwachungsagenten auf dem Host, auf dem Supervisor ausgeführt wird.
curl -s https://xitoring.com/install.sh | sudo bash -s -- --key=YOUR_API_KEYSupervisor-Integration aktivieren
Führen Sie den Befehl `sudo xitogent integrate` aus und wählen Sie „Supervisor“ aus. Xitogent erstellt die Datei `/etc/xitogent/integrations/supervisor_integration.conf`, liest die Prozesstabelle über `supervisorctl` aus und erkennt automatisch alle Programme und Gruppen unter `supervisord` – es sind keine Änderungen an der Supervisor-Konfiguration erforderlich.
sudo xitogent integrateTrigger konfigurieren (optional)
Legen Sie im Xitoring-Dashboard prozessspezifische Trigger und Schweregrade fest – beispielsweise eine Benachrichtigung, sobald ein Prozess den Status `FATAL` erreicht, sowie eine Warnung bei anhaltendem `BACKOFF` oder einem unerwarteten Exit-Code –, damit Fehler den Bereitschaftsdienst erreichen, bevor sich die Warteschlange staut.
Funktion überprüfen
Führen Sie diesen Befehl auf dem Server aus, um zu bestätigen, dass Xitogent die Integration erkannt hat. Innerhalb von etwa 30 Sekunden werden frische Metriken in Ihr Dashboard gestreamt.
sudo xitogent statusErwägen Sie Alternativen?
Sehen Sie, wie sich Xitoring gegen die Alternativen für Supervisor-Monitoring schlägt — Pauschalpreise, tiefere Integrationen und ein Agent, der Ihren gesamten Stack abdeckt.
Häufig gestellte Fragen
Was versteht man unter Supervisor-Überwachung?
Wie erfasst Xitoring Daten von Vorgesetzten?
Wie richte ich die Supervisor-Integration ein?
Was bedeuten die Prozesszustände des Supervisors?
Was bedeutet der Status „FATAL“ und warum ist er von Bedeutung?
Wie kann ich eine Neustartschleife des Supervisors erkennen?
Was ist der Unterschied zwischen „autorestart true“, „false“ und „unexpected“?
Kann ich mehrere Prozesse und Prozessgruppen überwachen?
Supervisor vs. systemd – warum sollte man gerade Supervisor überwachen?
Supervisor überwachen heute
In weniger als 60 Sekunden eingerichtet. Keine Kreditkarte erforderlich. Umfassende Kennzahlen vom ersten Tag an.
Kostenlose Testversion startenEntdecke weiter




