SRE サイトリライアビリティエンジニアリング ―Googleの信頼性を支えるエンジニアリングチーム
by Betsy Beyer, Chris Jones, Jennifer Petoff, Niall Richard Murphy, 澤田 武男, 関根 達夫, 細川 一茂, 矢吹 大輔, Sky株式会社 玉川 竜司
10章時系列データからの実践的なアラート
執筆:Jamie Wilkinson
編集:Kavita Guliani
クエリは流れ、ページャーは沈黙を守らんことを。
——SREに伝わる祈りの言葉
プロダクション環境に対する欲求階層の最下層に位置するモニタリングは、安定したサービスの動作に欠かせないものです。サービスの担当者はモニタリングを行うことで、サービスへの変更のインパクト、インシデント対応への科学的手法の適用、そしてもちろん自分たちの存在意義であるビジネス上の目標に対するサービスの達成度の計測といったことに対し、合理的な判断を下すことができるのです(6章を参照)。
SREのサポートの有無に関わらず、サービスはモニタリングと共生して動作しなければなりません。しかし、Googleのプロダクション環境に対する最終的な責任を負ってきたことから、SREはサービスをサポートするモニタリングのインフラストラクチャを特に熟知しています。
きわめて大規模なシステムのモニタリングは難しいものですが、それにはいくつかの理由があります。
- 分析の対象となるコンポーネント数そのもの。
- システムに対する責任を負うエンジニアのメンテナンスの負荷を適度に低く保たなければならないこと。
Googleのモニタリングシステムが計測するのは、例えば負荷のかかっていないヨーロッパのWebサーバー1つの平均レスポンスタイムといったような、シンプルなメトリクスだけではありません。私たちはそのリージョンのすべてのWebサーバーにおけるレスポンスタイムの分布も理解しなければなりません。この知識があれば、テイルレイテンシに影響している要因も特定できるようになります。
私たちが運用しているシステムの規模では、1台のマシンの障害でアラートを発するわけにはいきません。そのようなデータは騒々しすぎて対応しきれないためです。その代わりに、私たちはシステムを構築する際に、依存対象のシステムの障害に対する強力な耐性を持たせるようにしています。大規模なシステムの設計は、大量のコンポーネントの管理を求めるのではなく、シグナルを集約し、例外は取り除くように設計すべきなのです。必要なのは、高レベルのサービスの目的に関するアラートを発しながら、必要に応じて個々のコンポーネントの調査もできる粒度の情報も保っておいてくれるようなモニタリングシステムです。 ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access