# 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:

<div id="bkmrk-%2Fetc%2Fsupervisor%2Fconf"><div><dl class="code"><dt>/etc/supervisor/conf.d/graylog2-server.conf</dt><dd>```
[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
```

</dd></dl><dl class="code"><dt>/etc/supervisor/conf.d/graylog2-web-interface.conf</dt><dd>```
[program:graylog2webinterface]
command=/opt/graylog2-web-interface/bin/graylog2-web-interface
directory=/opt/graylog2-web-interface
startsecs=60
user=graylog2
```

</dd></dl></div></div>In der supervisord.conf waren keine weiteren Anpassungen notwendig.

Supervisor bietet eine Shell, über die man konfigurierte Dienste starten, stoppen, neustarten, usw. kann.

<div id="bkmrk-%23-supervisorctl-gray">```
# 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
```

</div>