Skip to content

Démarrage rapide

Objectif : en environ 10 minutes vous aurez…

  1. La stack Ongrid complète tournant sur une seule box Linux via docker compose (manager + broker frontier + Prometheus + Loki + Tempo + Grafana + Qdrant + SearXNG).
  2. L'utilisateur admin connecté sur HTTPS.
  3. Un ongrid-edge enregistré contre votre manager, livrant les métriques CPU / mémoire / disque que vous pouvez voir sur la page Monitor.

Si vous voulez un walk-through plus profond, lisez Installation serveur et Installation edge à la place.

0. Prérequis

Une box Linux (Ubuntu 22.04+, Debian 12+, RHEL/Rocky/Alma 9+ testés).

  • 4 Go de RAM minimum (8 Go recommandés)
  • 20 Go de disque libre sous /var/lib/ongrid (le dir de données)
  • root ou sudo
  • docker ≥ 24 avec la sous-commande docker compose v2
  • openssl (utilisé pour fabriquer le cert TLS auto-signé au premier démarrage)
  • TCP 443 et 40012 ouverts aux hosts où vos edges tourneront

Pour tester en local uniquement

Vous pouvez tout exécuter sur un laptop. Gardez juste en tête que ONGRID_PUBLIC_URL retombe par défaut sur l'IP LAN du laptop, donc tout edge que vous installez sur une autre machine doit pouvoir atteindre cette IP LAN sur TCP/443.

1. Installer le serveur

Le chemin d'install canonique est gh release download plus sudo ./install.sh. Le tarball est auto-contenu — images docker, binaires edge, fichiers de config, tout est empaqueté.

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

Ce que install.sh fait, dans l'ordre :

  1. Preflight. Vérifie que docker + docker compose v2 sont présents et que le daemon est joignable.
  2. Stage la config sous /opt/ongrid/ (fichier compose, prometheus, loki, tempo, grafana, searxng, artefacts edge).
  3. Crée les dirs de données sous /var/lib/ongrid/ (mysql, prometheus, loki, tempo, qdrant, grafana, embeddings) et les chown vers l'uid que chaque image de conteneur attend. Les logs vont dans /var/log/ongrid/.
  4. Génère un cert TLS auto-signé dans /opt/ongrid/certs/ — les navigateurs avertiront la première fois. Remplacez par un vrai cert plus tard ; voir Installation serveur.
  5. Charge les images docker (ongrid, ongrid-web, frontier) depuis le tarball — pas de pull Docker Hub requis.
  6. Remplit .env avec des mots de passe aléatoires forts pour MYSQL_*, ONGRID_JWT_SECRET, GRAFANA_ADMIN_PASSWORD et le bootstrap ONGRID_ADMIN_PASSWORD.
  7. Demande ONGRID_PUBLIC_URL avec un compte à rebours de 30 secondes. C'est l'URL que vos edges utiliseront pour atteindre le plan de données de ce manager (logs → Loki, traces → push OTLP). Sur un terminal interactif, une mauvaise valeur ici est la cause n°1 du « seul l'edge sur l'host manager livre les logs », donc confirmez-la. Voir ONGRID_PUBLIC_URL.
  8. Exécute docker compose up -d et sonde https://localhost/healthz pendant jusqu'à 60 secondes.
  9. Affiche une bannière avec l'URL Web, l'URL API, l'endpoint du tunnel, et le mot de passe admin bootstrap — enregistré une fois.

Une install saine se termine ainsi :

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.
-------------------------------------------------

Enregistrez le mot de passe admin

Le mot de passe bootstrap est affiché une fois dans la bannière d'install et est aussi stocké (chmod 600) dans /opt/ongrid/.env comme ONGRID_ADMIN_PASSWORD. Si vous perdez les deux, vous devrez le reset depuis la base de données ; voir check-list du premier démarrage.

2. Se connecter

Ouvrez https://<votre-host>/ dans un navigateur. Acceptez le warning TLS (ou installez un vrai cert d'abord). Connectez-vous avec :

  • email — ce que vous avez mis dans .env comme ONGRID_ADMIN_EMAIL (défaut admin@example.com)
  • mot de passe — celui de la bannière d'install

Au premier login, vous atterrissez sur la page d'accueil du chat. Le picker de modèle dans la barre du haut indique « no provider configured » — corrigez ça avant de continuer.

3. Configurer un modèle (1 min)

