DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

Aide / Outils / Robot de surveillance / Types de controles
  • Présentation
  • Présentation de SMART
  • Les attributs SMART
  • Paramètres spécifiques au contrôle des attributs SMART
  • Contrôle via le protocole SNMP
  • Contrôle via le protocole SSH
  • Configuration des serveurs pour remonter les informations SMART
  • Configuration d'un serveur Windows pour remonter les informations SMART par SSH
  • Configuration d'un serveur Linux pour remonter les informations SMART par SSH
  • Configuration d'un serveur Linux pour remonter les informations SMART par SNMP
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaEtats et RequêtesCode Utilisateur (MCU)
WEBDEV
WindowsLinuxPHPWEBDEV - Code Navigateur
WINDEV Mobile
AndroidWidget AndroidiPhone/iPadWidget IOSApple WatchMac CatalystUniversal Windows 10 App
Autres
Procédures stockées
Contrôle : Etat SMART des disques
Présentation
Le robot de surveillance va interroger les attributs SMART des disques durs d'un serveur.
Le contrôle sera :
  • réussi si aucun problème n'est détecté.
  • en échec dans le cas contraire.

Présentation de SMART

SMART est l'acronyme de "Self-Monitoring Analysis and Reporting Technology", en français : Technologie d'auto-surveillance, d'analyse et de rapport.
SMART est une technologie proposée par les fabricants de disques durs. Cette technologie permet de suivre l'état d'usure d'un disque dur et ainsi d'anticiper une probable défaillance imminente.
Les disques durs compatibles avec cette technologie exposent un certain nombre de compteurs. Le nombre et la nature de ces compteurs peuvent varier selon les fabricants.
Ces compteurs peuvent être lus par programmation. Il devient ainsi possible de détecter une usure prématurée des disques durs et même d'être prévenu avant qu'un disque ne tombe en panne.
Attention : la technologie SMART ne détecte pas tous les cas possibles de défaillance d'un disque dur. Elle ne se substitue jamais à un système de sauvegarde.

Les attributs SMART

La technologie SMART définit un certain nombre de compteurs appelés attributs. Chacun de ces attributs permet de mesurer un paramètre du disque dur :
  • la température interne,
  • le nombre de tentatives pour la lecture d'une donnée,
  • le taux d'erreur,
  • le temps de fonctionnement, ...
L'évolution de ces attributs permet de prédire une défaillance. Par exemple, une augmentation rapide et importante de la température est généralement un signe fort d'une défaillance proche.
Pour faciliter l'interprétation de ces attributs, les systèmes d'exploitation proposent généralement des outils ou des API qui permettent d'obtenir une synthèse de l'état d'un disque. Il est ainsi possible de savoir si le disque dur est dans un état correct ou s'il montre des signes de faiblesse.
Paramètres spécifiques au contrôle des attributs SMART
Le contrôle de l'état SMART d'un disque dur s'effectuant à distance, il est nécessaire de :
  • spécifier la manière dont le robot de surveillance accède au serveur. Deux protocoles sont proposés : SNMP et SSH. Selon le protocole spécifié, les options demandées varient.
  • demander au robot de surveillance :
    • soit de vérifier tous les disques,
    • soit de vérifier uniquement une liste de disques donnée.

Contrôle via le protocole SNMP

