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

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

Sponsored · Your Podcast. Everywhere. Effortlessly. Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
Avatar for taxin taxin
January 25, 2025
5.8k

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

Avatar for taxin

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を考慮した継続的な優先度評価 • テレメトリーの信頼性 ◦ 監視系のコンポーネント、計装用のライブラリに目を向ける