オブザーバビリティ(可観測性)入門|メトリクス・ログ・トレースの3柱とOpenTelemetryの実践

現場実践|可観測性・オブザーバビリティ
オブザーバビリティ(可観測性)入門|メトリクス・ログ・トレースの3柱とOpenTelemetryの実践
「オブザーバビリティって監視と何が違うの?」——オブザーバビリティ(可観測性)の概念・メトリクス・ログ・トレースの3柱の意味・OpenTelemetryを使った実装方法をインフラエンジニア向けに解説します。
💡 オブザーバビリティは「システムの内部状態を外部から観測できる能力」。従来の「死活監視」から「なぜ問題が起きたかを素早く特定できる」状態への進化が現代の運用エンジニアに求められています。
1. 監視とオブザーバビリティの違い
従来の「監視」は「問題が発生したことを検知する」もの(CPUが90%を超えたらアラート)です。一方「オブザーバビリティ」は「問題の原因を素早く特定できる状態を作る」もの(どのAPIエンドポイントが遅いのか・どのDBクエリが原因か・どこでエラーが発生したかを追跡できる)です。
2. 3つの柱(メトリクス・ログ・トレース)
メトリクス(Metrics)
「何が起きているか」を数値で表す。CPU使用率・リクエスト数・エラー率・レイテンシー。PrometheusとGrafanaで可視化するのが現代の標準。
ログ(Logs)
「何が起きたか」をテキストで記録する。CloudWatch Logs・Elasticsearch・Lokiでの集中管理が現代の標準。構造化ログ(JSON形式)が検索効率を高める。
トレース(Traces)
「どこで問題が起きたか」をリクエストの流れで追跡する。マイクロサービスでリクエストが複数サービスをまたぐ場合に特に重要。AWS X-Rayが代表例。
3. OpenTelemetryとは
OpenTelemetryはCNCF(Cloud Native Computing Foundation)が提供するオブザーバビリティのオープン標準です。アプリケーションコードにOpenTelemetryのSDKを組み込むことで、メトリクス・ログ・トレースを統一されたフォーマットで出力できます。Datadog・Jaeger・Prometheusなど様々なバックエンドに送信できるため、特定ベンダーへの依存を避けられます。
4. AWS X-Rayを使ったトレースの実装
# Python (Flask) + AWS X-Rayのサンプル
from aws_xray_sdk.core import xray_recorder
from aws_xray_sdk.ext.flask.middleware import XRayMiddleware
app = Flask(__name__)
XRayMiddleware(app, xray_recorder)
# サブセグメントで処理を分割
@xray_recorder.capture("db_query")
def query_database():
# DBクエリ処理
pass📌 この記事のポイント
- オブザーバビリティはメトリクス(何が起きているか)・ログ(何が起きたか)・トレース(どこで起きたか)の3柱で構成される
- OpenTelemetryはベンダー非依存の標準SDK。一度実装すればPrometheus・Datadog等複数バックエンドに出力できる
- マイクロサービス環境ではトレース(X-Ray・Jaeger)が最も重要。リクエストがどのサービスで遅くなったかを可視化する
キャリアの疑問、一緒に解決しませんか?
Route Bloomでは、インフラ系ITエンジニアを目指す方への個別サポートを行っています。2026年7月からフリーランス講師として本格始動予定です。
ABOUT ME




