Icon kobu medium
Kota Miyake

monitを導入する

仕事でも触る機会があったmonitを自分でも使ってみることにしました。

サーバーにmonitが入っていなかったのでインストールするところから。

capistrano-pumaには、既にmonit用のタスクがあるようなのでそちらを使ってみました。

ただ、capistrano-pumaのバグやmonitをsudo権限で動かさないといけない関係上、色々とハマりました。。。

まずはcapistrano-puma自体が最初のデプロイにちゃんと対応できていなかったようです。

そのため、まだmonitで監視を始めていないのにunmonitorを実行としようとしてエラーになってしまいました。

この問題はmasterでは修正されているようです。

https://github.com/seuros/capistrano-puma/commit/373f03a82c16195938cf4b9b06b3b9c3ed52b0b5

仕方がないので、以下の手順で初回の設定を行いました。

1. ローカルでタスクを実行(bundle exec cap production puma:monit:config)して設定ファイルをアップロード

2. 手動でmonitをリロードして監視を開始

設定ファイルの移動とmonitの起動にsudo権限が必要だったのでvisudoでデプロイユーザーがパスワード無しでコマンドを実行できるよう設定しました。(mvの権限は設定ファイル設置後に削除)

とりあえず、これでmonitでpumaのプロセス監視ができるようになりました。