インフラのモニタリング技術とSRE (Sentryなども)
![shimakaze_soft](https://res.cloudinary.com/zenn/image/fetch/s--hsbwYTN9--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_70/https://storage.googleapis.com/zenn-user-upload/avatar/96f9eb14ea.jpeg)
インフラのモニタリング方法には、AWSであればCloudWatchなどデフォルトのものはあるが、UIのダッシュボードとしては非常に見づらいため、外部のツールなどを利用していく。
Wantedlyが実践しているモニタリングが非常に参考になる
Wantedlyが実際に使用しているモニタリングツールは以下の5つ
- NewRelic : Application(Work)のモニタリング
- Datadog : System(Resouece), Eventのモニタリング
- Pagerduty : Alert通知
- Logentries : Log保管
- HoneyBadger : Application Error管理
Pagerduty
![shimakaze_soft](https://res.cloudinary.com/zenn/image/fetch/s--hsbwYTN9--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_70/https://storage.googleapis.com/zenn-user-upload/avatar/96f9eb14ea.jpeg)
APM(アプリパフォーマンス管理)
APM(Application Performance Management)
とは、Webアプリケーションなどの稼働状況を可視化し、管理してくれるシステムのこと。
Webシステムのパフォーマンスをグラフ化することで、アプリ運営の効率化を図ることができ、システムに何らかの不具合があった場合にも、その原因を特定し迅速に対応することが可能になる。
各ツール類について紹介
Datadog
運用監視クラウドサービス。
Webアプリケーションのパフォーマンスの状態をグラフやダッシュボードとして可視化することができる。
- タグ付けによる高度な絞り込み機能
すべてのユーザーを一画面に表示することができ、利用率が高いホストほど色が濃くなる。
タグ付けによって様々な条件ごとに絞り込むことができるので、様々な角度からデータを解析することが可能。
- 一元的な画面表示
ログ・トレース・メトリクス・ダッシュボード・アラートなど、APMツールの基本機能を一つの画面で確認することができる。
料金
どのプランも14日間フリーで使用することが可能
Free(無料で5台まで)
Pro(1台15ドル/月で1000台まで)
Enterprise(1台23ドル/月で1000台以上)
NewRelic
NewRelic社が提供するSaaS型の運用監視クラウドサービス。
- セットアップが不要
面倒な設定が不要であり、監視用のモニターをインストールすればすぐにモニタリングを開始することができる。
- データを自動で集積・可視化
性能分析に必要なデータは、自動で集積・可視化されるので包括的な分析が可能。
- リアルタイムで監視可能
アプリケーションの環境をリアルタイムで監視できるため、問題が発生した場合にも迅速に対応することが可能。
料金
14日間の無料トライアル機能
Lite(無料)
ESSENCIALS(12.5ドル/月)
PRO(25ドル/月)
Mackerel
2014年にサービス開始した株式会社はてなが運営するAPMツール。
- 1ステップで簡単導入
監視対象のサーバにエージェント(アプリのデータを収集し送信するプログラム)をインストールするだけでモニタリングが開始できる。
- ロール内の異常検知機能
機械学習によって自動で異常値を検知・アラートしてくれる機能。
これまでは監視のための専門的で高度な知識を必要としていた作業も、AIが管理してくれるので、メンテナンスにかかるコストを大幅削減することができる。
検知された異常な箇所は赤く表示される。
- 外形監視機能
ユーザー側がアプリの作動状況を監視できるシステムをデフォルトで備えているので、インタラクティブなパフォーマンス管理が可能。
料金
14日間の無料トライアルあり
Freeプラン(無料で5台まで)
Standardプラン(1台当たり1,833円)
AppDyanamics
株式会社samuraizが提供するWebアプリ用のAPMツール。
- 複数のデータを1ブラウザで管理
サーバー内部の負荷状況や実際の稼働状況を含めた複数のデータを一つのブラウザにまとめて表示することができるため、俯瞰的な監視が可能。
また、複数のシステムをマップで可視化できるため、他システムとの関連性までも把握することが可能。
- マップ上から問題を発見
問題が発生したデバイスやシステムは上記画像のマップ上で色が変化するので、簡単に原因を把握することができる。
- サーバー負荷を最小限に抑える
アプリケーション監視のための処理は全て管理サーバ側で行われるので、自社サーバにかかる負荷を削減することができる。
料金
金額は要相談
主な価格帯100~500万
30日間の無料トライアル、1年単位で利用料が発生
Google Operations(旧 Stackdriver)
Googleが提供するアプリケーション/インフラ等のAPMツール。
GCP(Google Cloud Platform)の中の一つの機能。
- 手軽な設定で選択できる
Googleの提供するサービス全般に共通していますが、シンプルな設定でマニュアルをみなくても簡単に操作開始することができる。
-
GCPと連携することによる便利な機能
GCPを使用していれば自動でGoogle Operationsに反映されるため、工数を削減することができる。 -
システム全体の1画面管理はできない
Google Operationsはアプリケーション向けの監視サービスなのでDatadogなどのように複数のネット機器を統合して一画面で見ることはできない。
料金
課金対象外の機能→デバッグ、プロファイル
課金対象の機能→ロギング、モニタリング、トレース
![shimakaze_soft](https://res.cloudinary.com/zenn/image/fetch/s--hsbwYTN9--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_70/https://storage.googleapis.com/zenn-user-upload/avatar/96f9eb14ea.jpeg)
ログ収集
ログ収集ツールには以下にまとめられているが、WantedlyではLogentries
を使用しているらしい。
![shimakaze_soft](https://res.cloudinary.com/zenn/image/fetch/s--hsbwYTN9--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_70/https://storage.googleapis.com/zenn-user-upload/avatar/96f9eb14ea.jpeg)
有名サービスで使用されているモニタリングツール類を知るには
エンジニアHubで国内有名サービスで使用されているフレームワークやツールなどをまとめていた。
Stackshareというサービスが世界中の有名サービスで使用されている技術についてもまとめている。
下記ではAirbnbで使われている技術がわかる。
![shimakaze_soft](https://res.cloudinary.com/zenn/image/fetch/s--hsbwYTN9--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_70/https://storage.googleapis.com/zenn-user-upload/avatar/96f9eb14ea.jpeg)
WEBサイトのパフォーマンスを継続的に計測する手段
Lighthouse CI
でパフォーマンスを計測する。
![shimakaze_soft](https://res.cloudinary.com/zenn/image/fetch/s--hsbwYTN9--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_70/https://storage.googleapis.com/zenn-user-upload/avatar/96f9eb14ea.jpeg)
Zapier(ザピアー)とは、ノーコードでワークフローの自動化を実現することができるWEBアプリケーション
![shimakaze_soft](https://res.cloudinary.com/zenn/image/fetch/s--hsbwYTN9--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_70/https://storage.googleapis.com/zenn-user-upload/avatar/96f9eb14ea.jpeg)
Djangoとモニタリング技術との組み合わせによるロギング
Djangoパフォーマンスチューニングとモニタリング
![shimakaze_soft](https://res.cloudinary.com/zenn/image/fetch/s--hsbwYTN9--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_70/https://storage.googleapis.com/zenn-user-upload/avatar/96f9eb14ea.jpeg)
Celeryのタスクのモニタリング
![shimakaze_soft](https://res.cloudinary.com/zenn/image/fetch/s--hsbwYTN9--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_70/https://storage.googleapis.com/zenn-user-upload/avatar/96f9eb14ea.jpeg)
SREの定義は会社や人によっては曖昧
サービスの非機能系の改善を図る事でサービス・開発のアジリティを高めるのを目的
としているチーム
特定のシステムを開発・運用しているチームに所属しているわけでは無く、横断的に複数のシステムを担当することがある。
アジリティを上げる事も目的としているため、GitLab Serverの運用やSaaSの契約など、開発によるエンジニアリング以外も行う。
-
システムのCI/CD導入・導入支援
-
Infrastructure as Code(IaC)
導入・導入支援 -
サービスの監視・モニタリング改善
-
サーバーのインベントリ情報のデータソース管理
-
GitLab Server運用
-
Tableau Server運用
-
各種SaaS契約
![shimakaze_soft](https://res.cloudinary.com/zenn/image/fetch/s--hsbwYTN9--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_70/https://storage.googleapis.com/zenn-user-upload/avatar/96f9eb14ea.jpeg)
FastAPI上でのモニタリング
主にSentryを使用する
![shimakaze_soft](https://res.cloudinary.com/zenn/image/fetch/s--hsbwYTN9--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_70/https://storage.googleapis.com/zenn-user-upload/avatar/96f9eb14ea.jpeg)
オブザーバビリティ
最近ではオブザーバビリティという言葉もある。