「オブザーバビリティ再入門 - 大切さと高め方を知ろう!」に参加してきました

感想

  • 再入門と言いつつ自分は入門でしたが、分かりやすくて勉強になりました
  • 特に2つ目の発表が良くて、どんなことを何のために やるかイメージついたしやれてることもあるなとか思えました

可観測性ガイダンス

可観測性とは

  • Observability Whitepaper
    • CNCFが出してる
  • 外部出力から内部をどれだけ推測できるかの尺度
  • 低い状態
    • 外部からはシステム理解ができない
    • 追加実装なしにはわからない
  • 高い状態
    • システムの理解が容易
    • 内部動作や流れを理解できる
    • どの要素に問題があるか見定められる
  • 主要なシグナル
    • メトリクス
    • ログ
    • トレース
  • 6本柱で言われることも
    • イベント
    • プロファイル
    • 例外

可観測性と監視

  • 監視/モニタリング
    • 定期チェックし問題が発生した時にアラート
    • 既知の未知に対応
    • 頑強なシステムが目指すところ
  • 可観測性とは
    • 目指すのは反脆弱なシステム

可観測性の導入

  • 導入に対する抵抗
    • 惰性と労力
    • 感情と心理的反発
      • 不安や懸念への共感と支援
      • 当事者意識の情勢と柔軟な導入

メトリクス、ログ、トレースをうまく使い分けて可観測性を高めよう!

シグナル選択

  • メトリクス
    • サービスの把握に必要な定量的な数値
    • グラフにできる
    • 計算できてアラートにできる
      • 検知を自動化できる
    • どうしてそれが起きてるかは分からない
  • ログ
    • 網羅性を重視してイベントの記録
    • エラーの理由などを記録できる
    • 出すだけなら簡単に実装できる
    • 時間単位で集計するとメトリクスにできる
    • データ量が多く保存取り出しコスト高い
  • トレース
    • サンプリングされた詳細なイベントの記録
    • リクエスト単位のデータ
    • 全体のつながりが分かる
    • データ量多い
    • spanを設定する実装コスト

シグナルの使い方

  • システム側からアラート
    • メトリクス/ログ
  • 人が能動的に調査
    • ログ/トレース

可観測性の強化

  • サービスが今正常かこたえられるか
    • こたえられないならメトリクスからでアラート設定できるように
  • キャパシティプランをたてられるか
    • たてられないならメトリクスからで状態を把握できるように
  • 障害発生時にの困りごとから
    • エラーがおきた場所が分かるか
    • なんのエラーか分かるか
    • どこがボトルネックになってるか

OpenTelemetry デモを使って Mackerel のメトリック探索を試してみよう

  • azukiazusaさん

OpenTekemetryデモ

  • 現実世界に近い環境で試すことができる環境
  • 架空のショッピングアプリ
  • マイクロサービスになってる