SlideShare a Scribd company logo
1 of 24
監視ツール勉強会
-第2回 プロセス自動再起動ツール編-
Wed, 18, 2012 @HEART BEATS Corp.
Naoya Nakazawa a.k.a @n0ts
自己紹介
自己紹介

Naoya Nakazawa
@n0ts
http://www.sssg.org/blogs/naoya/(ブログ)

フリーランサー
MONIT編
http://mmonit.com/monit/
MONIT
特長


設定ファイルが非常に書きやすい

シンプル、かつシンプル、でかつシンプル

アイコンが、かわゆい☆
僕とMONITの出会い
http://mmonit.com/monit/dist/CHANGES.txt
MONIT変更履歴
MONITでやっていること

 アプリケーションウェブサーバでしばらく応答が
 ないとき再起動している
check process httpd with pidfile /var/run/httpd.pid
   start program = "/etc/init.d/httpd start"

   stop program = "/etc/init.d/httpd stop"

   if failed port 80 protocol http

     and request "/healthcheck" hostheader 'status.example.jp'

     timeout 10 seconds

     for 6 cycles then exec "/usr/sbin/myhttpd.sh restart"
myhttpd.sh

 Passenger+RACKなアプリケーションなので、プロ
 セスをkillしてから起動するシェルスクリプト
最近の変更点
5.2
pidファイルなしでもプロセス管理可能に!

check process debian

 matching "/usr/lib/vmware/bin/vmware-vmx .*deb.vmx"

スワップサイズが管理可能に!

check system myserver

 if swap usage > 25% then alert

Memcachedプロトコルのテストが可能に!

‘check system’が、start/stop programステートメントに記述可能に!

メールフォーマットにReply-Toを設定ができるように!
5.2.3


MySQLプロトコルテストで、MySQL 5.5以上をサ
ポート!
5.2.4

“procmatch”を追加!これにマッチしているプロセス
のテストがコマンドラインから可能に!

$ monit procmatch “HogeAgent”
メモリの使用量が10%くらい減った
5.2.5


MONIT設定ファイルにシンボリックリンクをサポー
ト!
5.3

‘check program’の新しい構文を追加!

  MONITから実行された外部プログラムの終了コー
  ドをチェックすることができる

crontabスタイルもサポート!

接続の試行回数オプションを追加!
5.4



プロセスの起動時間のテストを追加!
おまけ -Supervisord Tips-
コマンドを複数行で書く方法
/etc/supervisor/conf.d/hoge.conf
[program:hoge]
command=/usr/bin/hoge
--param1 1
--param2
numprocs=1
autostart=true
autorestart=true
user=n0ts
redirect_stderr=true
stdout_logfile=/home/n0ts/var/log/hoge.log
ログのローテション

ログは、stdout_logfile_maxbytes設定サイズごとにし
かローテーションしてくれない(はず)

1日単位でログローテーションするときは、
logrotate.dに設定すると便利
具体的な例
/etc/logrotate.d/hoge
/home/n0ts/var/log/hoge.log {
    rotate 7
    daily
    notifempty
    missingok
    sharedscripts
    postrotate
      /usr/bin/supervisorctl restart hoge > /dev/null
    endscript
}
Enjoy, Thanks!

More Related Content

Similar to Monit & Supervisord Tips

かんたん Twitter アプリをつくろう
かんたん Twitter アプリをつくろう かんたん Twitter アプリをつくろう
かんたん Twitter アプリをつくろう
Shuhei Iitsuka
 
iOS 8 Widget ~ 導入から Tips まで
iOS 8 Widget ~ 導入から Tips までiOS 8 Widget ~ 導入から Tips まで
iOS 8 Widget ~ 導入から Tips まで
Yuki Tanabe
 
20141111 明日の認証会議資料(寺田)
20141111 明日の認証会議資料(寺田)20141111 明日の認証会議資料(寺田)
20141111 明日の認証会議資料(寺田)
マジセミ by (株)オープンソース活用研究所
 
