Обзор возможностей
Ongrid организован как 4-слойный стек. Разделение существует, потому что каждый слой имеет другой темп обновления, другой blast radius и другую посторовую аудит-постуру — их объединение породило анти-паттерн «AI agent, который ssh-ит вокруг», на котором ранние прототипы провалились.
Почему это важно для операторов
Большинство сквозных функций ниже (аудит, role gating, hot provider swap, blast-radius walk) живут на одном конкретном слое. Если у вас вопрос «X не работает», слой, которому эта страница это назначает, — это где живёт его конфиг.
Четыре слоя
L1 — Кластер
Физическая или виртуальная инфраструктура: хосты, процесс manager, встроенный стек MySQL / Prometheus / Loki / Tempo / Grafana / Qdrant, и двунаправленный брокер туннеля geminio.
Ongrid НЕ абстрагирует этот слой — нет inventory-схемы, нет CMDB. Хосты обнаруживаются, когда edge-агент дозвонился домой. Слой кластера — это «всё, к чему бинарь manager прикасается в рантайме».
L2 — Edge tunnel + device-direct
Каждый хост запускает один бинарь ongrid-edge, который устанавливает одно исходящее geminio-соединение к manager. Туннель мультиплексирует:
- Обратные RPC — manager → edge вызовы скилла на хосте (
Caller.Call(ctx, edgeID, method, body),internal/manager/biz/aiops/tools/registry.go:34). - WebSSH-стримы — трафик интерактивного терминала по выделенному классу стрима, см. WebShell.
- Сигналинг плагинов — контрольный канал, который говорит edge, какие под-плагины (
promtail,otelcol,node-exporter) порождать.
Идея «device-direct» — это определяющая ставка L2: manager адресует реальные хосты, не сервисные абстракции. Когда агент говорит «перезапустить nginx на edge-prod-04», ровно один хост запускает команду.
L3 — Intelligence
Graph-kernel ReAct-агент, реестр инструментов, реестр персон, база знаний и LLM provider router. Живёт целиком manager-side, разговаривает с L2 только через набор инструментов.
Ключевые файлы:
internal/manager/biz/aiops/tools/— 30+ BaseTool, руки LLM.internal/pkg/llm/—MultiClient,RoutingChatModel,BudgetChecker.internal/manager/biz/knowledge/— Qdrant + vault + upload.
L4 — Alerting
Вычисление правил, lifecycle инцидентов, auto-RCA fan-out, channel routing, inhibition. Управляется сигналами Prometheus + Loki + Tempo, которые собирает L1, и пишет обратно через L3 (персона investigator), когда инцидент срабатывает.
Ключевые файлы:
internal/manager/biz/alert/pipeline.go— evaluator tick.internal/manager/biz/alert/investigator/usecase.go— auto-RCA.
Матрица возможностей
| Возможность | Слой | Страница |
|---|---|---|
| Правила алертов (8 metric + 6 log/trace типов) | L4 | Алерты |
| Auto root-cause analysis при срабатывании инцидента | L3 + L4 | RCA |
| Встраивание Prometheus + Grafana | L1 | Мониторинг |
| Поиск по логам Loki + алерты на логах | L1 + L4 | Логи |
| Поиск по трейсам Tempo + алерты на трейсах | L1 + L4 | Трейсы |
| Граф сервисов / устройств с blast-radius walk | L3 | Топология |
| RAG против vault + ваших собственных репозиториев | L3 | Знания |
| 30+ host / observability / knowledge инструментов | L2 + L3 | Skills |
| WebSSH с полной записью сессии | L2 | WebShell |
Чем эта страница не является
Это обзор, обращённый к оператору. Для design rationale (почему PromQL был оставлен как канонический предикат, почему edge выходит наружу, почему remote_write предпочтительнее scrape) см. индекс ADR/HLD в дереве docs/ GitHub-репозитория.
См. также
- Архитектура — то же 4-слойное разделение, выраженное как диаграмма развёртывания.
- Концепции — словарь (edge, device, incident, persona, scope).
- Схема правила алерта — wire-формат строк правил, которые суммирует страница Алерты.