L'agent StatHall
Un agent Python single-file, distribué en .deb signé GPG, qui pousse vos métriques système vers StatHall en HTTPS — sans ouvrir aucun port entrant.
Principes
- Python stdlib uniquement — pas de dépendance pip
externe, réutilise le
python3système Debian/Ubuntu. - Push-only HTTPS — l'agent n'écoute jamais, ne reçoit aucune connexion entrante. Vous gardez votre firewall fermé.
- Token Fernet — généré côté StatHall, scope strict à une cible (1 token = 1 serveur). Affiché une seule fois.
- Binding host UUID — un token est lié au premier host qui s'enregistre. Toute réutilisation depuis un autre host est refusée HTTP 409.
- .deb signé GPG — empreinte
B37B34F1023ECB71, dépôtapt.stathall.com. - systemd unit — supervision native, restart on failure, logs journald.
Ce qui est collecté
L'agent multiplexe trois types de données dans un payload
OTel-shaped vers /api/v1/agents/{token}/ingest :
- Métriques — CPU (load1/5/15, %user/%sys/%idle), mémoire (used/free/cached/swap), disques (par mountpoint), network (rx/tx par interface).
- Événements — services systemd (started, stopped, failed), mises à jour APT (disponibles, sécurité, applied), redémarrages requis.
- Logs — extraits journald par priorité (warning et plus), unité, identifiant SHA-256 pour dédup.
Installation rapide
Un seul one-liner sur votre serveur, après avoir généré un token dans le cockpit (cible serveur → onglet « Agent ») :
curl -fsSL https://apt.stathall.com/install.sh | sudo sh -s <TOKEN_AFFICHÉ_SPA>
Le script détecte la distribution, importe la clé GPG, ajoute le
dépôt APT, installe le paquet, écrit
/etc/stathall-agent/config.ini, enregistre l'hôte
(binding strict ADR-0009) puis systemctl enable --now
stathall-agent. Une seule commande, pas d'étape d'enrôlement
séparée.
Prérequis
- Debian 12+ ou Ubuntu 22.04+ (
python3≥ 3.10 livré par défaut). - Accès root / sudo pour le
apt install+ l'unité systemd. - HTTPS sortant vers
app.stathall.com. Aucun port entrant requis sur le serveur.