可観測性(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用語: GitOpsとは|Gitをインフラ・デプロイの唯一の真実として使う手法
Gitリポジトリの状態をインフラの望ましい状態として、差分を自動的に本番環境に反映するGitOpsの仕組みを解説。
GitOps
Gitをシステムの信頼できる唯一の情報源(Single Source of Truth)として扱う運用手法。インフラやアプリの設定変更をGitのPull Requestで管理し、自動デプロイを行う。ArgoCD・Fluxが普及。
Ansible
構成管理・プロビジョニング自動化ツール。YAMLで記述したPlaybookをエージェントレスで実行し、サーバーの設定を一元管理できる。インフラの自動化とべき等性の確保が特徴。
IT用語: IaC(Infrastructure as Code)とは|インフラをコードで管理する
サーバー・ネットワーク・クラウドリソースをコードで定義・自動構築するIaCの概念とメリットを解説。
IT用語: オブザーバビリティ(可観測性)とは|ログ・メトリクス・トレースの3本柱
システムの内部状態を外部から観察できる「オブザーバビリティ」の概念とログ・メトリクス・分散トレーシングを解説。