Graylog-Services per Supervisord starten und überwachen
Um Graylog ohne eigenes Initscript starten und überwachen zu können setze ich das in Python geschriebene Tool Supervisor ein. Ähnlich wie monit kann es Dienste überwachen und bei Problemen neu starten.
Die Konfiguration für Graylog sieht so aus:
- /etc/supervisor/conf.d/graylog2-server.conf
-
[program:graylog2server] command=/usr/bin/java -jar graylog2-server.jar -f /etc/graylog2.conf -p /tmp/graylog2.pid directory=/opt/graylog2-server startsecs=60 user=graylog2
- /etc/supervisor/conf.d/graylog2-web-interface.conf
-
[program:graylog2webinterface] command=/opt/graylog2-web-interface/bin/graylog2-web-interface directory=/opt/graylog2-web-interface startsecs=60 user=graylog2
In der supervisord.conf waren keine weiteren Anpassungen notwendig.
Supervisor bietet eine Shell, über die man konfigurierte Dienste starten, stoppen, neustarten, usw. kann.
# supervisorctl graylog2server RUNNING pid 3264, uptime 23 days, 0:31:19 graylog2webinterface RUNNING pid 2238, uptime 23 days, 0:32:21 supervisor> stop graylog2webinterface graylog2webinterface: stopped supervisor> stop graylog2server graylog2server: stopped supervisor> status graylog2server STOPPED Aug 27 10:22 AM graylog2webinterface STOPPED Aug 27 10:22 AM