Podtrzymywanie procesów z użyciem narzędzia Supervisor

Podtrzymywanie procesów z użyciem narzędzia Supervisor

Ciągłość pracy aplikacji to bardzo istotna kwestia która pozwala świadczyć usługi na wysokim poziomie. Narzędzie Supervisor to rozwiązanie którego zadaniem jest monitoring podległych procesów w systemach z rodziny UNIX/Linux i w momencie kiedy jeden z nich przestanie działać uruchomienie go ponownie. Z tego artykułu dowiesz się w jaki sposób wykorzystać narzędzie Supervisor w praktyce do podtrzymywania procesu serwera poczty elektronicznej – Apache James. Zanim zaczniesz czytać ten wpis polecam zapoznać się z artykułem gdzie opisane jest w jaki sposób uruchomić swój własny serwer pocztowy – Apache James – https://javaleader.pl/2019/06/16/apache-james-wlasny-serwer-pocztowy/.

Instalacja:

sudo apt-get install supervisor

Edycja pliku supervisord.conf:

/etc/supervisor/supervisord.con
[program:apache-james]
priority=1
autostart=true
autorestart=true
directory=../../james-server-app-3.1.0/bin/
command=sudo nohup ./run.sh &
stderr_logfile= ../../supervisor_log/apache-james.log
  • autostart – czy program ma być uruchomiony po tym jak Supervisor zostanie uruchomiony?,
  • autorestart – czy program ma być uruchomiony ponownie kiedy się zakończy?,
  • directory – wskazuje katalog w którym ma być wykonane polecenie zdefiniowane przez parametr command,
  • command – polecenie do wykonania w katalogu – directory,
  • stderr_logfile – wskazuje plik gdzie zapisywane są logi.

Uruchomienie narzędzia Supervisor:

sudo service supervisor restart

Weryfikacja poprawności działania:

  • sprawdzamy czy proces poczty elektronicznej działa:
sudo lsof -n -i :PORT
  • niszczymy proces:
kill -9 PID
sudo lsof -n -i :PORT
  • sprawdzamy czy proces mimo jego zniszczenia został ponownie uruchomiony:
sudo lsof -n -i :PORT

w katalogu:

/var/log/supervisor

znajduje się plik z logami:

supervisord.log

Mimo tego, że proces został zniszczony narzędzie Supervisor prawidłowo uruchomiło ponownie proces. Od tej pory można być spokojnym o ciągłość pracy poczty elektronicznej!

Leave a comment

Your email address will not be published.


*