可観測性(Observability)
システムの内部状態を外部から観察できる能力。メトリクス・ログ・トレースの3本柱で構成され、複雑な分散システムの問題を効率的に特定・解決するための基盤となる。
可観測性(Observability)とは?
可観測性(Observability、オブザーバビリティ)は、システムの内部状態を外部から観察・理解できる能力です。制御工学からの概念で、近年マイクロサービス・クラウドネイティブシステムの複雑化に伴い、SREやDevOpsの文脈で重要視されています。
可観測性の3本柱
| 柱 | 説明 | ツール例 |
|---|---|---|
| メトリクス | 時系列の数値データ(CPU・レイテンシ・エラーレート) | Prometheus, Datadog |
| ログ | 時刻付きのイベント記録(構造化ログが理想) | Elasticsearch, Loki |
| トレース | リクエストの処理経路の追跡(分散トレーシング) | Jaeger, Zipkin, Tempo |
最近は「プロファイリング」を第4の柱と呼ぶことも増えています。
モニタリングとの違い
| 項目 | モニタリング | 可観測性 |
|---|---|---|
| 質問 | 「壊れているか?」 | 「なぜ壊れているか?」 |
| アプローチ | 既知の問題を検知 | 未知の問題も調査できる |
| 手段 | アラートと閾値 | データの自由な探索 |
OpenTelemetry
OpenTelemetry(OTel)は、メトリクス・ログ・トレースを収集するためのオープンスタンダードです。ベンダー非依存でSDKが提供されており、将来的にツールを変更しても計装コードを書き直さずに済みます。
SLO・SLA・SLI
- SLI(Service Level Indicator): 計測する指標(例: 可用性)
- SLO(Service Level Objective): 目標値(例: 99.9%)
- SLA(Service Level Agreement): 顧客との合意(例: 99.5%)
まとめ
可観測性はマイクロサービスの複雑さが増すにつれて不可欠な基盤です。OpenTelemetryで計装しておくことで、将来どのバックエンドに移行してもデータを活用できます。
関連する用語 (DevOps)
全58件を見るSLA
Service Level Agreement(サービスレベル合意)の略。サービス提供者と利用者の間で合意するサービス品質の保証内容。SLOと違い、違反時のペナルティや補償を含む契約上の約束。
IT用語: Ansibleとは|サーバー設定を自動化するIaCツール
エージェント不要でSSHを通じてサーバー設定を自動化するAnsibleのPlaybook構文と活用場面を解説。
APIゲートウェイ
クライアントと複数のバックエンドサービスの間に立つ単一の入口(エントリポイント)。認証・レート制限・ルーティング・ロギング・キャッシュを一元管理し、APIの公開・保護・管理を行う。
HPA
Horizontal Pod Autoscalerの略。CPU使用率やカスタムメトリクスに基づいてPod数を自動増減するKubernetesの機能。トラフィック増加時に自動でスケールアウトし、コスト最適化と可用性の両立が可能。
Grafana
オープンソースのデータ可視化・ダッシュボードツール。PrometheusやInfluxDB等のデータソースと接続し、美しいグラフダッシュボードを構築できる。インフラ監視からビジネス指標まで幅広く活用される。
SLO
Service Level Objective(サービスレベル目標)の略。システムの可用性・応答時間などの目標値を定量的に設定したもの。SRE文化における運用品質の指標。例:月間稼働率99.9%。