5.2 KiB
5.2 KiB
Changelog - script_test.sh
Version 1.0.1 - Améliorations demandées
Nouvelles fonctionnalités
1. Wake-on-LAN pour cartes Ethernet
- Fichier : script_test.sh:546-555
- Détection automatique du support Wake-on-LAN via
ethtool - Ajout du champ
wake_on_lan(true/false/null) dans les informations réseau - Vérifie si la carte supporte le "magic packet" (flag 'g')
{
"name": "eth0",
"type": "ethernet",
"wake_on_lan": true
}
2. Statistiques RAM détaillées
- Fichier : script_test.sh:298-303 et script_test.sh:367-385
- Ajout de la RAM utilisée (
used_mb) - Ajout de la RAM libre (
free_mb) - Ajout de la RAM partagée (
shared_mb) - inclut tmpfs, vidéo partagée, etc. - Distinction entre RAM physique totale et RAM disponible dans l'OS
{
"total_mb": 16384,
"used_mb": 8192,
"free_mb": 7500,
"shared_mb": 692
}
3. Test réseau iperf3 vers 10.0.1.97
- Fichier : script_test.sh:675-726
- Test de connectivité préalable avec
ping - Test upload (client → serveur) pendant 10 secondes
- Test download (serveur → client avec
-R) pendant 10 secondes - Mesure du ping moyen (5 paquets)
- Calcul du score réseau basé sur la moyenne upload/download
Prérequis : Le serveur 10.0.1.97 doit avoir iperf3 -s en cours d'exécution.
# Sur le serveur 10.0.1.97
iperf3 -s
{
"upload_mbps": 940.50,
"download_mbps": 950.20,
"ping_ms": 0.5,
"score": 94.54
}
4. Données SMART de vieillissement des disques
-
Fichier : script_test.sh:492-602
-
Extraction complète des données SMART pour chaque disque via
smartctl -
Indicateurs de santé globale :
health_status: PASSED/FAILED (test auto-diagnostic SMART)temperature_celsius: Température actuelle du disque
-
Indicateurs de vieillissement :
power_on_hours: Heures de fonctionnement totalespower_cycle_count: Nombre de démarrages/arrêtsreallocated_sectors: Secteurs défectueux réalloués (⚠️ signe de défaillance)pending_sectors: Secteurs en attente de réallocation (⚠️ attention)udma_crc_errors: Erreurs de transmission (câble/interface)
-
Pour SSD uniquement :
wear_leveling_count: Compteur d'usure des cellulestotal_lbas_written: Volume total de données écrites
Interprétation :
- ✅
health_status: "PASSED"+reallocated_sectors: 0= Disque sain - ⚠️
reallocated_sectors > 0= Début de défaillance, surveiller - 🔴
pending_sectors > 0= Défaillance imminente, sauvegarder immédiatement - 🔴
health_status: "FAILED"= Disque défaillant, remplacer
{
"device": "sda",
"model": "Samsung SSD 970 EVO Plus 500GB",
"type": "ssd",
"smart": {
"health_status": "PASSED",
"power_on_hours": 12543,
"power_cycle_count": 1876,
"temperature_celsius": 42,
"reallocated_sectors": 0,
"pending_sectors": 0,
"udma_crc_errors": 0,
"wear_leveling_count": 97,
"total_lbas_written": 45678901234
}
}
5. Correction du calcul global_score
- Fichier : script_test.sh:732-760
- Le score global n'inclut que CPU, RAM et Disk (pas réseau, pas GPU)
- Nouvelle pondération :
- CPU : 40%
- RAM : 30%
- Disk : 30%
- Normalisation automatique si certains benchmarks sont manquants
- Score sur 100
Corrections
- PATH Fix : Ajout de
/usr/sbinet/sbinau PATH (script_test.sh:30)- Résout le problème de détection de
dmidecode,smartctl,ethtool
- Résout le problème de détection de
Format JSON mis à jour
{
"hardware": {
"ram": {
"total_mb": 16384,
"used_mb": 8192,
"free_mb": 7500,
"shared_mb": 692,
"slots_total": 4,
"slots_used": 2,
"ecc": false,
"layout": [...]
},
"network": [
{
"name": "eth0",
"type": "ethernet",
"mac": "00:11:22:33:44:55",
"ip_address": "10.0.1.100",
"speed_mbps": 1000,
"wake_on_lan": true
}
]
},
"benchmarks": {
"cpu": {
"events_per_sec": 5234.89,
"duration_s": 10.0,
"score": 52.35
},
"memory": {
"throughput_mib_s": 15234.5,
"score": 76.17
},
"disk": {
"read_mb_s": 450.0,
"write_mb_s": 420.0,
"iops_read": 112000,
"iops_write": 105000,
"latency_ms": 0.08,
"score": 43.50
},
"network": {
"upload_mbps": 940.5,
"download_mbps": 950.2,
"ping_ms": 0.5,
"score": 94.54
},
"gpu": null,
"global_score": 57.00
}
}
Notes d'utilisation
- Serveur iperf3 : Assurez-vous que
iperf3 -stourne sur 10.0.1.97 avant de lancer le script - Permissions : Le script nécessite
sudopour dmidecode, smartctl, ethtool - Durée : Le script prend environ 3-4 minutes (10s iperf3 upload + 10s download + 30s disk)
Commande de test
# Lancer le serveur iperf3 sur 10.0.1.97
ssh user@10.0.1.97 'iperf3 -s -D'
# Lancer le script de test
sudo bash script_test.sh
# Voir le résultat
cat result.json | jq .