Suite à une mésaventure avec une instance Vast.ai (tarif GPU pas cher, mais tarif réseaux dans la moyenne haute, mais surtout un script qu'avait mis en place le loueur pour télécharger automatiquement en boucle 20 Go d'ISO Linux !) j'ai fait un nieme script de monitoring... pour le réseau cette fois ci !
fah-netmon.sh
Ce script surveille en temps réel la consommation réseau (DL/UL) sur l'interface réseau principale. Il enregistre l'historique minute par minute sur une fenêtre glissante d'une heure pour déclencher des alertes en cas de pic de trafic, avec une période de grâce (cooldown) pour éviter leurs répétitions. Il effectue un premier contrôle rapide après 3 minutes d'exécution, suivi d'un rapport synthétique toutes les heures.
Seuils par défaut (paramétrables dans la ligne de commande):
- 5 min : 200 Mo
- 20 min : 300 Mo
- 60 min : 400 Mo
Utilisation dans un template Vast.ai :
Pour exécuter le script en arrière-plan et rediriger ses logs directement vers l'interface Vast.ai (bouton LOG de l'instance), ajoutez ces 3 lignes au tout début du champ On-start script / bash commands [...] de votre template :
exemple de message au démarrage :
exemple de message à 3 min :
exemple d'alerte :
NB: si vous utilisez aussi le script fah-monitoring.sh , ce dernier fait un speedtest à son lancement et toutes les 12h, donc ça peut déclencher des faux positifs pour fah-netmon.sh ... à garder en tête 😉
NB2 : et certaines wu & core ou résultats de wu peuvent dépasser les seuils, donc seuils à ajuster en fonction des alertes que vous aurez
exemple :
J'en ai aussi profité pour faire une page README (FR/EN) qui documente tous ces scripts : https://github.com/JWhyFR/fah-v8/
fah-netmon.sh
Ce script surveille en temps réel la consommation réseau (DL/UL) sur l'interface réseau principale. Il enregistre l'historique minute par minute sur une fenêtre glissante d'une heure pour déclencher des alertes en cas de pic de trafic, avec une période de grâce (cooldown) pour éviter leurs répétitions. Il effectue un premier contrôle rapide après 3 minutes d'exécution, suivi d'un rapport synthétique toutes les heures.
Seuils par défaut (paramétrables dans la ligne de commande):
- 5 min : 200 Mo
- 20 min : 300 Mo
- 60 min : 400 Mo
Utilisation dans un template Vast.ai :
Pour exécuter le script en arrière-plan et rediriger ses logs directement vers l'interface Vast.ai (bouton LOG de l'instance), ajoutez ces 3 lignes au tout début du champ On-start script / bash commands [...] de votre template :
Code :
curl https://raw.githubusercontent.com/JWhyFR/fah-v8/main/fah-netmon.sh -o fah-netmon.sh && chmod +x fah-netmon.sh
nohup ./fah-netmon.sh >fah-netmon.log 2>&1 &
(tail -f /workspace/fah-netmon.log > /proc/1/fd/1 2>&1) &exemple de message au démarrage :
Code :
========================================
Script started at: 2026-08-08 05:54:41
Detected network interface: eth0
Configured MB alert thresholds:
- 5 minutes : 250 MB
- 20 minutes : 300 MB
- 60 minutes : 400 MB
Monitoring network usage...
========================================exemple de message à 3 min :
Code :
----------------------------------------
[07:05:43] [INITIAL CHECK] Usage over the first 3 minute(s) on eth0:
- DL = 80 MB
- UL = 70 MB
----------------------------------------exemple d'alerte :
Code :
[05:59:41] [ALERT] DOWNLOAD (eth0): 297 MB downloaded in 5 min! (Threshold: 250MB) | Cooldown active: alert muted for at least 5 min.NB: si vous utilisez aussi le script fah-monitoring.sh , ce dernier fait un speedtest à son lancement et toutes les 12h, donc ça peut déclencher des faux positifs pour fah-netmon.sh ... à garder en tête 😉
NB2 : et certaines wu & core ou résultats de wu peuvent dépasser les seuils, donc seuils à ajuster en fonction des alertes que vous aurez
exemple :
Code :
nohup ./fah-netmon.sh 5M=300 20M=400 60M=500 >fah-netmon.log 2>&1 &J'en ai aussi profité pour faire une page README (FR/EN) qui documente tous ces scripts : https://github.com/JWhyFR/fah-v8/