Allez dans Settings → Models. Choisissez l'un de :

  • OpenAI — collez sk-…, modèle par défaut gpt-5.4.
  • Anthropic — collez sk-ant-…, défaut claude-opus-4-7.
  • Zhipu (GLM) — collez la clé API, défaut glm-4.7.
  • DeepSeek, Gemini, Kimi, ou Custom (compatible OpenAI) pour tout le reste (vLLM, Ollama, OpenRouter, un relais d'entreprise…).

Pressez Save. Le formulaire pré-enregistre le provider — pas de redémarrage requis. Puis dans la même page, mettez Default provider à celui que vous venez de configurer.

Pourquoi le défaut importe

Le provider Default pilote chaque appel LLM côté back-end (investigation d'alerte, translate, summarize). Le picker de modèle sur la page de chat ne surcharge que pour le thread de chat courant (voir la section Modèles dans la sidebar pour les détails de routing).

Repartez vers Chat dans la nav du haut et demandez "hello". Si le modèle répond, vous êtes câblé.

4. Enregistrer votre premier edge

Cliquez sur Edges → New edge dans la nav latérale. Remplissez :

  • Name — n'importe quoi ; par ex. prod-web-01.
  • Description — optionnel.

Pressez Create. La page de détail affiche deux choses dont vous avez besoin :

  • Access key / secret key — générés côté serveur ; le secret est affiché une fois.
  • Install command — une seule ligne comme :
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 vers le host que vous voulez monitorer (ça peut être la même box sur laquelle vous avez installé le manager — c'est une démo valide) et exécutez cette commande comme root.

Ce qui se passe, dans l'ordre :

  1. L'installer télécharge le binaire matchant ongrid-edge-linux-amd64, plus quatre binaires de plugin (promtail, node_exporter, process_exporter, otelcol-contrib) et le hook apply-pending-upgrade.sh dans /usr/local/lib/ongrid-edge/.
  2. Crée l'utilisateur système ongrid-edge, le rend membre de adm et systemd-journal pour que le plugin logs puisse lire /var/log/* et le journal.
  3. Dépose une unit systemd à /etc/systemd/system/ongrid-edge.service.
  4. Écrit /etc/ongrid-edge/ongrid-edge.env avec les clés access/secret (mode 0640, owned root:ongrid-edge).
  5. systemctl enable --now ongrid-edge. Sonde le journal pour la ligne agent: registered with cloud pendant jusqu'à 20s.
  6. Affiche un self-check (binaires de plugin présents ? journald lisible ? host de plan de données joignable ?).

Un enregistrement réussi se termine avec :

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. Voir dans l'UI

De retour dans le navigateur :

  • Edges — votre edge est dans la liste avec un point « online » vert. La carte montre hostname, version du kernel, RAM totale, disque, distro.
  • Monitor — choisissez l'edge. En ~30 secondes vous verrez les charts CPU, mémoire, disque, load, IO réseau se peupler. Ce sont des panels Grafana embarqués dans la page via le sous-path /grafana/.
  • Logs — choisissez l'edge. Tail /var/log/* et le journal systemd en live ; LogQL supporté dans la barre de recherche.
  • Topology — l'edge apparaît comme nœud host. À mesure que vous ajoutez plus d'edges (ou détectez des services via le skill expand_topology), le graphe se remplit.

6. Demander à l'agent

Retournez à Chat. Essayez l'un de :

  • "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?"

L'agent appelle de vrais outils — list_edges, bash, query_promql, search_logs, find_topology_node, etc. La transcription montre chaque appel comme chip pliable ; cliquez sur un pour voir les arguments et la sortie.

Et après ?

  • Configurer un canal pour que l'agent puisse répondre sur Slack / Telegram / Larksuite / DingTalk / WeCom.
  • Créer une règle d'alerte — Ongrid livre 6 règles host intégrées et 14 types de règles à travers PromQL / log_match / log_volume / trace_latency / trace_error_rate.
  • Connecter une base de connaissances — le vault intégré est offline ; ajoutez vos propres playbooks d'org (Markdown, PDF, DOCX) ou syncez un repo Git.
  • Hardening production — remplacez le cert TLS auto-signé, mettez ONGRID_PUBLIC_URL à un vrai domaine, sauvegardez /var/lib/ongrid, mettez en place un vrai default_provider avec un plafond de budget.

Désinstaller

Sur le manager : cd ongrid-vX.Y.Z-linux-amd64 && sudo ./uninstall.sh. Sur un edge : curl -k -sSL https://<server>/install.sh | sudo bash -s -- --uninstall. Les logs sous /var/log/ongrid-edge sont préservés.