📊
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(可観測性)
未知の問題を調査。任意の質問に答えられる。 探索的な分析。
「なぜこのリクエストは遅いのか?」