目次
Supervisorインストール
まずはeasy_installを使ってsupervisorをインストールします。
$ sudo easy_install supervisor
もし、「コマンドが見つかりません」と表示された場合は、まだeasy_installがインストールされていない状態ですので、easy_installをインストールしましょう。
$ sudo yum install python-setuptools
Supervisorのコンフィグ編集
Supervisorのコンフィグファイルを作成します。
$ echo_supervisord_conf > /etc/supervisord.conf
Supervisorの設定を修正していきます。
編集するファイルは/etc/supervisord.confです。
ログ出力先、pidの生成先、includeの設定を修正していきます。
まずは、Supervisordのログファイルの出力先を変更します。
デフォルトでは/tmp/supervisord.logと設定されているものを、
/var/log/supervisor/supervisord.logに変更します。
~~~略~~~ [supervisord] ;logfile=/tmp/supervisord.log logfile=/var/log/supervisor/supervisord.log ~~~略~~~
log rotationの設定を行います。
$ sudo sh -c "echo '/var/log/supervisor/*.log { missingok weekly notifempty nocompress }' > /etc/logrotate.d/supervisor"
次に、pidファイルの生成先を/tmp/suprvisord.pidから/var/run/supervisord.pidに変更します。
~~~略~~~ [supervisord] ~~~略~~~ ;pidfile=/tmp/supervisord.pid pidfile=/var/run/supervisord.pid ~~~略~~~
digdagの設定ファイルを/etc/supervisord.dに格納したいので、includeの設定を有効にします。
~~~略~~~ [include] ;コメントアウトを解除する ;files = relative/directory/*.ini files = supervisord.d/*.ini
設定を編集しましたが、まだ存在しないディレクトリもあるので、作成していきます。
作成するディレクトリは下記の通りです。
/var/log/supervisor
/var/log/supervisor/jobs
$ mkdir /var/log/supervisor $ mkdir /var/log/supervisor/jobs
Supervisor本体のシステムサービス登録
sudo curl -o /etc/rc.d/init.d/supervisord https://raw.githubusercontent.com/Supervisor/initscripts/master/redhat-init-equeffelec sudo chmod 755 /etc/rc.d/init.d/supervisord sudo chkconfig --add supervisord
digdag serverプロセスの登録
[program:digdag] directory=/home/hoge/digdag command= sh /home/hoge/bin/digdag server --config server.properties -b 0.0.0.0 user=hoge autorestart=true stdout_logfile=/var/log/supervisor/jobs/digdag-supervisord.log stdout_logfile_maxbytes=1MB stdout_logfile_backups=5 stdout_capture_maxbytes=1MB redirect_stderr=true
Supervisorを起動する
$ sudo service supervisord start