Maven2 プラグイン入門
Maven2 プラグイン入門Maven2 プラグイン入門
Maven2 プラグイン入門
guestd4898b
 
130329 02
130329 02130329 02
130329 02
openrtm
 

Similar to Monit & Supervisord Tips (20)

XP祭り2013-LT-Codeer
XP祭り2013-LT-CodeerXP祭り2013-LT-Codeer
XP祭り2013-LT-Codeer
 
future-study on 2012.09.22 #metacon
future-study on 2012.09.22 #metaconfuture-study on 2012.09.22 #metacon
future-study on 2012.09.22 #metacon
 
Native modules and ui components
Native modules and ui componentsNative modules and ui components
Native modules and ui components
 
かんたん Twitter アプリをつくろう
かんたん Twitter アプリをつくろう かんたん Twitter アプリをつくろう
かんたん Twitter アプリをつくろう
 
20120520 App Inventor in user meeting
20120520 App Inventor in user meeting20120520 App Inventor in user meeting
20120520 App Inventor in user meeting
 
はじめてのTeam Foundation ServerとVisual Studio Online
はじめてのTeam Foundation ServerとVisual Studio OnlineはじめてのTeam Foundation ServerとVisual Studio Online
はじめてのTeam Foundation ServerとVisual Studio Online
 
OData って何?
OData って何?OData って何?
OData って何?
 
iOS 8 Widget ~ 導入から Tips まで
iOS 8 Widget ~ 導入から Tips までiOS 8 Widget ~ 導入から Tips まで
iOS 8 Widget ~ 導入から Tips まで
 
20141111 明日の認証会議資料(寺田)
20141111 明日の認証会議資料(寺田)20141111 明日の認証会議資料(寺田)
20141111 明日の認証会議資料(寺田)
 
hktstudy 201206 「私だってやれば出来る子!♥Multi-Mechanize♥」
hktstudy 201206 「私だってやれば出来る子!♥Multi-Mechanize♥」hktstudy 201206 「私だってやれば出来る子!♥Multi-Mechanize♥」
hktstudy 201206 「私だってやれば出来る子!♥Multi-Mechanize♥」
 
賢くツールを使って脱人海戦術駆動テスト
賢くツールを使って脱人海戦術駆動テスト賢くツールを使って脱人海戦術駆動テスト
賢くツールを使って脱人海戦術駆動テスト
 
choreonoid_ros_control を実装した話
choreonoid_ros_control を実装した話choreonoid_ros_control を実装した話
choreonoid_ros_control を実装した話
 
Cod2012 Room T-1
Cod2012 Room T-1Cod2012 Room T-1
Cod2012 Room T-1
 
Maven2 プラグイン入門
Maven2 プラグイン入門Maven2 プラグイン入門
Maven2 プラグイン入門
 
130329 02
130329 02130329 02
130329 02
 
すごいタスク管理(仮)
すごいタスク管理(仮)すごいタスク管理(仮)
すごいタスク管理(仮)
 
delayed_jobの自動再起動
delayed_jobの自動再起動delayed_jobの自動再起動
delayed_jobの自動再起動
 
ラズパイ × Bluemix IoTハンズオンセミナー
ラズパイ × Bluemix IoTハンズオンセミナーラズパイ × Bluemix IoTハンズオンセミナー
ラズパイ × Bluemix IoTハンズオンセミナー
 
potatotips (iOS/Android開発Tips共有会) 第19回 資料
potatotips (iOS/Android開発Tips共有会) 第19回 資料potatotips (iOS/Android開発Tips共有会) 第19回 資料
potatotips (iOS/Android開発Tips共有会) 第19回 資料
 
Pythonで始めるtoC向けWebサービス入門
Pythonで始めるtoC向けWebサービス入門Pythonで始めるtoC向けWebサービス入門
Pythonで始めるtoC向けWebサービス入門
 

More from Naoya Nakazawa

