オブザーバビリティ — エンジン自身を表す read-model
オブザーバビリティ(modules/observability)は 30 個のモジュールのひとつであり、
live-ingest と同様に、能力スロットを埋めるという
よりもアーキテクチャ上の役割を担う。これはエンジン自身を表す read-model であり、
/v1/m/observability/ 配下の 3 つの読み取り専用サーフェスとして、管理コンソールの
System セクションが描画する問いに答える。それも、ストアのエンティティを 1 つも所有
することなく行う。
3 つのサーフェス
Section titled “3 つのサーフェス”| ルート | 答える内容 |
|---|---|
GET /ingestion-health | エンジンに何が流入・流出するかを 相互運用標準ごとに ——エンジンがピン留めする標準(OTel GenAI semconv、OCSF、ASIM、統合 SIEM フォーマット群、台帳プッシュ、Prometheus テキスト、W3C Trace Context)を、それぞれの検証済みバージョンとともに |
GET /traces、GET /traces/{id} | あるトレースについて W3C で相関付けされた台帳 が語る内容 —— Trace Context で結合された、分散トレースの監査側ビュー |
GET /attestation | 稼働中のバイナリのサプライチェーンについて証明可能に真であること —— リリース検証チェーン が供給するアテステーション・サーフェス |
3 つすべてがモジュール単位の権限を持つ読み取りであり、ここでは何も変更しない。
なぜそもそもモジュールなのか
Section titled “なぜそもそもモジュールなのか”管理コンソールには「このエンジンは実際に何を話し、どのピン留めされたバージョンで 話すのか?」という権威ある答えが必要だった —— そしてそれを誠実に提供する方法は、 ドリフトしうるドキュメントからではなく、エンジン自身から提供することである。 ingestion-health テーブルは、コネクタやエクスポータがコンパイル対象とするのと同じ ピンから生成されるため、ピンが動けばサーフェスもそれに追従する。
境界づけられたコンテキスト、率直に述べる
Section titled “境界づけられたコンテキスト、率直に述べる”- ストアのエンティティを一切所有せず、何も永続化しない —— すでに存在する基盤 (ピン、台帳、アテステーション証跡)を対象とした純粋な read-model。
- これは モジュール XXII(health/SLA) では ない。 あちらは estate のエージェントと MCP サーバーの信頼性に境界づけられている。本モジュールは エンジン に関するものである。
- これはメトリクス・エンドポイントでも ない。運用上の時系列は
/metricsに存在する。本モジュールは時系列では なく構造化された答えを提供する。
- Prometheus で監視する —— 運用メトリクスと SLO。
- イベントリファレンス —— ingestion テーブルが報告対象とするバスの語彙。
- リリースを検証する —— アテステーション・サーフェスが反映する サプライチェーン証跡。