Comment configurer SmartD et être informé des problèmes de disque dur par e-mail

Comment configurer SmartD et être informé des problèmes de disque dur par e-mail

Dans l'article sur la vérification d'une santé du disque dur à l'aide de SmartCTL, nous avons parlé du smartmontools package, et nous avons vu qu'il fournit deux composants: un utilitaire de ligne de commande (smartctl) Et un démon, smartd, Nous pouvons utiliser pour planifier les opérations. Nous nous sommes concentrés sur l'usage de l'ancien et nous avons vu ce que sont les S.M.UN.R.T tests que nous pouvons fonctionner et comment les exécuter réellement.

Cette fois, nous parlerons du smartd Daemon: Nous verrons comment planifier des tests et comment le configurer pour être informé par e-mail lorsqu'une erreur est trouvée sur un périphérique de stockage. Au cours de l'article, je supposerai le smartmontools Package à installer déjà. Veuillez vous référer à l'article susmentionné pour les instructions d'installation.

Dans ce tutoriel, vous apprendrez:

  • Comment configurer le démon Smartd
  • Quelle est la signification de certaines des directives les plus utilisées qui peuvent être utilisées avec Smartd
  • Comment configurer le MSMTP pour transférer l'e-mail vers le serveur SMTP Gmail pour que les messages soient livrés en externe
  • Comment tester la configuration
Comment configurer SmartD et être informé des problèmes de disque dur par e-mail

Exigences et conventions logicielles utilisées

Exigences logicielles et conventions de ligne de commande Linux
Catégorie Exigences, conventions ou version logicielle utilisée
Système Distribution indépendante
Logiciel Les packages SmartMontools et MSMTP
Autre Autorisation
Conventions # - nécessite que les commandes Linux sont exécutées avec des privilèges racine soit directement en tant qu'utilisateur racine, soit par l'utilisation de Sudo commande
$ - Exige que les commandes Linux sont exécutées en tant qu'utilisateur non privilégié régulier

Le démon Smartd

Le smartd Daemon, lorsqu'il est actif, essaie de sonder le dispositif ATA et SCSI toutes les 30 minutes par défaut. Il peut être configuré pour envoyer un e-mail au cas où une sorte de problème serait détecté: dans cet article, nous verrons comment créer une telle configuration.

Le fichier de configuration du démon est / etc / smartd.confli. Si nous y examinons, nous pouvons voir qu'il contient une série d'instructions commentées, sauf pour une, Dispositifs. Lorsque ce mot-clé est utilisé, le démon Smartd scanne pour tous les appareils ATA et SCSI existants, en ignorant le reste de la configuration. Pour le bien de ce tutoriel, nous commenterons la ligne contenant l'instruction (21) et concentrer sur un seul appareil, / dev / sda. Voyons certaines des directives que nous pouvons utiliser dans le fichier. Voici un récapitulatif rapide:

Directif Utiliser
-dype d Spécifie le type d'appareil entre ATA, SCSI etc…
-H Vérifie l'état de santé intelligent du disque
-L type Surveille le journal intelligent (erreur ou auto-test)
-S Regex Spécifie l'expression régulière pour planifier les auto-tests
-Adresse M Envoie une notification par e-mail à l'adresse spécifiée
-M de type Ne fonctionne que lorsque la directive -M est fournie et modifie son comportement
-F Surveille le échec des attributs «d'utilisation»
-t Fonctionne comme un raccourci pour -p et -u, donc rapporte changements dans les attributs «préfailure» et «usage»
-C ID Rapporte si le nombre de en attente Les secteurs sont autre chose que 0
-U identifiant Rapporte si le nombre de hors ligne incorrectable Les secteurs ne sont pas 0
-un Fonctionne comme un raccourci pour -h -f -t -l error -l selftest -c 197 -u 198


Le -d La directive est utilisée pour spécifier le type d'appareil avec lequel nous traitons. Certains types d'appareils sont les suivants:

  • auto
  • à
  • scsi
  • SAT (SCSI TO ATA Traduction)
  • USBCYPRESS (pour les disques ATA derrière un USBCyPress USB à Pata Bridge)
  • USBJMicron (disques Sata derrière un pont Jmicron USB à PATA / SATA)

Ce n'est pas une liste complète, mais en fournir un est hors de portée de ce tutoriel. Vous pouvez vérifier le smartd.confr Manpage pour ça. La valeur par défaut utilisée par la directive est auto: Cela signifie que le type de l'appareil est déduit par les informations fournies par le système d'exploitation.

