Aller au contenu

Configuration de l'agent

Sur cette page
  1. Ce que reçoit l'agent
  2. Où résident les secrets
  3. Réglages
  4. Logs
  5. Réseau

Un agent n'a besoin que d'un seul réglage : son jeton. Tout le reste — les sondes à exécuter, leur planification, leurs variables et leurs secrets — vient d'Onagre. Il n'y a aucun fichier de configuration à maintenir sur la machine de l'agent, et modifier une sonde dans Onagre n'exige jamais de toucher à l'agent.

Ce que reçoit l'agent#

Au démarrage, l'agent présente son jeton à l'API Onagre, qui lui indique à quel Hub se connecter. Il maintient ensuite une connexion permanente et chiffrée avec ce Hub, qui lui envoie chaque contrôle à exécuter :

  • les paramètres de la sonde, avec ses variables déjà remplacées par leurs valeurs ;
  • pour les sondes de base de données, Redis et RabbitMQ, la chaîne de connexion stockée comme secret, déchiffrée par le Hub et envoyée par la connexion chiffrée.

L'agent conserve les secrets en mémoire uniquement, le temps du contrôle : ils ne sont jamais écrits sur disque ni dans ses logs.

Où résident les secrets#

Les mots de passe et chaînes de connexion des bases de données ne sont pas configurés sur l'agent. Stockez-les dans Onagre, dans l'environnement des sondes qui les utilisent :

  1. Configuration → Environments → l'environnement (Production…) → Secrets → ajoutez la chaîne de connexion.
  2. Dans la sonde, choisissez ce secret dans la section Database connection, Redis connection ou Broker connection.

Voir Secrets et Sécurité des secrets.

Réglages#

Les réglages sont des variables d'environnement — dans /etc/onagent/onagent.env sous Linux (puis sudo systemctl restart onagent ; les mises à jour conservent le fichier), l'environnement du service sous Windows, -e ou --env-file pour Docker. La plupart existent aussi en option de ligne de commande. Seul TOKEN est obligatoire : tous les autres réglages ont la valeur par défaut ci-dessous, il n'y a rien à écrire pour eux.

Variable Option Défaut Rôle
TOKEN -t (obligatoire) Le jeton de l'agent, obtenu via New agent ou Revoke and regenerate.
API -a https://api.onagre.io L'API Onagre. Ne la modifiez que si le support Onagre vous le demande.
LOG -l voir Logs Chemin du fichier de log.
LOG_CONSOLE -lc activé (Linux, Docker), désactivé (Windows) 0, false, off ou no : n'écrit plus les logs sur la sortie standard (journal, docker logs) ; 1, true, on ou yes : les écrit.
LOG_FORMAT texte json : sortie standard en JSON compact, un événement par ligne avec toutes ses propriétés — pour les plateformes de conteneurs qui indexent le JSON.
PORT -p 27520 Port des endpoints de santé.
HTTP_API -nohttp activé 0, false, off ou no : désactive les endpoints de santé.
HTTP_API_BIND 127.0.0.1 Adresse des endpoints de santé : 127.0.0.1 (la machine seulement), 0.0.0.0 (toutes les interfaces IPv4), une adresse de la machine, ou any (toutes les interfaces IPv4 et IPv6). Une adresse autre que la boucle locale les expose au réseau.
SM -sm — N'importe quelle valeur : cesse d'envoyer le CPU, la mémoire et le disque de la machine (sonde Server).
HEARTBEAT_ENDPOINT -he — Une URL à vous que l'agent appelle (POST, JSON {"agent": "<code>", "timestamp": "…"}) à intervalle régulier, pour surveiller l'agent depuis un autre outil.
HEARTBEAT_INTERVAL -hi 30 Intervalle de ces appels, en secondes.
HL -hl 10 Durée de vie des handlers HTTP de l'agent, en minutes. Conservez la valeur par défaut.
SENSOR_WORKERS -w 32 Nombre de checks exécutés en même temps (de 1 à 256). L'agent n'accepte jamais plus de travail qu'il ne peut en traiter : au-delà, les checks attendent côté Onagre au lieu d'être perdus.
SENSOR_HTTP2 activé 0, false, off ou no : les sondes HTTP n'utilisent plus que HTTP/1.1 (HTTP/2 est sinon proposé, avec repli automatique).

--version affiche la version de l'agent et s'arrête, sans réseau, ni jeton, ni configuration.

Si TOKEN est absent ou si l'API Onagre le refuse, l'agent s'arrête avec le code de sortie 78 — le service Linux ne le redémarre alors pas en boucle : corrigez le jeton, puis redémarrez. Tant que l'API est injoignable, ou répond par une erreur temporaire, l'agent attend et réessaie de lui-même.

Logs#

Système Par défaut
Linux Sortie standard, collectée par le journal systemd : journalctl -u onagent (-f pour suivre, --since today, -p warning pour les avertissements et erreurs). Aucun fichier de log.
Docker Sortie du conteneur : docker logs. Aucun fichier de log.
Windows Un fichier par jour, 4 conservés, dans %LOCALAPPDATA%\Onagre\ — pour le compte LocalSystem, C:\Windows\System32\config\systemprofile\AppData\Local\Onagre\.

LOG=<chemin> ajoute un fichier de log (un par jour, 4 conservés) sur tout système.

L'agent n'envoie ses logs nulle part de lui-même : le système les collecte — le journal systemd, le runtime de conteneurs, ou le fichier sous Windows. Pour les centraliser, branchez votre propre collecteur (Grafana Alloy, Vector, Fluent Bit…) sur le journal ou sur les logs des conteneurs. LOKI_ENDPOINT, LOKI_ACCOUNT et LOKI_PASSWORD ne sont plus pris en charge : ils sont ignorés et l'agent journalise un avertissement au démarrage tant que vous ne les avez pas retirés.

Au démarrage, le log affiche le code de l'agent, sa version et le point de terminaison du Hub (Endpoint : …) — l'adresse à autoriser si vous filtrez le trafic sortant.

Réseau#

L'agent n'ouvre que des connexions sortantes :

Destination Port Pourquoi
api.onagre.io 443 (HTTPS) Démarrage : authentification et adresse du Hub.
Le Hub (Endpoint dans le log) 443 (gRPC sur TLS) Connexion permanente : contrôles et résultats.
api.ipify.org 443 (HTTPS) Facultatif : affiche l'adresse IP publique de l'agent dans Onagre.
Vos ressources selon la configuration Les contrôles eux-mêmes.