ぼくがかんがえたさいきょうの☆きっくすたーと☆
ぼくがかんがえたさいきょうの☆きっくすたーと☆ぼくがかんがえたさいきょうの☆きっくすたーと☆
ぼくがかんがえたさいきょうの☆きっくすたーと☆
Naoya Nakazawa
 
データセンター移行に伴い、 MySQLをカジュアルにアップグレードしたお話
データセンター移行に伴い、 MySQLをカジュアルにアップグレードしたお話データセンター移行に伴い、 MySQLをカジュアルにアップグレードしたお話
データセンター移行に伴い、 MySQLをカジュアルにアップグレードしたお話
Naoya Nakazawa
 
fastcgi_conf and mime_types
fastcgi_conf and mime_typesfastcgi_conf and mime_types
fastcgi_conf and mime_types
Naoya Nakazawa
 
Study2study#4 nginx conf_1_24
Study2study#4 nginx conf_1_24Study2study#4 nginx conf_1_24
Study2study#4 nginx conf_1_24
Naoya Nakazawa
 

More from Naoya Nakazawa (17)

お手軽に使おう Alibaba Cloud - OSS 編 -
お手軽に使おう Alibaba Cloud - OSS 編 -お手軽に使おう Alibaba Cloud - OSS 編 -
お手軽に使おう Alibaba Cloud - OSS 編 -
 
DATADOG TIPS #1
DATADOG TIPS #1DATADOG TIPS #1
DATADOG TIPS #1
 
kumogata-template の紹介
kumogata-template の紹介kumogata-template の紹介
kumogata-template の紹介
 
はじめての Gatling
はじめての Gatlingはじめての Gatling
はじめての Gatling
 
はじめての datadog
はじめての datadogはじめての datadog
はじめての datadog
 
ぼくがかんがえたさいきょうの☆きっくすたーと☆
ぼくがかんがえたさいきょうの☆きっくすたーと☆ぼくがかんがえたさいきょうの☆きっくすたーと☆
ぼくがかんがえたさいきょうの☆きっくすたーと☆
 
データセンター移行に伴い、 MySQLをカジュアルにアップグレードしたお話
データセンター移行に伴い、 MySQLをカジュアルにアップグレードしたお話データセンター移行に伴い、 MySQLをカジュアルにアップグレードしたお話
データセンター移行に伴い、 MySQLをカジュアルにアップグレードしたお話
 
/etc/rc.d配下とかのリーディング勉強会
/etc/rc.d配下とかのリーディング勉強会/etc/rc.d配下とかのリーディング勉強会
/etc/rc.d配下とかのリーディング勉強会
 
fastcgi_conf and mime_types
fastcgi_conf and mime_typesfastcgi_conf and mime_types
fastcgi_conf and mime_types
 
Study2study#4 nginx conf_1_24
Study2study#4 nginx conf_1_24Study2study#4 nginx conf_1_24
Study2study#4 nginx conf_1_24
 
mod_security introduction at study2study #3
mod_security introduction at study2study #3mod_security introduction at study2study #3
mod_security introduction at study2study #3
 
httpd.conf line 1 to 7, 24
httpd.conf line 1 to 7, 24httpd.conf line 1 to 7, 24
httpd.conf line 1 to 7, 24
 
puppet @techlifecookpad
puppet @techlifecookpadpuppet @techlifecookpad
puppet @techlifecookpad
 
zsh最強シェル入門読書会1
zsh最強シェル入門読書会1zsh最強シェル入門読書会1
zsh最強シェル入門読書会1
 
Velocity Report 2009
Velocity Report 2009Velocity Report 2009
Velocity Report 2009
 
Mac Ports
Mac PortsMac Ports
Mac Ports
 
STL
STLSTL
STL
 

Monit & Supervisord Tips

Editor's Notes

  1. \n
  2. \n
  3. \n
  4. \n
  5. \n
  6. \n
  7. \n
  8. \n
  9. \n
  10. \n
  11. \n
  12. \n
  13. \n
  14. \n
  15. \n
  16. \n
  17. \n
  18. \n
  19. \n
  20. \n
  21. \n
  22. \n
  23. \n
  24. \n