【おぶざーばびりてぃ】

オブザーバビリティ とは?

最終更新:
💡 外から質問を投げて、中のようすを読み解ける「見通しのよさ」

システムが外に出すログ・メトリクス・トレースなどの情報から、内部で何が起きているかを理解できる度合い。事前に想定していなかった問題も調べやすくすることが目的。

📌 このページのポイント
観測データで内部の状態を知る ログ ERROR: 接続失敗 出来事の詳細 メトリクス CPU・応答時間 数値の変化 トレース API → DB など 1要求の経路 組み合わせる いつ・どこで・なぜ を調べる手がかり
ログ・メトリクス・トレースは代表的な観測データ。実際の記録・グラフ・経路を組み合わせて、未知の問題も調べやすくします。収集だけで原因が自動的に分かるとは限りません。
ひよこ ひよこ
オブザーバビリティってモニタリングと何が違うの?
ペンギン先生 ペンギン先生
モニタリングは、あらかじめ決めた指標を見張って異常に気づく仕組みだよ。オブザーバビリティは、システムの中身を知らなくても外に出るデータに質問して、想定していなかった問題まで調べられるかという性質なんだ。対立するものではなく、モニタリングはその土台の1つだね
ひよこ ひよこ
ログ・メトリクス・トレースって何が違うの?
ペンギン先生 ペンギン先生
ログは時刻付きの出来事の記録、メトリクスはCPU使用率やエラー率のような数値を期間ごとに集計したもの、トレースは1つのリクエストがどのサービスをどう通ったかの記録だよ。組み合わせると「いつ・どこで・何が起きたか」を絞り込みやすくなるんだ
ひよこ ひよこ
マイクロサービスだと特に大事ってよく聞くね
ペンギン先生 ペンギン先生
1つのリクエストが多くのサービスを通ると、どこで遅くなったか、どこでエラーが出たかを1つのログだけで追うのが難しくなるんだ。分散トレーシングでリクエストの経路をつなげておくと、問題の場所を探しやすくなるよ
ひよこ ひよこ
OpenTelemetryって何?ベンダーごとにライブラリが違うの?
ペンギン先生 ペンギン先生
以前は監視サービスごとに専用のライブラリを使うことが多かったんだ。OpenTelemetryは、トレース・メトリクス・ログを作って送る部分を共通化するためのオープンソースの仕組みだよ。対応するバックエンドなら、計装のコードを書き直さずに送り先を変えやすくなる。ただ、保存や可視化はOpenTelemetry自体の役割ではないから、別にツールを選ぶ必要があるんだ
ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「オブザーバビリティ」って出てきたら「ログ・メトリクス・トレースから、システムの中で起きていることを外から理解できる度合い」と思えればだいたいOK!
📖 おまけ:英語の意味
「Observability」 = 観測可能性
💬 もとは制御工学の言葉で、外から観測できる出力だけで内部の状態を推定できるかを表すよ。ソフトウェアでも同じ考え方で使われるようになったんだ

参考資料

← 用語集にもどる