Cómo configurar SmartD y ser notificado de problemas de disco duro por correo electrónico

Cómo configurar SmartD y ser notificado de problemas de disco duro por correo electrónico

En el artículo sobre la comprobación de una salud del disco duro utilizando SmartCTL, hablamos sobre el smartmontools paquete, y vimos que proporciona dos componentes: una utilidad de línea de comandos (inteligente) y un demonio, smartd, Podemos usar para programar operaciones. Nos centramos en el uso del primero y vimos cuáles son los S.METRO.A.Riñonal.T Pruebas que podemos ejecutar y cómo ejecutarlas.

Esta vez, hablaremos sobre el smartd Daemon: veremos cómo programar las pruebas y cómo configurarlo para que se notifique por correo electrónico cuando se encuentre un error en un dispositivo de almacenamiento. En el curso del artículo asumiré el smartmontools paquete a instalar ya. Consulte el artículo mencionado anteriormente para obtener instrucciones de instalación.

En este tutorial aprenderás:

  • Cómo configurar el demonio smartd
  • ¿Cuál es el significado de algunas de las directivas más utilizadas que se pueden usar con SmartD?
  • Cómo configurar MSMTP para reenviar el correo electrónico al servidor Gmail SMTP para que los mensajes se entreguen externamente
  • Cómo probar la configuración
Cómo configurar SmartD y ser notificado de problemas de disco duro por correo electrónico

Requisitos y convenciones de software utilizados

Requisitos de software y convenciones de línea de comandos de Linux
Categoría Requisitos, convenciones o versión de software utilizada
Sistema Distribución independiente
Software Los paquetes SmartMonTools y MSMTP
Otro Permisos de raíz
Convenciones # - requiere que los comandos de Linux dados se ejecuten con privilegios raíz directamente como un usuario raíz o mediante el uso de sudo dominio
$-Requiere que los comandos de Linux dados se ejecuten como un usuario regular no privilegiado

El demonio smartd

El smartd Daemon, cuando está activo, trata de sondear el dispositivo ATA y SCSI cada 30 minutos por defecto. Se puede configurar para enviar un correo electrónico en caso de que se detecte algún tipo de problema: en este artículo veremos cómo crear dicha configuración.

El archivo de configuración de demonio es /etc/smartd.confusión. Si lo echamos un vistazo, podemos ver que contiene una serie de instrucciones comentadas, excepto una, Dispositivos. Cuando se usa esta palabra clave, el Daemon SmartD escanea para todos los dispositivos ATA y SCSI existentes, ignorando el resto de la configuración. En aras de este tutorial, comentaremos la línea que contiene la instrucción (21) y concéntrese en un solo dispositivo, /dev/sda. Veamos algunas de las directivas que podemos usar en el archivo. Aquí hay un resumen rápido:

Directiva Usar
-D de tipo D Especifica el tipo de dispositivo entre ATA, SCSI, etc
-H Verifica el estado de salud inteligente del disco
-L Tipo Monitorea el registro inteligente (error o auto -tasa)
-s regex Especifica la expresión regular para programar las autoevaluaciones
-m Dirección Envía una notificación por correo electrónico en la dirección especificada
-M tipo Funciona solo cuando se proporciona la directiva -m y modifica su comportamiento
-F Monitorea el falla de atributos de "uso"
-T Funciona como un atajo para -p y -u, por lo que informa cambios En los atributos de "prefailure" y "uso"
-C ID Informes si el recuento de pendiente Los sectores son algo más que 0
-U id Informa si el número de fuera de línea incorrible Los sectores no son 0
-a Funciona como un atajo para -h -f -t -l Error -l Selftest -C 197 -U 198


El -d La directiva se utiliza para especificar el tipo de dispositivo con el que estamos tratando. Algún tipo de dispositivos son los siguientes:

  • auto
  • ata
  • scsi
  • SAT (SCSI a la traducción de ATA)
  • USBCYPRESS (para los discos ATA detrás de un USBCYPRESS USB al puente Pata)
  • USBJMicron (discos SATA detrás de un JMicron USB a Pata/SATA Bridge)

Esta no es una lista completa, pero proporcionar una está fuera del alcance de este tutorial. Puedes consultar el SmartD.conflic Manpage para eso. El valor predeterminado utilizado por la directiva es auto: Esto significa que el tipo de dispositivo infiere la información proporcionada por el sistema operativo.

