2026-04-27 16:41:16 +02:00
2026-04-27 16:41:16 +02:00
2026-04-07 15:37:57 +02:00
2026-04-27 16:41:16 +02:00
2026-04-27 16:41:16 +02:00
2026-04-27 12:03:08 +02:00
2026-04-27 14:15:30 +02:00
2026-04-27 12:03:08 +02:00
2026-04-27 12:03:08 +02:00
2026-04-27 14:15:30 +02:00
2026-04-27 16:41:16 +02:00

SuperVision

Outil de supervision système avec interface web, écrit en Rust. Surveille CPU, RAM, disques et processus en temps réel, avec alertes par email et suivi des utilisateurs Amadea.

Fonctionnalités

  • Dashboard temps réel — CPU, RAM, disques, uptime, statut par code couleur (ok / warning / critical)
  • Surveillance de processus — détection par pattern, alerte si processus arrêté, seuil mémoire configurable
  • Alertes email (SMTP) — envoi automatique avec cooldown configurable pour éviter le spam
  • Suivi utilisateurs Amadea — analyse des logs awevents et isoft, statuts actif/inactif/absent/déconnecté, temps de présence et temps actif, compteur d'erreurs par utilisateur (logs isoft niveau ERROR), graphe d'activité horaire, hebdomadaire et mensuel, historique par utilisateur
  • Interface de configuration — seuils, SMTP, processus, port, mot de passe admin, tout modifiable via l'UI
  • Service Windows — installation en tant que service système avec démarrage automatique

Prérequis

Générer l'exécutable

cd SuperVisionRust
cargo build --release

L'exécutable est généré dans : target\release\supervision.exe

Déploiement

Copier les éléments suivants dans un dossier de déploiement (ex: C:\SuperVision\) :

supervision.exe
static\
templates\

Lancer l'application

En mode console (test / debug)

supervision.exe

L'interface web est accessible sur : http://localhost:5000

Identifiants par défaut : admin / admin — à changer immédiatement dans les paramètres.

Changer le port

Dans les paramètres de l'interface web (/settings), ou en éditant data\config.json avant le premier lancement :

{
  "port": 5000
}

Installation en tant que service Windows

L'invite de commande doit être lancée en tant qu'administrateur.

Installer le service

supervision.exe install

Le service est enregistré sous le nom Supervision avec un démarrage automatique.

Démarrer / arrêter le service

sc start Supervision
sc stop Supervision

Ou via le Gestionnaire des services Windows (services.msc).

Désinstaller le service

sc stop Supervision
supervision.exe uninstall

Structure des données

Au premier lancement, un dossier data\ est créé automatiquement dans le même répertoire que l'exécutable :

data\
  config.json    # Configuration complète (port, seuils, SMTP, admin...)
  alerts.json    # Historique des alertes (500 entrées max)

Configuration SMTP

Dans l'interface web (/settings), section SMTP :

Champ Description
Serveur Adresse du serveur SMTP (ex: smtp.office365.com)
Port Généralement 587 (TLS) ou 465 (SSL)
Utilisateur Adresse email d'envoi
Mot de passe Mot de passe ou token d'application
Destinataires Emails séparés par des virgules

Un bouton Tester permet de vérifier la configuration sans attendre une alerte réelle.

Surveillance des utilisateurs Amadea

Renseigner le chemin des logs Amadea dans les paramètres (/settings) :

C:\ProgramData\ISoft\Amadea Web 8 x64\data\logs

SuperVision parse les fichiers awevents_YY-MM-DD_* et isoft_YY-MM-DD_* pour construire la liste des utilisateurs connectés et leur activité.

Statuts utilisateurs

Statut Condition
actif action dans les N dernières minutes (défaut : 5 min)
inactif pas d'action depuis N à M minutes (défaut : 5 30 min)
absent pas d'action depuis plus de M minutes, sans déconnexion explicite (défaut : > 30 min)
déconnecté déconnexion explicite détectée dans les logs

Les seuils sont configurables dans les paramètres (/settings, section Seuils utilisateurs) :

  • Actif si : délai max depuis la dernière action pour être considéré actif
  • Inactif si : délai au-delà duquel l'utilisateur devient inactif
  • Seuil de pause : durée minimale d'inactivité comptée comme une pause dans le calcul du temps actif

Temps de présence et temps actif

Pour chaque utilisateur SuperVision calcule :

  • Présence — durée entre la première et la dernière action du jour
  • Temps actif — présence moins les pauses dépassant le seuil configuré

Erreurs isoft

SuperVision analyse les fichiers isoft_* pour compter les lignes de niveau ERROR. Chaque erreur est rattachée à un utilisateur via le champ ISI=<session_id> présent dans le nom du thread, et la correspondance session → login est établie grâce aux événements OpenUserSession et CloseUserSession.

Le nombre d'erreurs est affiché :

  • Dans le tableau temps réel et le tableau jour historique (colonne « Erreurs », badge rouge si > 0)
  • Dans le panneau historique utilisateur (colonne « Erreurs » + tooltip sur les barres)
  • Dans les tooltips des graphiques 7/30 jours (total d'erreurs du jour)

Tableau temps réel (aujourd'hui)

  • Colonnes : Utilisateur, Statut, Dernière action, Actions (24h), Erreurs, Présence / Actif, Depuis
  • Tri : actif → inactif → absent → déconnecté, puis dernière action la plus récente en premier

Graphiques d'activité

  • 7 jours et 30 jours — pic d'utilisateurs simultanés par jour
  • Cliquer sur une barre charge le tableau des utilisateurs de ce jour : login, première/dernière action, nombre d'actions, erreurs, présence, temps actif, nombre de sessions
  • Tooltip sur les barres affiche le nombre d'utilisateurs et le total d'erreurs du jour
  • Cliquer sur un utilisateur (tableau du jour ou tableau temps réel) affiche son historique individuel sur 7 ou 30 jours

Détection des fichiers de logs

SuperVision gère les deux cas du serveur HDS :

  • Log du jour sans date dans le nom (awevents.log) — log actif courant
  • Log du jour avec date dans le nom et zippé (awevents_26-04-13_1.log.gz) — rotation en cours de journée (forte activité)

Lancer les tests

cargo test

Sécurité

  • Sessions HTTP sécurisées avec cookie de session
  • Mots de passe stockés avec bcrypt
  • En-têtes de sécurité HTTP automatiques (X-Frame-Options, X-XSS-Protection, X-Content-Type-Options)
  • Toutes les routes (sauf /login) nécessitent une authentification
Description
Monitoring systeme Windows — CPU, RAM, disques, processus. Interface web securisee + alertes email.
Readme 679 MiB
VersionRust Latest
2026-04-27 16:40:46 +02:00
Languages
Rust 42.2%
HTML 29.3%
Python 25%
Batchfile 2.4%
CSS 0.8%
Other 0.3%