Skip to content

Quickstart

Цель: примерно за 10 минут вы получите…

  1. Полный стек Ongrid, работающий на одной Linux-машине через docker compose (manager + frontier-брокер + Prometheus + Loki + Tempo + Grafana + Qdrant + SearXNG).
  2. Админ-пользователь, залогиненный по HTTPS.
  3. Один ongrid-edge, зарегистрированный против вашего manager, отгружающий CPU / memory / disk метрики, которые вы можете увидеть на странице Monitor.

Если хотите более глубокий walk-through, прочтите Установка сервера и Установка edge.

0. Prerequisites

Одна Linux-машина (тестировано на Ubuntu 22.04+, Debian 12+, RHEL/Rocky/Alma 9+).

  • 4 GB RAM минимум (8 GB рекомендуется)
  • 20 GB свободного диска под /var/lib/ongrid (data dir)
  • root или sudo
  • docker ≥ 24 с подкомандой docker compose v2
  • openssl (используется для генерации self-signed TLS-сертификата при первом запуске)
  • TCP 443 и 40012 открыты к хостам, где будут работать ваши edge'и

Для локального тестирования

Вы можете запустить всё на ноутбуке. Просто имейте в виду, что ONGRID_PUBLIC_URL по умолчанию — это LAN IP ноутбука, поэтому любой edge, который вы установите на другой машине, должен иметь возможность дотянуться до этого LAN IP по TCP/443.

1. Установить сервер

Канонический путь установки — это gh release download плюс sudo ./install.sh. Tarball самодостаточен — docker-образы, edge- бинари, конфиг-файлы, всё в bundle.

bash
# Pick the latest tag from https://github.com/ongridio/ongrid/releases
VER=v0.7.159

gh release download "$VER" \
    --repo ongridio/ongrid \
    -p 'ongrid-*-linux-amd64.tar.xz*'

tar xf "ongrid-${VER}-linux-amd64.tar.xz"
cd     "ongrid-${VER}-linux-amd64"

sudo ./install.sh

Что делает install.sh, по порядку:

  1. Preflight. Верифицирует, что docker + docker compose v2 присутствуют и daemon достижим.
  2. Stage'ит конфиги под /opt/ongrid/ (compose-файл, prometheus, loki, tempo, grafana, searxng, edge-артефакты).
  3. Создаёт data-директории под /var/lib/ongrid/ (mysql, prometheus, loki, tempo, qdrant, grafana, embeddings) и chown'ит их на uid, который ожидает каждый container-образ. Логи идут в /var/log/ongrid/.
  4. Генерирует self-signed TLS-сертификат в /opt/ongrid/certs/ — браузеры предупредят впервые. Замените на реальный сертификат позже; см. Установка сервера.
  5. Загружает docker-образы (ongrid, ongrid-web, frontier) из tarball — pull из Docker Hub не требуется.
  6. Заполняет .env сильными случайными паролями для MYSQL_*, ONGRID_JWT_SECRET, GRAFANA_ADMIN_PASSWORD и bootstrap ONGRID_ADMIN_PASSWORD.
  7. Просит ONGRID_PUBLIC_URL с 30-секундным countdown. Это URL, который ваши edge'и будут использовать, чтобы дотянуться до плоскости данных этого manager (логи → Loki, трейсы → OTLP push). На интерактивном терминале неверное значение здесь — причина #1 «только edge на manager- хосте отгружает логи», поэтому подтвердите. См. ONGRID_PUBLIC_URL.
  8. Запускает docker compose up -d и polls https://localhost/healthz до 60 секунд.
  9. Печатает баннер с Web URL, API URL, tunnel-эндпоинтом и bootstrap admin-паролем — записывается один раз.

Здоровая установка заканчивается так:

text
[INFO] ongrid is healthy (took ~14s)

===============================================================
  ongrid installation complete
===============================================================

Web UI:          https://203.0.113.10/
API URL:         https://203.0.113.10/api/v1
Tunnel endpoint: 203.0.113.10:40012   (for edges)

---------------- bootstrap admin ----------------
email:    admin@example.com
password: 9Xp4hKqf1bL2zRq3Wn7v
>> Record this password NOW. It will not be shown again.
-------------------------------------------------

Запишите admin-пароль

Bootstrap-пароль показывается один раз в install-баннере, и также хранится (chmod 600) в /opt/ongrid/.env как ONGRID_ADMIN_PASSWORD. Если вы потеряете оба, вам придётся ресетить его из БД; см. чек-лист первого запуска.

2. Войти

Откройте https://<your-host>/ в браузере. Примите TLS-предупреждение (или установите реальный сертификат сначала). Войдите с:

  • email — то, что вы поставили в .env как ONGRID_ADMIN_EMAIL (по умолчанию admin@example.com)
  • password — из install-баннера

При первом входе вы приземляетесь на chat home page. Model picker в верхней панели читает «no provider configured» — почините это до продолжения.

3. Сконфигурировать модель (1 мин)