El -H La directiva se usa solo para ata dispositivos. Es necesario habilitar el monitoreo de la S.METRO.A.Riñonal.T. Estado de salud del disco. Cuando se usa esta opción, se recibe un informe cuando alguno de los atributos inteligentes del tipo prefailar son iguales o por debajo de su umbral (esto podría significar un inminente la falla del dispositivo).

El -l La directiva se utiliza para especificar qué tipo de registros inteligentes se deben monitorear. Las opciones más comunes son error y autotest. Las primeras verificaciones si el número de errores de ATA en el resumen S.METRO.A.Riñonal.T. El registro de errores ha aumentado desde la última verificación; La segunda verifica cuando aumenta el número de pruebas fallidas, en su lugar.

El -s La directiva toma un expresión regular como argumento, y se usa para programar una autoexpresión. El Regex debe respetar una sintaxis específica:

T/mm/dd/d/HH 

Dónde T es el tipo de prueba que se debe ejecutar, las opciones son:

  • L Para una larga prueba de autoestima
  • S para una autocomprobación corta
  • C Para la prueba de transporte
  • O para una prueba inmediata fuera de línea

Mm se usa para especificar el mes del año en forma de dígitos decimales, de 01 (Enero) a 12 (Diciembre). El Dd La notación especifica el día del mes: los valores pueden pasar de 1 a 31. En la sintaxis regex, la d representa el día de la semana. Lo especificamos usando un dígito de 1 (Lunes) a 7 (Domingo). Finalmente, S.S indica el hora del día (horas después de la medianoche): 00 (Medianoche justo antes de la 1 am) a 23 (11pm justo antes de la medianoche). Para programar una "prueba larga" cada domingo entre las 4 a.m. y las 5 a.m., escribiríamos:

L /... /... /7/04 

Observe que en la regex anterior, cada punto (.) coincide con cualquier valor posible, por lo que, en el ejemplo anterior, es básicamente como decir "todos los meses" o "todos los días".

El -F Se necesita opción para verificar fallas de Old_age atributos. Esos atributos son aquellos que (en caso de que su valor esté por debajo del umbral) no indiquen una falla inminente en el disco, sino solo una anomalía de uso potencial, como por ejemplo un tiempo de uso que superó la vida del dispositivo diseñado.

El -T La directiva se utiliza para rastrear cambios en Old_age y y Prefailar Atributos inteligentes. Es un atajo para el -pag y -u directivas, que realizan esas tareas, respectivamente.

El -C y -U Se necesitan directivas para informar cuándo Sectores pendientes actuales y incorrible Los sectores cuentan convertirse en algo más que 0. Ambas directivas aceptan un IDENTIFICACIÓN argumento, que es la identificación de los atributos inteligentes que verifican, generalmente 197 y 198:

197 Current_pending_sector 0x0032 200 200 000 Old_age siempre - 0 198 fuera de línea_uncirable 0x0030 100 253 000 Old_age Offline - 0 

Finalmente, el -a La directiva es un atajo; Implica el uso de: -H, -F,-T, -L Error, -l autoadestible, -C 197 y -U 198. Es importante notar que -a es la directiva predeterminada: si no se especifica ningún otro, se supone.

Uso de MSMTP para notificaciones de correo electrónico externas

Para poder enviar al correo electrónico de notificación "externamente" y no en el carrete de correo de nuestros usuarios de la máquina, podemos usar MSMTP. Msmtp es un cliente SMTP capaz de reenviar correos electrónicos a un tercero smtp servidor. Es muy fácil de configurar, veamos cómo!

Instalación

Instalación MSMTP es bastante simple. El comando específico depende, por supuesto, de la distribución en la que estamos ejecutando. Sobre Debian y derivados podemos ejecutar:

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


Para lograr el mismo resultado en Archlinux, podemos ejecutar:

$ sudo Pacman -S MSMTP 

En Fedora usamos el DNF gerente de empaquetación:

$ sudo dnf install msmtp 

En Red Hat Enterprise Linux y CentOS, debería ser posible instalar el software desde el repositorio EPEL de terceros, utilizando el mismo comando anterior.

