可観測性(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件を見るRBAC
Role-Based Access Control(ロールベースアクセス制御)の略。Kubernetesでは、ユーザーやサービスアカウントに対してロールを割り当て、Kubernetes APIへのアクセス権限を細かく制御する仕組み。
SLA
Service Level Agreement(サービスレベル合意)の略。サービス提供者と利用者の間で合意するサービス品質の保証内容。SLOと違い、違反時のペナルティや補償を含む契約上の約束。
Datadog
クラウドネイティブな統合監視・APMプラットフォーム。インフラ・アプリ・ログ・トレースを一元的に監視できるSaaS型ツール。エージェントをサーバーにインストールして使用する。
CI/CD
継続的インテグレーション(CI)と継続的デリバリー/デプロイ(CD)の総称。コードをコミットするたびに自動でビルド・テスト・デプロイを行う開発プロセス。GitHub ActionsやJenkins・CircleCIなどのツールで実現する。
IT用語: カオスエンジニアリングとは|意図的に障害を起こして耐障害性を高める
本番環境に意図的な障害を注入しシステムの弱点を発見するカオスエンジニアリングの概念とChaos Monkeyを解説。
DAST
Dynamic Application Security Testing(動的アプリケーションセキュリティテスト)の略。実際にアプリを実行しながら外部から攻撃を模倣して脆弱性を検出する手法。OWASP ZAPやBurp Suiteが代表的。