Monit & Supervisord Tips

4,422 views

Published on

監視ツール勉強会 #2

Published in: Technology, Business
0 Comments
6 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
4,422
On SlideShare
0
From Embeds
0
Number of Embeds
1,302
Actions
Shares
0
Downloads
14
Comments
0
Likes
6
Embeds 0
No embeds

No notes for slide
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • Monit & Supervisord Tips

    1. 1. 監視ツール勉強会-第2回 プロセス自動再起動ツール編-Wed, 18, 2012 @HEART BEATS Corp.Naoya Nakazawa a.k.a @n0ts
    2. 2. 自己紹介
    3. 3. 自己紹介Naoya Nakazawa@n0tshttp://www.sssg.org/blogs/naoya/(ブログ)フリーランサー
    4. 4. MONIT編
    5. 5. http://mmonit.com/monit/MONIT
    6. 6. 特長設定ファイルが非常に書きやすいシンプル、かつシンプル、でかつシンプルアイコンが、かわゆい☆
    7. 7. 僕とMONITの出会い
    8. 8. http://mmonit.com/monit/dist/CHANGES.txtMONIT変更履歴
    9. 9. MONITでやっていること アプリケーションウェブサーバでしばらく応答が ないとき再起動している
    10. 10. 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"
    11. 11. myhttpd.sh Passenger+RACKなアプリケーションなので、プロ セスをkillしてから起動するシェルスクリプト
    12. 12. 最近の変更点
    13. 13. 5.2pidファイルなしでもプロセス管理可能に!check process debian matching "/usr/lib/vmware/bin/vmware-vmx .*deb.vmx"スワップサイズが管理可能に!check system myserver if swap usage > 25% then alertMemcachedプロトコルのテストが可能に!‘check system’が、start/stop programステートメントに記述可能に!メールフォーマットにReply-Toを設定ができるように!
    14. 14. 5.2.3MySQLプロトコルテストで、MySQL 5.5以上をサポート!
    15. 15. 5.2.4“procmatch”を追加!これにマッチしているプロセスのテストがコマンドラインから可能に!$ monit procmatch “HogeAgent”メモリの使用量が10%くらい減った
    16. 16. 5.2.5MONIT設定ファイルにシンボリックリンクをサポート!
    17. 17. 5.3‘check program’の新しい構文を追加! MONITから実行された外部プログラムの終了コー ドをチェックすることができるcrontabスタイルもサポート!接続の試行回数オプションを追加!
    18. 18. 5.4プロセスの起動時間のテストを追加!
    19. 19. おまけ -Supervisord Tips-
    20. 20. コマンドを複数行で書く方法/etc/supervisor/conf.d/hoge.conf[program:hoge]command=/usr/bin/hoge--param1 1--param2numprocs=1autostart=trueautorestart=trueuser=n0tsredirect_stderr=truestdout_logfile=/home/n0ts/var/log/hoge.log
    21. 21. ログのローテションログは、stdout_logfile_maxbytes設定サイズごとにしかローテーションしてくれない(はず)1日単位でログローテーションするときは、logrotate.dに設定すると便利
    22. 22. 具体的な例/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}
    23. 23. Enjoy, Thanks!

    ×