機能概要
Ongrid は 4 レイヤーのスタックとして編成されています。この分割が存在 するのは、各レイヤーが異なる更新頻度、異なるブラスト半径、異なる監査 態勢を持つからです —— それらを潰すと、初期プロトタイプが失敗した 「あちこちに ssh する AI エージェント」アンチパターンが生まれました。
なぜ operator にとって重要か
下の横断的機能(監査、ロールゲーティング、ホットなプロバイダー スワップ、ブラスト半径ウォーク)のほとんどは 1 つの特定のレイヤーに 住みます。「X が動かない」質問があるとき、このページがそれを割り当てる レイヤーが設定の置き場所です。
4 つのレイヤー
L1 —— クラスタ
物理または仮想インフラストラクチャ:ホスト、manager プロセス、組み込みの MySQL / Prometheus / Loki / Tempo / Grafana / Qdrant スタック、双方向の geminio トンネルブローカー。
Ongrid はこのレイヤーを抽象化しません —— インベントリスキーマも CMDB も ありません。ホストは edge エージェントがホームへダイヤルしたときに 発見されます。クラスタレイヤーは「ランタイムで manager バイナリが触る すべて」です。
L2 —— Edge トンネル + デバイス直達
各ホストは 1 つの ongrid-edge バイナリを動かし、manager への単一の アウトバウンド geminio 接続を確立します。トンネルは以下を多重化します:
- 逆 RPC —— manager → edge 呼び出しで、ホスト上のスキルを発動 (
Caller.Call(ctx, edgeID, method, body)、internal/manager/biz/aiops/tools/registry.go:34)。 - WebSSH ストリーム —— 専用ストリームクラス上の対話的ターミナル トラフィック、WebShell を参照。
- プラグインシグナリング —— どのサブプラグイン(
promtail、otelcol、node-exporter)を spawn するか edge に伝えるコントロール チャネル。
「デバイス直達」のアイデアが L2 を定義する賭けです:manager はサービス 抽象ではなく実ホストにアドレスします。エージェントが「edge-prod-04 で nginx を再起動」と言うとき、ちょうど 1 つのホストがコマンドを動かします。
L3 —— 知能
グラフカーネル ReAct エージェント、ツールレジストリ、ペルソナレジストリ、 ナレッジベース、LLM プロバイダールーター。完全に manager 側に居住し、 L2 とは tool bag を通してのみ話します。
主要ファイル:
internal/manager/biz/aiops/tools/—— 30+ の BaseTool、LLM の手。internal/pkg/llm/——MultiClient、RoutingChatModel、BudgetChecker。internal/manager/biz/knowledge/—— Qdrant + vault + upload。
L4 —— アラート
ルール評価、インシデントライフサイクル、自動 RCA ファンアウト、チャネル ルーティング、抑制。L1 が収集する Prometheus + Loki + Tempo のシグナル で駆動され、インシデント発火時に L3(investigator ペルソナ)を介して 書き戻します。
主要ファイル:
internal/manager/biz/alert/pipeline.go—— evaluator tick。internal/manager/biz/alert/investigator/usecase.go—— 自動 RCA。
機能マトリクス
| 機能 | レイヤー | ページ |
|---|---|---|
| アラートルール(8 メトリクス + 6 ログ/トレース種別) | L4 | アラート |
| インシデント発火時の自動根本原因分析 | L3 + L4 | RCA |
| Prometheus + Grafana 埋め込み | L1 | モニタリング |
| Loki ログ検索 + ログアラート | L1 + L4 | ログ |
| Tempo トレース検索 + トレースアラート | L1 + L4 | トレース |
| ブラスト半径ウォーク付きサービス / デバイスグラフ | L3 | トポロジー |
| vault + 自前リポジトリに対する RAG | L3 | ナレッジ |
| 30+ のホスト / 可観測性 / ナレッジツール | L2 + L3 | スキル |
| フルセッション録画付き WebSSH | L2 | WebShell |
このページでないもの
これは operator 向けの概要です。設計の理由(なぜ PromQL を正典の述語 として保ったか、なぜ edge がダイヤルアウトするか、なぜ remote_write が スクレイプより好まれるか)は GitHub リポジトリの docs/ ツリーにある ADR/HLD インデックスを参照してください。
関連
- アーキテクチャ —— デプロイメント図と して表現された同じ 4 レイヤー分割。
- コンセプト —— 用語(edge、device、 incident、persona、scope)。
- アラートルールスキーマ —— アラート ページが要約するルール行のワイヤーフォーマット。