Open2

オブザーバービリティについて考えてみる

Tomonori HayashiTomonori Hayashi

オブザーバビリティとは

システムの出力を調査することによって内部の状態を測定する能力を指す

オブザーバビリティが高い状況とは

ソフトウェアシステムのどんな状態でも、どんなに斬新で奇妙な問題でもデバッグして正しい原因を素早く見つけられる状況

オブザーバビリティを支えるPrimary Signals

メトリクス

  • システム:CPU 使用率、メモリ使用率、ディスク使用率、、
  • アプリケーション:レスポンス時間、エラーレート、スループット、、
  • ビジネス:DAU、コンバージョン率、チャーン率、、

ログ

  • システムやアプリケーションが生成するテキストのストリーム
  • 根本原因を特定する情報が含まれる可能性がたかい
  • トレースに紐付けない場合の情報量が多い

トレース

  • 複数のサービスコンポーねとにまたがるリクエストの処理フローを追跡するためのデータ
  • 特定のリクエストがシステムを通過する流れを可視化し、パフォーマスの問題やエラーの原因を特定するのに役立つ

用語

  • スパン:分散トレーシングの基本単位で処理の開始と終了時刻を含む、子スパンを持ち処理の階層を表す
  • トレース:複数のスパンからなって、1 つのトランザクションを表す、リクエストの経路や時間・問題点を把握できる