Como configurar o SmartD e ser notificado sobre problemas de disco rígido por e -mail

Como configurar o SmartD e ser notificado sobre problemas de disco rígido por e -mail

No artigo sobre como verificar uma saúde do disco rígido usando o smartctl, conversamos sobre o Smartmontools pacote, e vimos que ele fornece dois componentes: um utilitário de linha de comando (Smartctl) e um daemon, Smartd, Podemos usar para agendar operações. Nós nos concentramos no uso do primeiro e vimos quais são os s.M.A.R.T testes que podemos executar e como realmente executá -los.

Desta vez, falaremos sobre o Smartd Daemon: Veremos como agendar testes e como configurá -lo para ser notificado por e -mail quando um erro é encontrado em um dispositivo de armazenamento. No decorrer do artigo, assumirei o Smartmontools pacote a ser instalado. Consulte o artigo acima mencionado para obter instruções de instalação.

Neste tutorial, você aprenderá:

  • Como configurar o daemon smartd
  • Qual é o significado de algumas das diretivas mais usadas que podem ser usadas com o Smartd
  • Como configurar o msmtp para encaminhar email para o servidor SMTP do Gmail para que as mensagens sejam entregues externamente
  • Como testar a configuração
Como configurar o SmartD e ser notificado sobre problemas de disco rígido por e -mail

Requisitos de software e convenções usadas

Requisitos de software e convenções de linha de comando Linux
Categoria Requisitos, convenções ou versão de software usada
Sistema Distribuição Independente
Programas Os pacotes SmartMontools e MSMTP
Outro Permissões de raiz
Convenções # - requer que os comandos linux -comidos sejam executados com privilégios de raiz diretamente como usuário root ou por uso de sudo comando
$-exige que o Linux-Commands seja executado como um usuário não privilegiado regular

O daemon smartd

O Smartd Daemon, quando ativo, tenta pesquisar o dispositivo ATA e SCSI a cada 30 minutos por padrão. Ele pode ser configurado para enviar um email caso seja detectado algum tipo de problema: neste artigo, veremos como criar essa configuração.

O arquivo de configuração de daemon é /etc/smartd.conf. Se dermos uma olhada, podemos ver que ele contém uma série de instruções comentadas, exceto por um, DevicesCan. Quando essa palavra -chave é usada, os SmartD Daemon Scanns para todos os dispositivos ATA e SCSI existentes, ignorando o restante da configuração. Para o bem deste tutorial, comentaremos a linha que contém a instrução (21) e concentre -se em um único dispositivo, /Dev/SDA. Vamos ver algumas das diretivas que podemos usar no arquivo. Aqui está uma rápida recapitulação:

Diretivo Usar
-D tipo Especifica o tipo de dispositivo entre Ata, SCSI etc…
-H Verifica o status de saúde inteligente do disco
-l Tipo Monitora o Smart Log (erro ou autoteste)
-s regex Especifica a expressão regular para agendar auto-testes
-m endereço Envia uma notificação por e -mail no endereço especificado
-M tipo Funciona apenas quando a diretiva -m é fornecida e modifica seu comportamento
-f Monitora o falha de atributos de "uso"
-t Funciona como um atalho para -p e -u, então relatórios mudanças em atributos "pré -escala" e "uso"
-C id Relatórios se a contagem de pendente setores é algo diferente de 0
-U id Relatórios se o número de offline incontável setores não é 0
-a Funciona como um atalho para -h -f -t -l error -l autotest -c 197 -u 198


O -d A diretiva é usada para especificar o tipo de dispositivo com o qual estamos lidando. Alguns tipos de dispositivos são os seguintes:

  • auto
  • Ata
  • SCSI
  • SAT (Tradução SCSI para ATA)
  • USBCYPRESS (para discos ATA atrás de um USBCYPRESS USB para Pata Bridge)
  • USBJMICRON (discos SATA atrás de um JMicron USB para PATA/SATA Bridge)

Esta não é uma lista completa, mas, desde que se estivesse fora do escopo deste tutorial. Você pode verificar o smartd.Conf Manpage para isso. O valor padrão usado pela diretiva é auto: Isso significa que o tipo de dispositivo é inferido pelas informações fornecidas pelo sistema operacional.

