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

OpenTelemetryの位置づけと高度なオブザーバビリティオペレーション

sumiren
February 25, 2025
230

 OpenTelemetryの位置づけと高度なオブザーバビリティオペレーション

sumiren

February 25, 2025
Tweet

Transcript

  1. 日々のオブザーバビリティの計装や改善が行いやす く、長期でオブザーバビリティ向上が見込めるのが OpenTelemetryの強み インフラ アプリケーション DB システム ログ メトリクス トレース

    オブザーバビリティ バックエンド モニタリング 2.テレメトリの仕様と収集 OSS・標準であるため 事例やAIの力が借りやすく 柔軟なカスタマイズも可 複数バックエンドへのシグナル 振り分けや並行運用、移行が容 易に可能。切り戻し可能なため 意思決定速度を向上
  2. sumirenの思想: シグナルの連携以上に、トレースに無限の可能性がある。ト レースに特化してレベル別に5つオペレーションを紹介 インフラ アプリケーション DB システム ログ メトリクス オブザーバビリティ

    バックエンド モニタリング とにかくトレースを使い倒し てほしい! ※OpenTelemetryや特定ツールに限った話ではなくオブザーバビリティ一般について議論します トレース
  3. おさらい:ここまでトレースでリクエストをブレークダウン して観測してきた。一方、システム全体の視座では、依然 としてボトムアップ的アプローチである システム =リクエスト 結局重たいバグはドメインロジックに起因。 個別機能のドメインロジックを計装すればするほど、一撃でトラブルシュートでき る。例えばこの例なら「エラー時はカート内商品が多い」などを知れる リクエストボディや DBから取得したデータ、セッションの状態、中間データの状態や

    分岐のどこに入ったかなど、どんどん記録する。書き込み系のエンドポイント、デー タはフラグや列挙値が最優先 ログを吐くくらいならスパンの属性に記録したほうが得 • システム全体レベルでは、依然として森ではなく木を見ている状態 • 「cart_totalが162だから3000msかかってる」を検証するにはトレースを順番に見ていく しかない
  4. レベル5: トレースをDWHとして扱いシステム全体の傾向を分析する システム全体 =リクエスト WHERE route = /cart/checkout GROUP BY

    cart_total 問題 なし 問題 あり 問題 なし … • 「合計金額と応答時間に相関性はない」と仮説が検証できる • 全体の傾向を調べることで仮説を立てることにも使える • 事前定義不要、探索的でオープンエンドな調査