【おぶざーばびりてぃ】
オブザーバビリティ とは?
最終更新:
💡 外から質問を投げて、中のようすを読み解ける「見通しのよさ」
システムが外に出すログ・メトリクス・トレースなどの情報から、内部で何が起きているかを理解できる度合い。事前に想定していなかった問題も調べやすくすることが目的。
📌 このページのポイント
- システムの中身を知らなくても、外に出るデータから状態を問いかけて調べられる性質を指す
- 主な手がかりはログ(出来事の記録)・メトリクス(数値の集計)・トレース(リクエストの経路)
- 想定外の問題(unknown unknowns)の調査に役立つ。多くのサービスが連携する分散システムで特に重要
- データの集め方はOpenTelemetryで共通化できるが、保存・可視化には別のツールが必要
オブザーバビリティってモニタリングと何が違うの?
ログ・メトリクス・トレースって何が違うの?
マイクロサービスだと特に大事ってよく聞くね
1つのリクエストが多くのサービスを通ると、どこで遅くなったか、どこでエラーが出たかを1つのログだけで追うのが難しくなるんだ。分散トレーシングでリクエストの経路をつなげておくと、問題の場所を探しやすくなるよ
以前は監視サービスごとに専用のライブラリを使うことが多かったんだ。OpenTelemetryは、トレース・メトリクス・ログを作って送る部分を共通化するためのオープンソースの仕組みだよ。対応するバックエンドなら、計装のコードを書き直さずに送り先を変えやすくなる。ただ、保存や可視化はOpenTelemetry自体の役割ではないから、別にツールを選ぶ必要があるんだ
まとめ:ざっくりこれだけ覚えればOK!
「オブザーバビリティ」って出てきたら「ログ・メトリクス・トレースから、システムの中で起きていることを外から理解できる度合い」と思えればだいたいOK!
📖 おまけ:英語の意味
「Observability」 = 観測可能性
💬 もとは制御工学の言葉で、外から観測できる出力だけで内部の状態を推定できるかを表すよ。ソフトウェアでも同じ考え方で使われるようになったんだ