Dans le cas de l'utilisation du protocole SNMP, les informations suivantes doivent être fournies dans le paramétrage du contrôle :
  • l'adresse du serveur (nom ou adresse IP),
  • le port du service SNMP (par défaut, il s'agit du port 161),
  • le nom de la communauté SNMP à interroger,
  • la liste des OID correspondant aux états SMART à vérifier. La configuration des OID à interroger est détaillée plus loin.
Attention : le protocole SNMP n'est pas sécurisé. Il n'est pas recommandé de l'utiliser pour des serveurs exposés sur un réseau public ou sur Internet. Il est préférable de réserver l'utilisation du protocole SNMP à des serveurs internes ou accessibles à travers un réseau privé (VPN par exemple).

Contrôle via le protocole SSH

Dans le cas de l'utilisation du protocole SSH, les informations suivantes sont nécessaires :
  • l'adresse du serveur (nom ou adresse IP),
  • le port du service SSH (par défaut, il s'agit du port 22),
  • le nom d'utilisateur,
  • le mot de passe de l'utilisateur ou une clé privée (et son mot de passe) permettant de se connecter avec ce nom d'utilisateur.
Selon le système utilisé par le serveur (Windows ou Linux), plusieurs options sont proposées :
  • Les serveurs Linux doivent être interrogés en utilisant l'outil "Smartmontools".
    Dans ce cas, l'option "Utiliser 'sudo'" permet d'indiquer si les commandes envoyées doivent être préfixées de la commande "sudo". La commande "sudo" permet à des utilisateurs non privilégiés d'exécuter des commandes réservées au root.
  • Les serveurs Windows peuvent être interrogés soit en utilisant l'outil WMI, soit en utilisant Powershell. Les deux options sont équivalentes en termes de fonctionnalités.
Configuration des serveurs pour remonter les informations SMART

Configuration d'un serveur Windows pour remonter les informations SMART par SSH

Le serveur Windows doit proposer (au choix) l'utilitaire WMI ou l'utilitaire Powershell.
  • Pour vérifier que WMI est correctement installé sur le serveur, il suffit d'ouvrir une ligne de commande et de taper :
    wmic diskdrive get PNPDeviceID,Status
  • Pour vérifier que Powershell est correctement installé sur le serveur, il suffit d'ouvrir une ligne de commande en tant qu'administrateur et de saisir :
    powershell -Command "& {Get-WmiObject -Namespace root/wmi -Class
    MSStorageDriver_FailurePredictStatus Property PredictFailure,InstanceName}"

Configuration d'un serveur Linux pour remonter les informations SMART par SSH

Pour que les contrôles du robot fonctionnent correctement sur un serveur Linux, les commandes suivantes doivent être disponibles : blkid et smartctl.
Sur un serveur de la famille Debian (Ubuntu,...), ces commandes s'installent avec la ligne de commande :
apt install util-linux smartmontools
De plus, si la connexion avec l'utilisateur root n'est pas possible (ou pas souhaitée), il sera nécessaire :
  • d'installer l'utilitaire sudo,
  • de le configurer pour autoriser l'utilisateur à lancer les commandes blkid et smartctl sans saisir son mot de passe dans la console.

Configuration d'un serveur Linux pour remonter les informations SMART par SNMP

Il faut :
  • installer les mêmes paquets que pour le contrôle par SSH.
  • installer un serveur SNMP.
Sur une machine serveur de la famille Debian (Ubuntu, ...), le serveur SNMP s'installe avec la commande :
apt install snmpd
Ensuite, il est nécessaire de configurer le service SNMP. Cette page ne présente pas en détail la configuration de SNMP, reportez-vous pour cela à la documentation du service SNMP.
Pour permettre de lire l'état SMART d'un disque par SNMP, il faut ajouter la directive suivante dans le fichier de configuration (généralement /etc/snmp/snmpd.conf) :
extend smart_test /bin/sh /etc/snmp/
smart_test.sh /dev/sda1
où :
  • smart_test est une chaîne arbitraire,
  • /etc/snmp/smart_test.sh est le chemin du script de lecture des informations (voir ci-dessous),
  • /dev/sda1 est le disque à analyser.
Cette directive doit être ajoutée pour chaque disque à analyser.
Chaque directive va créer un nouvel OID personnalisé qui sera lisible par le robot.
Astuce : Pour récupérer l'OID exact créé par la commande "extend", il suffit de lancer la commande suivante sur le serveur :
snmpwalk -c public -v 2c localhost
1.3.6.1.4.1.8072.1.3.2.4.1.2
Le script smart_test.sh contient la commande suivante :
sudo smartctl -H $1 | grep "SMART
overall-health self-assessment test result"
| cut -d : -f 2
Il est nécessaire de l'adapter selon le système (par exemple pour utiliser ou non la commande "sudo").
Version minimum requise
  • Version 27
Documentation également disponible pour…
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire

Dernière modification : 04/05/2023

Signaler une erreur ou faire une suggestion | Aide en ligne locale