LoginSignup
6
5

More than 5 years have passed since last update.

monit のデバッグ

Posted at

Rails3 で resque を使う #2 - worker を daemon として起動し、monit で監視

ここにあるような「resque + daemon-spawn <-- monit」の環境を作成してたんだけど、resque + daemon-spawn のプロセスを kill しても monit からの再起動に失敗していて困ってました。
何が困っていたかというと monit のログには「failed to start」としか出てなくてですね・・・何がどう悪いのか全く掴めなかったわけです。
どうにかデバッグ出来ないものかと調べていて下記を見つけました。

Debugging monit

もろもろの情報を吐き出すスクリプトを作成して、それを monit に噛ませればデバッグ情報が取得できるよ、とあったのでそのようにしてみました。

monit-wrapper.sh
#!/bin/sh
{
  echo "MONIT-WRAPPER date"
  date
  echo "MONIT-WRAPPER env"
  env
  echo "MONIT-WRAPPER $@"
  $@
  R=$?
  echo "MONIT-WRAPPER exit code $R"
} >/tmp/monit.log 2>&1
monit.conf
start program = "/home/xxx/monit-wrapper.sh ..."

もろもろの情報を出力してみると、どうやら環境変数 HOME が設定されていないのが原因っぽかったので、それを設定してあげることで無事 monit から起動できるようになりました。
monit のデバッグは大変だな。。。

6
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
5