7.9 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.txt |
Source principale : actions utilisateurs, deconnexions explicites |
isoft_JJ-MM-AA_N.txt |
Complement : evenements de session |
Seuls les fichiers du jour courant sont lus (les fichiers des jours precedents zipes sont ignores pour le tableau temps reel). Le graphique "7 derniers jours" utilise les fichiers .txt non zipes s'ils sont disponibles.
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 awevents_*.txt et isoft_*.txt.
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 |