eye を使って unicorn を監視、自動回復
背景
- Eye を Unicorn の自動回復(autohealing)のために利用
-
Eye
は monit
、Bluepill
、God
、supervisord
のようなプロセス監視ツール
- Eye は起動時とか、終了時とかの絵文字がかわいい!癒される。
- Eye は Ruby の DSL !便利!
- monit はちょっと独自すぎて抵抗が・・・
-
eye info
や eye watch
などもなかなか便利。使える!
- Eye を使って unicorn を管理してみた
Eyefile の例
Eyefile
# Eye 自身のログを保存
Eye.config do
logger __dir__ + "/log/eye.log"
end
rails_root = File.expand_path(__dir__)
Eye.application "MyApplication" do
working_dir rails_root
process "unicorn" do
load_env ".env"
unicorn_pid = "#{rails_root}/tmp/pids/unicorn.pid"
pid_file unicorn_pid
start_command %(sh -c '
./bin/unicorn -c config/unicorn.rb -E production -D;
')
# stop_signals [:QUIT, 10.seconds]
stop_command "kill -QUIT {PID}"
# graceful restart
restart_command %(sh -c '
kill -USR2 {PID}
until [ -f "#{unicorn_pid}.oldbin" ]; do
sleep 0.1
done
oldpid=$(cat #{unicorn_pid}.oldbin)
kill -WINCH $oldpid;
kill -QUIT $oldpid;
')
stdall "#{rails_root}/log/eye-unicorn.log"
end
end
利用手順
Eye の設定読み込み、Eye の設定に従って、起動
$ leye l
Eye started! ㋡
Config loaded!
Eye
は monit
、Bluepill
、God
、supervisord
のようなプロセス監視ツール- monit はちょっと独自すぎて抵抗が・・・
eye info
や eye watch
などもなかなか便利。使える!Eyefile
# Eye 自身のログを保存
Eye.config do
logger __dir__ + "/log/eye.log"
end
rails_root = File.expand_path(__dir__)
Eye.application "MyApplication" do
working_dir rails_root
process "unicorn" do
load_env ".env"
unicorn_pid = "#{rails_root}/tmp/pids/unicorn.pid"
pid_file unicorn_pid
start_command %(sh -c '
./bin/unicorn -c config/unicorn.rb -E production -D;
')
# stop_signals [:QUIT, 10.seconds]
stop_command "kill -QUIT {PID}"
# graceful restart
restart_command %(sh -c '
kill -USR2 {PID}
until [ -f "#{unicorn_pid}.oldbin" ]; do
sleep 0.1
done
oldpid=$(cat #{unicorn_pid}.oldbin)
kill -WINCH $oldpid;
kill -QUIT $oldpid;
')
stdall "#{rails_root}/log/eye-unicorn.log"
end
end
利用手順
Eye の設定読み込み、Eye の設定に従って、起動
$ leye l
Eye started! ㋡
Config loaded!
$ leye l
Eye started! ㋡
Config loaded!
㋡ は外国人からすると、顔文字に見えるらしい
leye
は eye コマンドの派生版。カレントディレクトリの Eyefile
を使い、
eye
の pid ファイルをカレントディレクトリの .eye/
に個別に管理する。
eye
だと $HOME/.eye/
に eye
の pid ファイルを保持する。
Eye の状況確認
$ leye i
MyApplication
unicorn ......................... starting
$ leye i
MyApplication
unicorn ......................... up (12:43, 0%, 79Mb, <3583>)
Eye の終了
$ leye q
Quit ಠ╭╮ಠ
クリッとした おめめ がかわいい
参考文献
Author And Source
この問題について(eye を使って unicorn を監視、自動回復), 我々は、より多くの情報をここで見つけました https://qiita.com/cuzic/items/1ac396f5b5f44c7e2ca7著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .