📊

Observability

可観測性

可観測性はシステムの内部状態を外部から理解する能力です。メトリクス、ログ、トレースの「3本柱」を組み合わせて、 システムの健全性を監視し、問題を迅速に特定します。

可観測性の3本柱

📈

Metrics

数値データの時系列。
CPU、メモリ、リクエスト数など。

「何が起きているか」

📝

Logs

イベントの記録。
エラー、アクセス、デバッグ情報。

「なぜ起きたか」

🔗

Traces

リクエストの流れ。
サービス間の依存関係と遅延。

「どこで起きたか」

Golden Signals(4つの黄金シグナル)

Google SREが提唱。ユーザー視点でサービスの健全性を測定する4つの指標。

Latency(遅延)

リクエストの処理時間

例: P50, P95, P99 レスポンスタイム

Traffic(トラフィック)

システムへの負荷量

例: QPS、同時接続数

Errors(エラー)

失敗したリクエストの割合

例: 5xx率、例外発生率

Saturation(飽和度)

リソースの使用率

例: CPU、メモリ、ディスク使用率

USE / RED メソッド

USE メソッド(リソース向け)

CPU、メモリ、ディスク、ネットワーク等のリソース監視

  • Utilization: 使用率(%)
  • Saturation: 飽和度(キュー長)
  • Errors: エラー数

RED メソッド(サービス向け)

マイクロサービス、API等のサービス監視

  • Rate: リクエストレート(QPS)
  • Errors: エラー率
  • Duration: レイテンシ

監視 vs 可観測性

Monitoring(監視)

既知の問題を検出。事前に「何を見るか」を決める。 閾値ベースのアラート。

「CPU が 90% を超えたら通知」

Observability(可観測性)

未知の問題を調査。任意の質問に答えられる。 探索的な分析。

「なぜこのリクエストは遅いのか?」

詳細トピック