Watchflare docs
Sur cette page

Watchflare : supervision de serveurs auto-hébergée

Supervision de serveurs open source et auto-hébergée. Des agents légers transmettent les métriques et l'inventaire de paquets au Hub via gRPC/TLS, avec tableaux de bord temps réel et alertes.

Watchflare est une plateforme auto-hébergée qui surveille vos hôtes et suit leurs logiciels. Elle collecte les métriques système en temps réel (CPU, mémoire, disque, réseau et températures) et maintient un inventaire complet des paquets sur vos hôtes : versions installées, historique quotidien des changements et mises à jour disponibles.


Deux composants

Watchflare est constitué de deux éléments qui travaillent ensemble :

Le Hub est le serveur central. Déployez-le une fois avec Docker Compose ou en tant que binaire Linux natif. Il reçoit les données des agents, les stocke dans une base de séries temporelles et sert le tableau de bord web. Le Hub est un seul binaire, avec l’interface embarquée.

L’Agent est un démon léger qui s’exécute sur chaque hôte que vous souhaitez surveiller. Il prend en charge Linux et macOS, avec une prise en charge de Windows prévue. Il collecte les métriques système toutes les 30 secondes, envoie un heartbeat toutes les 5 secondes et dresse un inventaire quotidien des paquets. L’agent utilise un minimum de ressources et n’a jamais besoin de root pour s’exécuter. Sous Linux, il s’exécute en tant qu’utilisateur système dédié watchflare, et sous macOS, il s’exécute sous votre propre compte via Homebrew.

Des agents s'exécutant sur des hôtes Linux (systemd) et macOS (Homebrew) envoient les métriques au Hub via gRPC avec TLS 1.3 et HMAC. Le Hub, un seul binaire Go servant un tableau de bord SvelteKit embarqué, stocke les données dans PostgreSQL/TimescaleDB via SQL sur TCP 5432.

Ce qu’il surveille

CatégorieMétriques
CPUUsage %, iowait, steal (VMs)
MémoireUtilisée, disponible, buffers, cached, swap
DisqueTotal, utilisé, débit lecture/écriture
RéseauBande passante entrante et sortante
TempératureCapteurs de température CPU et autres (stockage, gestion d’énergie, etc.) sur les hôtes physiques
SystèmeUptime, charge moyenne (1/5/15 min), nombre de processus
ConteneursCPU, mémoire, réseau par conteneur (Docker/Podman, à activer)
ServicesInventaire des unités systemd et état en temps réel sur les hôtes Linux
PaquetsPaquets installés, versions, et détection des obsolètes parmi ~30 gestionnaires de paquets pris en charge

Ce que vous obtenez

  • Tableau de bord temps réel. Le statut en ligne/hors ligne des hôtes est mis à jour en quelques secondes via Server-Sent Events. Les métriques en direct sont diffusées directement vers le tableau de bord à mesure que les agents les transmettent. Pas d’interrogation périodique, pas de rechargement de page.
  • Graphiques d’historique. Métriques stockées dans TimescaleDB avec agrégation automatique. Consultez les plages 1 h, 12 h, 24 h, 7 j et 30 j.
  • Inventaire des paquets. Liste complète des paquets installés sur chaque hôte, mise à jour quotidiennement, avec historique des changements et détection des paquets obsolètes.
  • Alertes. Alertes basées sur des seuils de CPU, mémoire, disque, charge et température, plus les notifications d’hôte hors ligne. Envoyées par e-mail et vers n’importe lequel des 26+ canaux de notification pris en charge par Shoutrrr (Discord, Slack, Telegram, Matrix, Ntfy, Gotify, HTTP générique, et plus).
  • Journal d’écriture anticipée (WAL). Si le Hub est injoignable, l’agent conserve les métriques localement et les rejoue à la reconnexion. Les métriques ne sont pas perdues pendant les coupures brèves : le WAL conserve jusqu’à 10 Mo par défaut (configurable via wal_max_size_mb).

Auto-hébergé, par conception

Watchflare s’exécute entièrement sur votre infrastructure. Le Hub et sa base de données se trouvent sur un serveur que vous contrôlez. Les agents ne communiquent qu’avec votre Hub : aucun suivi d’usage, aucune télémétrie.

Remarque

Prêt à commencer ? Le démarrage rapide vous met en service en moins de 5 minutes.