Le -H La directive est utilisée uniquement pour à dispositifs. Il est nécessaire pour permettre la surveillance du s.M.UN.R.T. État de santé du disque. Lorsque cette option est utilisée, un rapport est reçu lorsque l'un des attributs intelligents du type pré-truquer sont égaux ou inférieurs à leur seuil (cela pourrait signifier un Imminent la défaillance de l'appareil).

Le -l La directive est utilisée pour spécifier quel type de journaux intelligents doit être surveillé. Les options les plus courantes sont erreur et auto-test. Le premier vérifie si le nombre d'erreurs ATA dans le résumé s.M.UN.R.T. Le journal d'erreur a augmenté depuis le dernier chèque; Le deuxième vérifie lorsque le nombre de tests échoués augmente, plutôt.

Le -s La directive prend un expression régulière comme argument, et est utilisé pour planifier un auto-test. Le regex doit respecter une syntaxe spécifique:

T / mm / dd / d / hh 

T est le type de test qui devrait être exécuté, les options sont:

  • L pour un long auto-test
  • S pour un court-test
  • C pour le test de transport
  • O pour un test immédiat hors ligne

MM est utilisé pour spécifier le Mois de l'année sous forme de chiffres décimaux, de 01 (Janvier) à 12 (Décembre). Le Dd La notation spécifie le jour du mois: les valeurs peuvent aller de 1 pour 31. Dans la syntaxe regex, le d représente le jour de la semaine. Nous le spécifions en utilisant un chiffre de 1 (Lundi) à 7 (Dimanche). Enfin, HH indique le heure de la journée (heures après minuit): 00 (Minuit à juste avant 1h) à 23 (23h à juste avant minuit). Pour planifier un «long test» chaque dimanche entre 4h du matin et 5h du matin, nous écrivions:

L /… /… / 7/04 

Notez que dans le regex ci-dessus, chaque point (.) correspond à toute valeur possible, donc, dans l'exemple ci-dessus, c'est essentiellement comme dire «chaque mois» ou «tous les jours».

Le -F L'option est nécessaire pour vérifier les échecs de Vieillesse les attributs. Ces attributs sont ceux qui (au cas où leur valeur est inférieure au seuil) n'indiquent pas une défaillance du disque imminente, mais seulement une anomalie d'utilisation potentielle, comme par exemple un temps d'utilisation qui a dépassé le dispositif conçu du dispositif.

Le -t La directive est utilisée pour suivre changements dans Vieillesse et et Pré-truquer Attributs intelligents. C'est un raccourci pour le -p et -u directives, qui effectuent ces tâches, respectivement.

Le -C et -U Des directives sont nécessaires pour signaler lorsque secteurs actuels en attente et incorrectable Les secteurs comptent deviennent autre chose que 0. Les deux directives acceptent un IDENTIFIANT argument, qui est l'ID des attributs intelligents qu'ils vérifient, généralement 197 et 198:

197 Current_Pending_sector 0x0032 200 200 000 Old_age toujours - 0 198 Offline_uncorrectable 0x0030 100 253 000 Old_age Offline - 0 

Finalement, le -un La directive est un raccourci; cela implique l'utilisation de: -H, -F,-t, -l Erreur, -l auto-test, -C 197 et -U 198. Il est important de remarquer que -un est la directive par défaut: si aucun autre n'est spécifié, il est supposé.

Utilisation du MSMTP pour les notifications de messagerie externe

Pour pouvoir envoyer à la notification par e-mail «externe» et non dans la bobine de courrier de nos utilisateurs de notre machine, nous pouvons utiliser MSMTP. MSMTP est un Client SMTP capable de transmettre des e-mails à un tiers smtp serveur. Il est très facile à configurer, voyons comment!

Installation

Installation MSMTP est assez simple. La commande spécifique dépend, bien sûr, de la distribution sur laquelle nous exécutons. Sur Debian et les dérivés, nous pouvons courir:

$ sudo apt-get update && sudo apt-get install msmtp 


Pour obtenir le même résultat sur Archlinux, nous pouvons courir:

$ sudo pacman -s msmtp 

Sur fedora nous utilisons le DNF directeur chargé d'emballage:

$ sudo dnf installer msmtp 

Sur Red Hat Enterprise Linux et Centos, il devrait être possible d'installer le logiciel à partir du référentiel EPEL tiers, en utilisant la même commande ci-dessus.

Configuration du MSMTP pour travailler avec Gmail avec un mot de passe spécifique à l'application

