Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Mackerel MeetUp #10用発表資料

mdadm
April 27, 2017

Mackerel MeetUp #10用発表資料

前回LT内容のブラッシュアップ(;゚∀゚)=3

mdadm

April 27, 2017
Tweet

More Decks by mdadm

Other Decks in Business

Transcript

  1. . Operation System 3 エムティーアイとAzureの歴史 Windows Serverと RHELが混在 Web Server

    殆どがASP (.NET)と Javaアプリケーション Middleware MySQLやPostgreSQLは 殆ど採用されなかった Azure化以前
  2. . Cloud Service WebRole 4 エムティーアイとAzureの歴史 主要機能を.NET MVC アプリケーションに置き換え クラウド化のためにJavaをC#に移行

    クラウド移行 iRuleを必須とするアプリ 主にガラケーコンテンツで User-Agent毎の細かい制御が必要 オンプレ残留 Tomcat・Java実装群 サービス単位で作り変えの工数 が多すぎると判断されたもの ミッションクリティカルなDB クラウド化検討時、 SQL Azureが現在ほど安定 しておらず、ひと月に 1~2回はダウンが発生していた (平均30秒、最大60秒程度) BLOB 静的コンテンツ PaaS Diagnostics Table Storage トークン情報や パフォーマンスカウンタ SQL Azure SQL Server Onpremise からの移行
  3. . 9 それでもMackerelを選ぶ インフラの ヘテロ化 サービスの マイクロ化 従来ツール群 の限界 アジャイルの浸透とリリース

    サイクルの高速化で、 クラウドサービスが乱立 開発者が使いたいツールが 選択されていくことで 利用サービスが分散 設計の多様化でニーズに 合致した運用サービスが提 供できていない 性能低下やFaultをただ通知するだけでなく 多様化する環境を俯瞰的に管理することができる クラウドパフォーマンス管理ツールが必要になった
  4. . ServiceDefinition.cscfgをゴニョる デプロイのWindows Serverプロビジョニング段階で インストーラーが起動するようにプロジェクトを構成 11 クラウドサービスへの導入 サービス構成分離の対応 非商用環境でも検証するために ビルド構成に応じてインストール

    の要否とロードするconfigを変更 Workerロールのログ監視 log-checkプラグインを使用して アプリケーションログを監視 (公式バンドルされるよりも以前に 公式プラグインを自前ビルドして 使用)
  5. . AUTO_RETIREMENT=1が効かない! Windows環境ではmackerel-agent.confで 使えない(動作しない)設定があることがわかる 12 Scale-In・Reconfigurationで /usr/local/bin/mkr retire --force $(/usr/local/bin/mkr

    alerts |jq '.[] |select(.monitorId == "$monitorid")' |jq -r .hostId) CLIツールmkrでロールアウトしたインスタンスを 退役させることで(半強制的にこの問題を)解決
  6. . 魔改造ではなく現実的な取り組みとして  Cloud ServiceのROLEINSTANCEIDをホスト情報に  Mackerelアラート起点のWebHook自動スケール  AppService・App Service

    Planのメトリックをとる  Redis Cacheのメトリックをとる  ゆくゆくはコストコントロールも 18 エムティーアイとしてのバックログ