Démarrage rapide
Objectif : en environ 10 minutes vous aurez…
- La stack Ongrid complète tournant sur une seule box Linux via docker compose (manager + broker frontier + Prometheus + Loki + Tempo + Grafana + Qdrant + SearXNG).
- L'utilisateur admin connecté sur HTTPS.
- Un
ongrid-edgeenregistré 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-commandedocker composev2openssl(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é.
# 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.shCe que install.sh fait, dans l'ordre :
- Preflight. Vérifie que
docker+docker compose v2sont présents et que le daemon est joignable. - Stage la config sous
/opt/ongrid/(fichier compose, prometheus, loki, tempo, grafana, searxng, artefacts edge). - 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/. - 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. - Charge les images docker (
ongrid,ongrid-web,frontier) depuis le tarball — pas de pull Docker Hub requis. - Remplit
.envavec des mots de passe aléatoires forts pourMYSQL_*,ONGRID_JWT_SECRET,GRAFANA_ADMIN_PASSWORDet le bootstrapONGRID_ADMIN_PASSWORD. - Demande
ONGRID_PUBLIC_URLavec 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. - Exécute
docker compose up -det sondehttps://localhost/healthzpendant jusqu'à 60 secondes. - 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 :
[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
.envcommeONGRID_ADMIN_EMAIL(défautadmin@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éfautgpt-5.4. - Anthropic — collez
sk-ant-…, défautclaude-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 :
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:443SSH 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 :
- 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 hookapply-pending-upgrade.shdans/usr/local/lib/ongrid-edge/. - Crée l'utilisateur système
ongrid-edge, le rend membre deadmetsystemd-journalpour que le plugin logs puisse lire/var/log/*et le journal. - Dépose une unit systemd à
/etc/systemd/system/ongrid-edge.service. - Écrit
/etc/ongrid-edge/ongrid-edge.envavec les clés access/secret (mode 0640, ownedroot:ongrid-edge). systemctl enable --now ongrid-edge. Sonde le journal pour la ligneagent: registered with cloudpendant jusqu'à 20s.- 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 :
[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 -f5. 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 vraidefault_provideravec 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.