Configuración de MSMTP para trabajar con Gmail con contraseña específica de la aplicación

MSMTP se puede configurar por usuario o con un archivo de configuración global. Cada usuario que desea obtener una configuración específica debe usar el ~/.msmtprc archivo. Los permisos apropiados deben establecerse en la TI, de modo que sea legible y solo por su propietario. Para usar una configuración global debemos usar el /etc/msmtprc Archivo en su lugar: para msmtprc Para trabajar correctamente debería tener 644 como permisos, por lo que todos los usuarios deben legibles. La configuración necesaria para que la aplicación reenvíe los correos electrónicos al servidor Gmail SMTP es la siguiente:

Auth de valores predeterminados en TLS en TLS_Trust_File/Etc/SSL/Certs/CA-Certificates.CRT logFile/var/log/msmtp.registro # cuenta de configuración de gmail host gmail smtp.gmail.COM Port 587 desde su nombre de [email protected] USUARIO Su-UserName Password App Specific-Password Cuenta predeterminada: Gmail 

Como habrás notado, en el contraseña campo utilizamos una contraseña específica de la aplicación de Google. Las contraseñas específicas de la aplicación son contraseñas que están destinadas a ser utilizadas con programas considerados "menos seguros" por Google, porque no usan el Auth2 protocolo de autenticación. Para generar dicha contraseña, debemos navegar a la página de contraseña de la aplicación de Google, iniciar sesión, seleccionar una aplicación para asociar a una contraseña (o ingresar un nombre personalizado) y confirmar la creación. Se mostrará la contraseña creada, pero no podrá recuperarla si la pierde, así que asegúrese de mantenerla segura.

Página de contraseña específica de la aplicación de Google Una vez que se genera la contraseña, podemos pegarla en el archivo. Sin embargo, tenga en cuenta que la contraseña se almacena en texto sin formato y que el archivo en sí se puede legible en el mundo, por lo que esto puede causar problemas de seguridad. Al menos, sería mejor usar una cuenta de Google dedicada, utilizada solo para este propósito.

Por defecto, los correos electrónicos se envían mediante el sistema correo dominio. Para poder trabajar con MSMTP, el msmtp-mta También se debe instalar el paquete: este paquete crea un enviar correo enlace simbólico que señala MSMTP Y está disponible en Debian y Archlinux (no pude encontrarlo en Fedora). Como alternativa, podemos ingresar la siguiente línea en el /etc/correo.RC archivo de configuración:

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


Prueba de la configuración

Con todas las cosas en su lugar, podemos verificar que nuestra configuración funcione como se esperaba. En el /etc/smartd.confusión Archivo comentamos todas las líneas y agregamos la siguiente:

/dev/sda -a -m destino.correo electró[email protected] com -m 

Nos enfocamos en el /dev/sda dispositivo, y ya vimos lo que el -a, -metro y -METRO Las opciones son para. Al pasar "prueba" como argumento para este último, se enviará un correo electrónico de prueba a la dirección especificada cada vez que se reinicie el demonio. Así que hagámoslo ejecutando:

$ sudo systemctl reiniciar smartd 

En este punto, si todo está configurado correctamente, deberíamos haber recibido un correo!

Conclusiones

En este artículo echamos un vistazo a smartd el demonio proporcionado por el smartmontools opciones, que se pueden usar para programar S.METRO.A.Riñonal.T. Pruebas y recopilación de datos. Vimos cómo configurarlo y cuál es el significado de algunas de las directivas que se pueden usar en el archivo de configuración. Finalmente, vimos cómo usar MSMTP para reenviar las notificaciones de correo electrónico externamente a través del servidor Gmail SMTP.

Tutoriales de Linux relacionados:

  • Cómo verificar una salud del disco duro desde la línea de comandos ..
  • Comandos de verificación de salud básica de Linux
  • Una introducción a la automatización, herramientas y técnicas de Linux
  • Optimización de rendimiento de Linux: herramientas y técnicas
  • Mastering Bash Script Loops
  • Cosas para instalar en Ubuntu 20.04
  • Cómo dividir la unidad USB en Linux
  • Cosas que hacer después de instalar Ubuntu 20.04 fossa focal Linux
  • Mint 20: Mejor que Ubuntu y Microsoft Windows?
  • Cómo comparar el rendimiento del disco en Linux