O -H A diretiva é usada apenas para Ata dispositivos. É necessário para permitir o monitoramento do S.M.A.R.T. Status de saúde do disco. Quando esta opção é usada, um relatório é recebido quando algum dos atributos inteligentes do tipo pré-falha são iguais ou abaixo do limiar (isso pode significar um iminente a falha do dispositivo).

O -eu A diretiva é usada para especificar que tipo de logs inteligentes deve ser monitorado. As opções mais comuns são erro e Auto teste. O primeiro verifica se o número de erros de ATA no resumo S.M.A.R.T. O log de erros aumentou desde a última verificação; o segundo verifica quando o número de testes falhados aumenta, em vez.

O -s Diretiva leva um expressão regular como argumento, e é usado para agendar um auto -teste. O regex deve respeitar uma sintaxe específica:

T/mm/dd/d/hh 

Onde T é o tipo de teste que deve ser executado, as opções são:

  • eu Para um longo autoteste
  • S Para um abreviação de autoteste
  • C para teste de transporte
  • O Para um teste imediato offline

MILÍMETROS é usado para especificar o mês do ano na forma de dígitos decimais, de 01 (Janeiro) para 12 (Dezembro). O Dd Notação especifica o dia do mês: Os valores podem ir de 1 para 31. Na sintaxe regex, a d significa o dia da semana. Nós especificamos isso usando um dígito de 1 (Segunda -feira) para 7 (Domingo). Finalmente, Hh indica o hora do dia (Horas depois da meia -noite): 00 (Meia -noite a pouco antes da 1 da manhã) para 23 (23:00 a pouco antes da meia -noite). Para agendar um "longo teste" todos os domingos entre as 4h e as 5h, escrevamos:

L /… /… /7/04 

Observe que no regex acima, cada ponto (.) corresponde a qualquer valor possível; portanto, no exemplo acima, é basicamente dizer "todos os meses" ou "todos os dias".

O -f A opção é necessária para verificar falhas de Old_age atributos. Esses atributos são aqueles que (caso seu valor esteja abaixo do limite) não indique uma falha iminente de disco, mas apenas uma potencial anomalia de uso, como por exemplo, um tempo de uso que superou a vida útil do dispositivo projetado.

O -t A diretiva é usada para rastrear mudanças em Old_age e e Pré-falha Atributos inteligentes. É um atalho para o -p e -você diretivas, que executam essas tarefas, respectivamente.

O -C e -você são necessárias diretivas para relatar quando o setores atuais pendentes e incontável os setores contam se tornam algo diferente de 0. Ambas as diretivas aceitam um EU IA argumento, que é o id dos atributos inteligentes que eles verificarão, geralmente 197 e 198:

197 current_pending_sector 0x0032 200 000 Old_age sempre - 0 198 offline_uncorrectable 0x0030 100 253 000 Old_age offline - 0 

finalmente, o -a A diretiva é um atalho; Isso implica o uso de: -H, -f,-t, -l Erro, -l Auto -teste, -C 197 e -U 198. É importante notar que -a é a diretiva padrão: se ninguém for especificado, é assumido.

Usando MSMTP para notificações de email externas

Para poder enviar ao email de notificação "externamente" e não no carretel de correio de nossos usuários de máquinas, podemos usar msmtp. MSMTP é a cliente SMTP capaz de encaminhar e -mails para terceiros smtp servidor. É muito fácil de configurar, vamos ver como!

Instalação

Instalação msmtp é bastante simples. O comando específico depende, é claro, da distribuição em que estamos executando. No Debian e nos derivados, podemos executar:

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


Para alcançar o mesmo resultado no Archlinux, podemos executar:

$ sudo pacman -s msmtp 

Em Fedora, usamos o DNF gerenciador de pacotes:

$ sudo dnf install msmtp 

No Red Hat Enterprise Linux e Centos, deve ser possível instalar o software do repositório EPEL de terceiros, usando o mesmo comando acima.

Configurando o MSMTP para trabalhar com o Gmail com senha específica do aplicativo

