Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Mackerel Day#2 チェック監視が救う!!エンジニア0カンパニー

1,240 views

Published on

LT資料です

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Mackerel Day#2 チェック監視が救う!!エンジニア0カンパニー

  1. 1. チェック監視が救う!! エンジニア0カンパニー 株式会社モンスター・ラボ 国平清貴(id: kuchitama)
  2. 2. I'am Kuchitama 現職: 株式会社モンスター・ラボ ソーシャルゲーム開発やったあと、スタートアップ2社を経 て、現職 フルスタック(=器用貧乏)エンジニア スマフォアプリ、サーバサイド、AWSインフラ
  3. 3. https://monstar-lab.com/
  4. 4. Excuse このプレゼン内容は過去の職場でのできごとであり、現職とは一 切関係ありません 前職わかっても一応お口チャックでお願いします
  5. 5. 前職 シード期スタートアップ エンジニアが3人 … エンジニアが2人 … エンジニアが1人 ( <- It’s me … エンジニアが...
  6. 6. 前職 シード期スタートアップ 事業規模的にはよくあること s/会社/プロジェクト/ だとありえない状況でもない(かも?) 結局は、運用フェーズのエンジニアリソースを いかに削減するかという課題
  7. 7. 運用省力化/自動化
  8. 8. 運用自動化、を低コストで エンジニアの介入を減らす、をサクッとやりたい - ダッシュボード構築、データ分析 - Metabase - オンデマンドな処理のChatOps化 - Heroku - Hubot - バッチ自動化 - Digdag - 監視 - Mackerel - リスク対策
  9. 9. リスク対策 とりあえず、やること決まってる場合も多い 例えば、 - アクセス急増 - - バッチ失敗 - - サーバプロセス停止 -
  10. 10. リスク対策 とりあえず、やること決まってる場合も多い 例えば、 - アクセス急増 - オートスケール - バッチ失敗 - リトライ処理 - サーバプロセス停止 - プロセス再起動
  11. 11. リスク対策 とりあえず、やること決まってる場合も多い 例えば、 - アクセス急増 - オートスケール - バッチ失敗 - リトライ処理 - サーバプロセス停止 - プロセス再起動
  12. 12. サクッとやりたい
  13. 13. チェック監視! のActionだ!!
  14. 14. 例えばバッチ処理
  15. 15. https://gist.github.com/Kuchitama/199d91852614a0ba79a79a3d6514b70d
  16. 16. もしプロセスが 落ちたら。。。
  17. 17. 設定Tips
  18. 18. 押さえておきたい - Actionの突き抜け対策 - タイムアウトに注意 - タイムアウト時にaction処理が中断されないように - タイムアウト時にaction処理の多重実行を防ぐ - (check-procプラグイン) pidfileからprocess id を取得
  19. 19. Actionの突き抜け対策 - タイムアウトに注意 https://mackerel.io/ja/docs/entry/custom-checks - timeout_seconds - action.timeout_seconds - タイムアウトを超える可能性があれば、 - actionが中断されないように - setsidで新規セッションを作成 - nohupだと中断される
  20. 20. Actionの突き抜け対策 - タイムアウトを超える可能性があれば、 - action処理の多重実行を防ぐ - MACKEREL_STATUSは必ずチェック if [ ! -z "$MACKEREL_STATUS" ] && [ ! "$MACKEREL_STATUS" = 'OK' ]; then setsid sudo scripts/process.sh restart; fi
  21. 21. Actionの突き抜け対策 - タイムアウトを超える可能性があれば、 - action処理の多重実行を防ぐ - プロセスを確認 cnt=$(ps alx | grep `basename $0` | grep -v grep | wc -l) if [[ $cnt -gt 0 ]]; then echo "${fname} is already running" exit 1 fi
  22. 22. pidfileからprocess id を取得 - check-proc プラグイン使う場合 - unicornとかpidファイルが作られる系の場合 check-procs --file-pid=$(cat /hoge_pid || echo 0) - || echo 0 しないと、hoge_pidが存在しないときにNGになら ない
  23. 23. Mackerelを活用して 運用を省力化
  24. 24. まとめ - 運用省力化したい時のピタゴラスイッチの一つにMackerel を! - 極論、エンジニア0人でも結構回せる - 実際回せてる
  25. 25. 参考資料 - Digdag スクリプト https://gist.github.com/Kuchitama/199d91852614a0ba79a79a3d6514b70d - チェック監視項目を追加する https://mackerel.io/ja/docs/entry/custom-checks - 技術/UNIX/なぜnohupをバックグランドジョブとして起動す るのが定番なのか?(擬似端末, Pseudo Terminal, SIGHUP 他) https://www.glamenv-septzen.net/view/854 -

×