Installer sous Linux (automatique)
Sur cette page
L'installateur est le moyen recommandé de faire tourner un agent sur un serveur ou une VM Linux. Il télécharge l'agent, le vérifie, stocke son jeton de manière sûre et l'exécute comme service systemd durci, sous un utilisateur non privilégié. Relancez-le quand vous voulez : il met à jour ou répare l'installation, sans jamais toucher au jeton.
Une machine, un agent. Pour faire tourner plusieurs agents sur un même hôte, utilisez Docker — un conteneur par agent.
Avant de commencer#
- Une distribution Linux avec systemd 235 ou plus récent (Debian 11+, Ubuntu 20.04+, RHEL/Rocky/Alma 8+…), sur x86_64 ou aarch64, avec la glibc (Alpine et les autres distributions musl : utilisez Docker).
- Un accès root (ou
sudo),curl(ouwget), et les bibliothèques ICU (libicu, présentes sur la plupart des distributions). - Le jeton de l'agent, copié lorsque vous avez créé l'agent dans Onagre.
Installer#
Téléchargez l'installateur, puis exécutez-le :
curl -fsSLo onagent-install.sh https://d.onag.re/install.sh
sudo bash onagent-install.shIl ne demande qu'une chose : le jeton — collez-le ; rien ne s'affiche pendant la saisie.
✓ Linux detected (Ubuntu 24.04 LTS, systemd 255)
✓ Architecture: x86_64
✓ Downloading Onagre Agent 2.9.0.0
✓ SHA-256 verified
✓ Binary checked (onagent --version: 2.9.0.0)
✓ System user onagent created
✓ Installing Onagre Agent
✓ Creating system service
Enter your Onagre Agent token:
>
✓ Token stored securely (/etc/onagent/onagent.env, root only)
✓ Service enabled
✓ Agent started
✓ Connected to Onagre
Onagre Agent is ready.Connected to Onagre ne s'affiche qu'une fois que l'agent lui-même indique être connecté au Hub (son endpoint /ready). Sinon, l'installateur dit ce qui ne va pas — API injoignable, jeton refusé, Hub injoignable — et où regarder.
Vous préférez une seule ligne ? L'installateur est conçu pour être exécuté via un pipe en toute sécurité (rien ne s'exécute avant son téléchargement complet, et le jeton est lu depuis votre terminal) :
curl -fsSL https://d.onag.re/install.sh | sudo bashInstallation sans intervention#
Le jeton n'est jamais accepté sur la ligne de commande, où il resterait dans l'historique du shell et la liste des processus. Fournissez-le dans un fichier ou sur l'entrée standard :
sudo bash onagent-install.sh --token-file /chemin/du/jetonprintf '%s' "$ONAGRE_TOKEN" | sudo bash onagent-install.sh --token-stdinAjoutez --yes pour répondre oui à toutes les questions (mises à jour, migration). L'installateur se termine avec un code non nul si l'agent ne se connecte pas.
Mettre à jour#
Relancez l'installateur :
sudo bash onagent-install.shOnagre Agent already installed
Current version: 2.8.4.112
Latest version: 2.9.0.0
Upgrade 2.8.4.112 → 2.9.0.0? [Y/n]La mise à jour est transactionnelle : la nouvelle version est téléchargée, contrôlée par son SHA-256 et exécutée une fois (--version) avant tout changement ; le binaire actuel est conservé ; le nouveau le remplace de façon atomique, puis l'agent redémarre. Si l'agent était connecté avant et ne l'est plus après la mise à jour, la version précédente est restaurée automatiquement. Le jeton et /etc/onagent/onagent.env ne sont jamais modifiés.
| Commande | Effet |
|---|---|
sudo bash onagent-install.sh |
Installe, met à jour vers la dernière version, ou répare (binaire, service ou jeton manquant). |
sudo bash onagent-install.sh --version 2.9.0.0 |
Installe exactement cette version (mise à jour ou retour en arrière). |
sudo bash onagent-install.sh --rollback |
Revient au binaire conservé par la dernière mise à jour (relancez-le pour annuler). |
sudo bash onagent-install.sh --set-token |
Remplace le jeton — après Revoke and regenerate dans Onagre — et redémarre l'agent. Aussi avec --token-file ou --token-stdin. |
sudo bash onagent-install.sh --uninstall |
Supprime l'agent ; conserve /etc/onagent (jeton). Ajoutez --purge pour le supprimer aussi, avec l'utilisateur onagent. |
sudo bash onagent-install.sh --help |
Toutes les options. |
Gérer l'agent#
systemctl status onagent
journalctl -u onagent
journalctl -u onagent -f
journalctl -u onagent --since today
journalctl -u onagent -p warningLes logs vont dans le journal systemd, avec leur niveau : -p warning n'affiche que les avertissements et les erreurs. Si le jeton est refusé, l'agent s'arrête (code de sortie 78) au lieu de redémarrer en boucle : corrigez le jeton avec --set-token.
Ce qui est installé#
| Élément | Emplacement |
|---|---|
| Agent | /usr/local/bin/onagent |
| Jeton et réglages | /etc/onagent/onagent.env (TOKEN=…, root uniquement, mode 0600) |
| Service | /etc/systemd/system/onagent.service |
| Version précédente (retour arrière) et état de l'installateur | /usr/local/lib/onagent/ |
| Cache d'exécution | /var/cache/onagent/ |
| Logs | journal systemd (journalctl -u onagent) |
Sécurité#
L'agent s'exécute sous l'utilisateur système onagent (sans shell ni répertoire personnel), jamais en root. Le service ne lui accorde que CAP_NET_RAW, nécessaire au Sensor Ping et à la découverte réseau, et le durcit : système en lecture seule, aucune élévation de privilèges, aucun accès aux périphériques ni aux réglages du noyau.
Les Sensors Fichier ne peuvent lire que les fichiers lisibles par l'utilisateur onagent. Pour un fichier lisible par root seul, accordez la lecture de ce seul fichier :
sudo setfacl -m u:onagent:r /chemin/du/fichierPour modifier le service — davantage de fichiers ouverts, une variable d'environnement supplémentaire… — utilisez un drop-in, conservé par les mises à jour :
sudo systemctl edit onagentRéglages#
Les réglages sont des variables d'environnement : ajoutez-les dans /etc/onagent/onagent.env, une ligne NOM=valeur chacune, puis sudo systemctl restart onagent. Les mises à jour les conservent. Voir Configuration de l'agent.
Les endpoints de santé écoutent par défaut sur 127.0.0.1:27520, depuis la machine elle-même uniquement. HTTP_API_BIND=0.0.0.0 (ou une adresse de la machine) et PORT changent cela : une adresse autre que la boucle locale expose ces endpoints au réseau — leur protection (pare-feu) vous revient ; l'installateur ne crée aucune règle de pare-feu.
Vous préférez faire chaque étape vous-même ? Voir Linux (manuel).