MSMTP pode ser configurado por usuário ou com um arquivo de configuração global. Cada usuário que deseja obter uma configuração específica deve usar o ~/.msmtprc arquivo. As permissões apropriadas devem ser definidas na TI, para que seja legível e gravável apenas por seu proprietário. Para usar uma configuração global, devemos usar o /etc/msmtprc Arquivo em vez disso: para msmtprc trabalhar corretamente deveria ter 644 como permissões, portanto deve ser legível por todos os usuários. A configuração necessária para o aplicativo encaminhar e -mails para o servidor SMTP do Gmail é o seguinte:

Padrão Auth no TLS em TLS_Trust_file/etc/ssl/certs/Certificates.CRT LOGFILE/VAR/LOG/MSMTP.LOG # CONFIGURAÇÃO GMAIL HOST GMAIL HOST SMTP.Gmail.Porta COM 587 do seu nome de usuá[email protected] Usuário seu nome de senha de Username Password Specific-Password Conta Padrão: Gmail 

Como você deve ter notado, no senha Campo usamos uma senha específica do Google App. Senhas específicas do aplicativo são senhas que devem ser usadas com programas considerados "menos seguros" pelo Google, porque não usam o auth2 Protocolo de autenticação. Para gerar essa senha, devemos navegar para a página Senha do App Google, fazer login, selecionar um aplicativo para associar a uma senha (ou inserir um nome personalizado) e confirmar a criação. A senha criada será exibida, mas você não poderá recuperá -la se a derrotar, por isso certifique -se de mantê -lo seguro.

Página de senha específica do Google App Depois que a senha for gerada, podemos colá -la no arquivo. Esteja avisado, no entanto, que a senha é armazenada no texto simples e o próprio arquivo é legível pelo mundo, para que isso possa causar problemas de segurança. Pelo menos, seria melhor usar uma conta dedicada do Google, usada apenas para esse fim.

Por padrão, os emails são enviados usando o sistema correspondência comando. Para poder trabalhar com o MSMTP, o MSMTP-MTA o pacote também deve ser instalado: este pacote cria um enviar correio Symlink que aponta para msmtp E está disponível no Debian e Archlinux (não consegui encontrá -lo no Fedora). Como alternativa, podemos entrar na seguinte linha no /etc/correio.rc arquivo de configuração:

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


Testando a configuração

Com todas as coisas no lugar, podemos verificar se nossa configuração funciona conforme o esperado. No /etc/smartd.conf Arquivo, comentamos todas as linhas e anexamos o seguinte:

/Dev/sda -a -m [email protected] com -m 

Nós nos concentramos no /Dev/SDA dispositivo, e já vimos o que o -a, -m e -M opções são para. Passando "teste" como um argumento para o último, um email de teste será enviado para o endereço especificado sempre que o daemon for reiniciado. Então, vamos fazer isso correndo:

$ sudo systemctl reinicie smartd 

Neste ponto, se tudo estiver configurado corretamente, deveríamos ter recebido um e -mail!

Conclusões

Neste artigo, demos uma olhada Smartd o daemon fornecido pelo Smartmontools opções, que podem ser usadas para agendar S.M.A.R.T. testes e coleta de dados. Vimos como configurá -lo e qual é o significado de algumas das diretivas que podem ser usadas no arquivo de configuração. Finalmente, vimos como usar o MSMTP para encaminhar notificações de email externamente via servidor SMTP do Gmail.

Tutoriais do Linux relacionados:

  • Como verificar uma saúde do disco rígido na linha de comando…
  • Comandos de verificação de saúde básica do Linux
  • Uma introdução à automação, ferramentas e técnicas do Linux
  • Otimização de desempenho do Linux: ferramentas e técnicas
  • Mastering Bash Script Loops
  • Coisas para instalar no Ubuntu 20.04
  • Como particionar a unidade USB no Linux
  • Coisas para fazer depois de instalar o Ubuntu 20.04 fossa focal linux
  • Mint 20: Melhor que o Ubuntu e o Microsoft Windows?
  • Como comparar o desempenho do disco no Linux