6章システムの観測
ある日、目が覚めて、ズボンのベルトの最後の穴が合わないことに気付いたとします。体重計に乗ってみると、一晩でかなりの量の体重が増えています。慌ててダイエットとフィットネスに励みます。数週間後、体重を測ってみると、なぜかさらに体重が増えています。何が起きているのでしょうか。
必要なのは、自分の体で何が起きているのかを知ることです。もし、私たちの体に可観測性(observability:オブザーバビリティ)が備わっていたら、ホルモン値のような体の指標がダッシュボード(dashboard)にグラフ化されるでしょう。ホルモン値が急激に変化した場合、すべての条件が同じであれば、ホルモンバランスの乱れが根本原因であると推測できます。しかし、何が変わったのかが分からないと、問題を解決するためにさまざまな変更を行っても、それぞれの影響が出てしまいます。
私たちは、システムを観測可能にすることで、システムの状態を理解するための仮説を立てたり、予期せぬ問題をデバッグしたりします。キーワードは、「予期せぬ」です。システムを観測可能にすることは、今までに起きたことがない問題を解決できるということです。この章では、サービス内で何が起きているのかを理解するために、サービスを観測可能にします。
6.1 3種類のテレメトリデータ
可観測性とは、システムの外部出力から、システムの内部(動作や状態)をどれだけ理解できるかを示す尺度です。システムを観測可能にするための出力として、メトリクス、構造化ログ、トレースを使います。テレメトリ(telemetry:遠隔測定)データには、独自のユースケースを持つ3種類がありますが、多くの場合、同じイベントから得ることができます。たとえば、ウェブサービスがリクエストを処理するたびに、「処理されたリクエスト数」というメトリクスの値を増加させたり、リクエストのログを出力したり、トレースを作成したりします。 ...
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