MSMTP peut être configuré par utilisateur ou avec un fichier de configuration global. Chaque utilisateur qui souhaite obtenir une configuration spécifique doit utiliser le ~ /.MSMTPRC déposer. Les autorisations appropriées doivent être définies sur l'informatique, de sorte qu'elle est lisible et écrivative uniquement par son propriétaire. Pour utiliser une configuration globale, nous devons utiliser le / etc / msmtprc Fichier à la place: pour MSMTPRC Pour fonctionner correctement, il devrait avoir 644 Comme autorisation, il doit donc être lisible par tous les utilisateurs. La configuration nécessaire à l'application pour transférer les e-mails au serveur SMTP Gmail est la suivante:

Auth par défaut sur TLS sur TLS_TRUST_FILE / ETC / SSL / CERTS / CA-CERTIFATS.CRT Logfile / var / log / msmtp.Journal # Compte de configuration Gmail Gmail Host Smtp.Gmail.com port 587 de votre-username @ gmail.com utilisateur de votre-username mot de passe de mot de passe-spécifique compte de mots de passe par défaut: gmail 

Comme vous l'avez peut-être remarqué, dans le mot de passe champ Nous avons utilisé un mot de passe spécifique à Google App. Les mots de passe spécifiques à l'application sont des mots de passe qui sont destinés à être utilisés avec des programmes considérés comme «moins sécurisés» par Google, car ils n'utilisent pas le auth2 protocole d'authentification. Pour générer un tel mot de passe, nous devons accéder à la page de mot de passe de l'application Google, connecter, sélectionner une application à associer à un mot de passe (ou entre un nom personnalisé) et confirmer la création. Le mot de passe créé sera affiché mais vous ne pourrez pas le récupérer si vous le perdez, alors assurez-vous de le garder en sécurité.

Page de mot de passe spécifique à Google App. Une fois le mot de passe généré, nous pouvons le coller dans le fichier. Soyez averti, cependant, que le mot de passe est stocké en texte clair et que le fichier lui-même est lisible dans le monde, donc cela peut entraîner des problèmes de sécurité. Au moins, il serait préférable d'utiliser un compte Google dédié, utilisé uniquement à cet effet.

Par défaut, les e-mails sont envoyés en utilisant le système poster commande. Pour qu'il puisse travailler avec MSMTP, le MSMTP-MTA Le package doit également être installé: ce package crée un envoyer un mail Symlien qui pointe vers MSMTP Et il est disponible sur Debian et Archlinux (je n'ai pas pu le trouver sur Fedora). Comme alternative, nous pouvons saisir la ligne suivante dans le / etc / courrier.RC fichier de configuration:

set sendmail = "/ usr / bin / msmtp -t" 


Tester la configuration

Avec toutes choses en place, nous pouvons vérifier que notre configuration fonctionne comme prévu. Dans le / etc / smartd.confli Fichier Nous commençons toutes les lignes et ajoutez la suivante:

/ dev / sda -a -m destination.e-mail @ gmail.Test com -m 

Nous nous concentrons sur le / dev / sda appareil, et nous avons déjà vu ce que le -un, -m et -M Les options sont pour. En passant par «test» comme argument à ce dernier, un e-mail de test sera envoyé à l'adresse spécifiée chaque fois que le démon est redémarré. Alors faisons-le en courant:

$ sudo systemctl redémarrer smartd 

À ce stade, si tout est configuré correctement, nous aurions dû recevoir un courrier!

Conclusions

Dans cet article, nous avons regardé smartd le démon fourni par le smartmontools Options, qui peuvent être utilisées pour planifier S.M.UN.R.T. Tests et rassemblement de données. Nous avons vu comment le configurer et quelle est la signification de certaines des directives qui peuvent être utilisées dans le fichier de configuration. Enfin, nous avons vu comment utiliser le MSMTP pour transférer les notifications par e-mail à l'extérieur via le serveur SMTP Gmail.

Tutoriels Linux connexes:

  • Comment vérifier une santé du disque dur à partir de la ligne de commande…
  • Commandes de vérification de la santé Linux Basic
  • Une introduction à l'automatisation Linux, des outils et des techniques
  • Optimisation des performances de Linux: outils et techniques
  • Masterring Bash Script Loops
  • Choses à installer sur Ubuntu 20.04
  • Comment partitionner le lecteur USB en Linux
  • Choses à faire après l'installation d'Ubuntu 20.04 Focal Fossa Linux
  • Mint 20: Mieux que Ubuntu et Microsoft Windows?
  • Comment comparer les performances du disque sur Linux