CentOS6でDigdag ServerをDaemon化する

目次

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

この記事が気に入ったら
フォローしてね!

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次