Перейдите в Settings → Models. Выберите любую из:

  • OpenAI — вставьте sk-…, дефолтная модель gpt-5.4.
  • Anthropic — вставьте sk-ant-…, дефолтная claude-opus-4-7.
  • Zhipu (GLM) — вставьте API-ключ, дефолтная glm-4.7.
  • DeepSeek, Gemini, Kimi или Custom (OpenAI-совместимый) для чего-то ещё (vLLM, Ollama, OpenRouter, корпоративный relay…).

Нажмите Save. Форма pre-registers provider — рестарт не нужен. Затем на той же странице поставьте Default provider на тот, который вы только что сконфигурировали.

Почему default важен

Default provider управляет каждым back-end LLM вызовом (alert investigation, translate, summarize). Model picker на chat-странице только override'ит для текущего chat-треда (см. секцию Models в сайдбаре для деталей маршрутизации).

Вернитесь в Chat в top nav и спросите "hello". Если модель отвечает, вы подключены.

4. Зарегистрировать первый edge

Кликните Edges → New edge в side nav. Заполните:

  • Name — что угодно; например, prod-web-01.
  • Description — опционально.

Нажмите Create. Detail-страница показывает две вещи, которые вам нужны:

  • Access key / secret key — server-generated; secret показан один раз.
  • Install command — однострочник вроде:
bash
curl -k -sSL https://203.0.113.10/install.sh | sudo bash -s -- \
    --access-key=AK_xxxxxxxxxxxxxxxx \
    --secret-key=SK_yyyyyyyyyyyyyyyy \
    --server-edge-addr=203.0.113.10:40012 \
    --server-http-addr=203.0.113.10:443

SSH к хосту, который вы хотите мониторить (это может быть та же машина, на которой вы установили manager — это валидное demo) и запустите эту команду как root.

Что происходит, по порядку:

  1. Installer скачивает соответствующий ongrid-edge-linux-amd64 бинарь, плюс четыре plugin-бинаря (promtail, node_exporter, process_exporter, otelcol-contrib) и apply-pending-upgrade.sh hook в /usr/local/lib/ongrid-edge/.
  2. Создаёт системного пользователя ongrid-edge, делает его членом adm и systemd-journal, чтобы logs-плагин мог читать /var/log/* и journal.
  3. Кладёт systemd-юнит в /etc/systemd/system/ongrid-edge.service.
  4. Записывает /etc/ongrid-edge/ongrid-edge.env с access/secret key (mode 0640, owned root:ongrid-edge).
  5. systemctl enable --now ongrid-edge. Polls journal для строки agent: registered with cloud до 20с.
  6. Печатает self-check (plugin-бинари присутствуют? journald читаемый? data-plane host достижим?).

Успешная регистрация заканчивается:

text
[OK]    plugin binary present: promtail
[OK]    plugin binary present: otelcol-contrib
[OK]    plugin binary present: node_exporter
[OK]    plugin binary present: process_exporter
[OK]    journald readable by ongrid-edge
[OK]    data-plane host 203.0.113.10:443 reachable (TCP)
[OK]    self-check passed

[OK]    installed:    ongrid-edge v0.7.159
[OK]    connected:    edge_id=42 via 203.0.113.10:40012
[OK]    tail logs:    journalctl -u ongrid-edge -f

5. Увидеть в UI

Обратно в браузере:

  • Edges — ваш edge в списке с зелёной «online» точкой. Карточка показывает hostname, версию ядра, общую RAM, диск, дистрибутив.
  • Monitor — выберите edge. В пределах ~30 секунд вы увидите CPU, memory, disk, load, network IO charts, наполняющиеся. Это Grafana-панели, встроенные в страницу через подпуть /grafana/.
  • Logs — выберите edge. Tail /var/log/* и systemd journal вживую; LogQL поддерживается в search bar.
  • Topology — edge появляется как host-узел. По мере добавления edge'ей (или обнаружения сервисов через скилл expand_topology), граф заполняется.

6. Спросить агента

Вернитесь в Chat. Попробуйте одно из:

  • "List my edges and show me which has the highest load."
  • "Tail /var/log/syslog on prod-web-01 for the last 5 minutes."
  • "Why did CPU spike on prod-web-01 around 10:42?"

Агент вызывает реальные инструменты — list_edges, bash, query_promql, search_logs, find_topology_node и т.д. Транскрипт показывает каждый вызов как collapsible chip; кликните по одному, чтобы увидеть аргументы и output.

Что дальше?

  • Сконфигурировать канал, чтобы агент мог отвечать в Slack / Telegram / Larksuite / DingTalk / WeCom.
  • Авторировать правило алерта — Ongrid отгружает 6 встроенных host-правил и 14 типов правил по PromQL / log_match / log_volume / trace_latency / trace_error_rate.
  • Подключить базу знаний — встроенный vault offline; добавьте свои org-playbook (Markdown, PDF, DOCX) или синхронизируйте Git-репозиторий.
  • Production hardening — замените self-signed TLS-сертификат, поставьте ONGRID_PUBLIC_URL на реальный домен, бэкапьте /var/lib/ongrid, настройте реальный default_provider с budget cap.

Деинсталляция

На manager: cd ongrid-vX.Y.Z-linux-amd64 && sudo ./uninstall.sh. На edge: curl -k -sSL https://<server>/install.sh | sudo bash -s -- --uninstall. Логи под /var/log/ongrid-edge сохраняются.