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

監視SaaSの運用におけるObservability改善の歩み

taxin
January 25, 2025
2.8k

 監視SaaSの運用におけるObservability改善の歩み

taxin

January 25, 2025
Tweet

Transcript

  1. 自己紹介 • 西川 拓志 ◦ id: taxintt / @taxin_tt •

    株式会社はてな • Mackerel開発チーム SRE 2
  2. 3

  3. Observabilityとは? 8 • cncf/tag-observability ◦ > In control theory, "observability

    is a measure of how well internal states of a system can be inferred from knowledge of its external outputs." ◦ システムの外部出力からシステムの内側で何が起きている のかを推測できるかを示す尺度
  4. Observabilityとは? 10 o11yにおいて向き合う対象(w/ラムズフェルドの4象限) Known-knowns (意識し理解していること) Known-Unknown s (理解しているけど 意識していないこと) Unknowns-known

    s (意識してるけど 理解していないこと) Unknown-Unknowns (意識もしてないし 理解もしていないこと) システム監視 未知のシステム故障 への対応 テスト、アラート 直感による問題特定
  5. Observability改善の歩み 13 例)Mackerelへのデータ投稿 • 「Public Cloudのデータ(メトリクス)が投稿されて いない」は内部的には何を表すか? ◦ データ取得のジョブが投入されていない ◦

    データの取得処理に失敗した ▪ API throttling、認証情報の不備(※)、障害 etc… ◦ データの取得処理後にデータの保存に失敗した
  6. 20 Known-knowns (意識し理解していること) Known-Unknown s (理解しているけど 意識していないこと) Unknown-Unknowns (意識もしてないし 理解もしていないこと)

    未知のシステム故障 への対応 テスト、アラート 直感による問題特定 Unknowns-known s (意識してるけど 理解していないこと) システム監視
  7. Observability改善の歩み 24 3)トレースの活用 • 👍 異なるテレメトリー間の相関から洞察を得る ◦ 例)トレース内のスパンから時間がかかる処理の特定 →関連するテレメトリーを見つつ原因を分析する ◦

    前述の事象はラベル情報を保存するDBへの読み書きが ボトルネックになっていた ◦ ドリルダウン的なアプローチができるようになった ことで未知の事象にも向き合いやすくなった
  8. Observability改善の歩み まとめ 26 • 標準的なメトリクスの利用 • サービスの状態を表すメトリクスの実装 ◦ 単一の情報に対して解像度を上げる(A→A’) ◦

    メトリクス、ログの特性を活用し解像度を上げて アラーティングに繋げる(検知の改善) • トレースの活用 ◦ 複数の情報を組み合わせて洞察を得る(A+B→C) ◦ テレメトリー間の相関を活用したドリルダウン(調査の改善)
  9. 32

  10. (1) テレメトリーの優先度 34 o11yの改善においては、定期的な分析・評価が重要 • その時の組織/プロダクトが向き合っている課題によって 優先度は変わる • 分析・評価の場としてはPWG、エンジニア会がある ◦

    PWG:最近のパフォーマンス状況やインフラ構成の変更を 確認・共有する会 ◦ エンジニア会:プロダクトに関する技術的課題を取り上げ、 議論する会
  11. (2) テレメトリーの信頼性 37 テレメトリーの生成・取得に対する信頼性 • 計装の観点ではライブラリの仕様にも注意して実装 ◦ zap/FAQ.md at master

    · uber-go/zap ◦ >Logs are dropped intentionally by zap when sampling is enabled. The production configuration (as returned by NewProductionConfig() enables sampling…
  12. まとめ 38 • 検知の改善 ◦ サービスの状態を表すメトリクスの実装とアラーティング • 調査の改善 ◦ 各テレメトリー間の相関を踏まえたドリルダウン的な分析

    • テレメトリーの優先度 ◦ o11y成熟度モデル、SLI/SLOを考慮した継続的な優先度評価 • テレメトリーの信頼性 ◦ 監視系のコンポーネント、計装用のライブラリに目を向ける