8.4 KiB
Supervision — Monitoring Systeme Windows
Outil de surveillance systeme avec interface web securisee. Surveille CPU, RAM, disques et processus specifiques (JVM, Nginx, Amadea Web 8 x64). Envoie des alertes email lorsque les seuils configures sont depasses.
Fonctionnalites
- Dashboard temps reel : CPU, RAM, disques, processus surveilles (rafraichissement auto)
- Suivi des utilisateurs Amadea : statut en temps reel (Actif / Inactif / Deconnecte), derniere action, nombre d'actions sur 24h, graphique d'activite horaire
- Alertes email : envoi automatique quand un seuil est depasse, avec cooldown anti-spam
- Configuration complete via l'interface :
- Seuils d'alerte (CPU, RAM, disque)
- Frequence de verification (en minutes)
- Serveur SMTP + test d'envoi integre
- Ajout/suppression de processus a surveiller
- Chemin du dossier de logs Amadea
- Seuils de statut utilisateurs (actif / inactif)
- Port de l'application
- Mot de passe administrateur
- Securite : authentification par login/mot de passe, rate limiting anti-bruteforce, en-tetes HTTP securises
- Historique des alertes consultable dans l'interface
Installation rapide (executable)
Pre-requis
- Windows 10/11 ou Windows Server 2016+
- Acces administrateur (pour le firewall et l'installation en service)
Etapes
-
Dezipper
supervision_portable.zipdans un dossier, par exemple :C:\supervision\ -
Lancer l'executable :
C:\supervision\supervision.exe -
Ouvrir le navigateur a l'adresse :
http://localhost:5000 -
Se connecter avec les identifiants par defaut :
- Identifiant :
admin - Mot de passe :
admin
- Identifiant :
-
Changer le mot de passe immediatement dans Configuration > Mot de passe administrateur
-
Configurer le SMTP dans Configuration > Configuration SMTP, puis cliquer sur "Envoyer un email de test" pour valider
-
Ajuster les seuils si necessaire (valeurs par defaut : CPU 90%, RAM 85%, Disque 90%)
Acces distant
Pour acceder a l'interface depuis une autre machine :
-
Ouvrir le port dans le firewall Windows (PowerShell en administrateur) :
New-NetFirewallRule -DisplayName "Supervision Monitoring" -Direction Inbound -LocalPort 5000 -Protocol TCP -Action Allow -
Acceder via :
http://<adresse-ip-du-serveur>:5000
Recommandation : pour un acces depuis internet, placer l'application derriere un reverse proxy (IIS, Nginx) avec HTTPS.
Installation en tant que service Windows
Pour que Supervision demarre automatiquement avec Windows, utiliser NSSM :
-
Telecharger NSSM et le placer dans le PATH
-
Executer en administrateur :
nssm install Supervision "C:\supervision\supervision.exe" nssm set Supervision AppDirectory "C:\supervision" nssm set Supervision Description "Monitoring systeme - Supervision" nssm set Supervision Start SERVICE_AUTO_START nssm start Supervision -
Gestion du service :
nssm start Supervision nssm stop Supervision nssm restart Supervision nssm remove Supervision confirm
Installation depuis les sources (developpement)
Pre-requis
- Python 3.10 ou superieur
Etapes
-
Creer l'environnement virtuel et installer les dependances :
cd C:\supervision python -m venv .venv .venv\Scripts\pip.exe install -r requirements.txt -
Lancer :
.venv\Scripts\python.exe app.py
Compiler en executable
.venv\Scripts\pip.exe install pyinstaller
.venv\Scripts\pyinstaller.exe --name supervision --onedir --add-data "templates;templates" --add-data "static;static" --hidden-import flask --hidden-import flask_login --hidden-import flask_limiter --hidden-import psutil --noconfirm app.py
L'executable est genere dans dist\supervision\.
Structure des fichiers
supervision\
├── supervision.exe # Executable principal
├── _internal\ # Dependances Python embarquees
├── templates\ # Pages HTML de l'interface
├── static\ # CSS
└── data\ # (cree au 1er lancement)
├── config.json # Configuration (seuils, SMTP, processus, logs Amadea)
└── alerts.json # Historique des alertes
Structure des sources (developpement)
supervision\
├── app.py # Application Flask, routes
├── monitor.py # Surveillance CPU/RAM/disques/processus
├── user_monitor.py # Suivi utilisateurs Amadea (parsing logs)
├── alerter.py # Envoi d'alertes email
├── config_manager.py # Persistance configuration JSON
├── templates\ # Pages HTML Jinja2
├── static\ # CSS
└── tests\ # Tests unitaires (pytest)
Important
: ne pas supprimer le dossier
_internal\, il est necessaire au fonctionnement.
Configuration par defaut
| Parametre | Valeur par defaut |
|---|---|
| Port | 5000 |
| Intervalle de check | 1 minute |
| Cooldown entre alertes | 30 minutes |
| Seuil CPU | 90% |
| Seuil RAM | 85% |
| Seuil Disque | 90% |
| Chemin logs Amadea | C:\ProgramData\ISoft\Amadea Web 8 x64\data\logs |
| Statut Actif si | derniere action < 5 minutes |
| Statut Inactif si | derniere action < 30 minutes |
Processus surveilles par defaut
| Nom | Pattern de recherche | Alerte si arrete |
|---|---|---|
| JVM | java | Oui |
| Nginx | nginx | Non (desactive) |
| Amadea Web 8 x64 | amadea | Oui |
Tous les parametres sont modifiables depuis l'interface web.
Suivi des utilisateurs Amadea
L'onglet Utilisateurs affiche en temps reel les utilisateurs connectes a Amadea Web 8 x64.
Fichiers de logs lus
| Fichier | Role |
|---|---|
awevents_JJ-MM-AA_N.log(.gz) |
Source principale : actions utilisateurs, deconnexions explicites |
awevents.log |
Log actif du jour (sans date dans le nom, serveur HDS) |
isoft_JJ-MM-AA_N.log(.gz) |
Complement : evenements de session |
La detection gere les deux cas du serveur HDS : log actif sans date dans le nom (awevents.log) et log zip en cours de journee avec date dans le nom (awevents_26-04-13_1.log.gz).
Tableau temps reel (aujourd'hui)
- Colonnes : Utilisateur, Statut, Derniere action, Actions (24h), Depuis
- Tri : statut (actif → inactif → deconnecte), puis derniere action la plus recente en premier au sein de chaque groupe
Graphique 7 derniers jours
- Affiche le pic d'utilisateurs simultanes par jour
- Cliquer sur une barre charge le tableau des utilisateurs de ce jour : Utilisateur, Derniere utilisation, Actions (jour), Duree de presence (premiere → derniere action)
- Tri par nombre d'actions decroissant
Regles de statut
| Statut | Condition |
|---|---|
| ACTIF | Derniere action < 5 min (configurable) |
| INACTIF | Derniere action entre 5 et 30 min (configurable) |
| DECONNECTE | Derniere action > 30 min ou deconnexion explicite detectee |
Configuration du chemin des logs
Dans Configuration > Chemin des logs Amadea, renseignez le chemin complet du dossier contenant les fichiers de logs.
Valeur par defaut : C:\ProgramData\ISoft\Amadea Web 8 x64\data\logs
Depannage
| Probleme | Solution |
|---|---|
| "Le port 5000 est deja utilise" | Changer le port dans data\config.json ou fermer le programme qui occupe le port |
| Impossible de se connecter a distance | Verifier la regle firewall (port 5000 TCP entrant) |
| Pas d'email recu | Verifier la configuration SMTP et utiliser le bouton "Envoyer un email de test" |
| Mot de passe oublie | Supprimer data\config.json et relancer (reinitialise a admin/admin) |
| L'executable ne se lance pas | Verifier que le dossier _internal\ est present a cote de supervision.exe |
| Onglet Utilisateurs vide ou erreur | Verifier le chemin des logs dans Configuration et s'assurer que le service Amadea tourne |
| Tous les utilisateurs affiches DECONNECTE | Normal si aucune activite recente — verifier que les fichiers awevents_*.txt du jour sont bien presents dans le dossier configure |