可観測性(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件を見るIT用語: フィーチャーフラグ(Feature Flag)とは|コードを変えずに機能のON/OFFを制御
デプロイと機能リリースを分離するフィーチャーフラグの仕組みとA/Bテスト・カナリアリリースへの活用を解説。
Ansible
構成管理・プロビジョニング自動化ツール。YAMLで記述したPlaybookをエージェントレスで実行し、サーバーの設定を一元管理できる。インフラの自動化とべき等性の確保が特徴。
Pod
Kubernetesの最小デプロイ単位。1つ以上のコンテナとストレージ・ネットワーク設定をまとめたもの。通常はDeploymentやStatefulSetを通じて管理され、スケーリング・再起動の単位となる。
Terraform
HashiCorpが開発するIaC(Infrastructure as Code)ツール。HCL(HashiCorp Configuration Language)でインフラをコードとして記述し、AWS・GCP・Azureなどのクラウドリソ
APIゲートウェイ
クライアントと複数のバックエンドサービスの間に立つ単一の入口(エントリポイント)。認証・レート制限・ルーティング・ロギング・キャッシュを一元管理し、APIの公開・保護・管理を行う。
IT用語: カナリアリリースとは|一部ユーザーへ先行公開する安全なデプロイ手法
新バージョンを全ユーザーの5〜10%に先行公開し問題がなければ徐々に拡大するカナリアリリースの仕組みを解説。