Recentemente, configurei o Debian 9 em um servidor doméstico e gostaria de executar algumas verificações SMART nos meus discos rígidos e ser alertado se houver algum problema. Idealmente, gostaria que os alertas entrassem na minha instância do Slack, pois tenho isso conectado ao meu smartphone e acho muito útil (já tenho alertas para meu UPS e pings com falha chegando lá).
Estive procurando no smartd/smartctl e não consigo encontrar uma maneira de obter as notificações no Slack.
Eu esperava que fosse possível chamar algum script bash em algum lugar para processar uma notificação e chamar outro script (python) que envia a notificação para o Slack.
(edit: apenas para esclarecer, eu já tenho o script Python para notificações do Slack, pois estou usando isso em outro lugar, então estamos bem lá)
Editar Ambas as soluções abaixo foram testadas e funcionaram bem para mim. Optei pela solução mail + script, pois ela me cobria caso o Slack não funcionasse por qualquer motivo, mas ambos eram sólidos e agradeço a RalfFriedl por incluir as variáveis ambientais para mim.
Isso é para
sda
. Adicione uma linha por dispositivo. Ou substitua/dev/sda
porDEVICESCAN
para monitorar todos os dispositivos detectados.Certifique-se de que
/my/script
não demore muito, pois ele ficará travadosmartd
até terminar./my/script
será executado com várias variáveis de ambiente. Procureman smartd.conf
porSMARTD_DEVICE
. Por exemplo, outra variável: "SMARTD_FULLMESSAGE
é definida para o conteúdo de toda a cadeia de mensagens de aviso de e-mail do smartd."Para testar a mensagem, inicie o smartd usando este arquivo de configuração temporário, para enviar uma mensagem de teste:
Eu não testei nenhum dos itens acima. Suponho que você já tenha resolvido se precisa incluir uma
-d
opção específica testando usandosmartctl
. (Eu não sei como-d
e DEVICESCAN interagem). Também presumo que os testes padrão-a
correspondam ao que você precisa para o seu dispositivo. Por exemplo, uma das coisas mencionadas na página de manual longa é que algumas unidades mostrarão falsos positivos após a reatribuição de um setor defeituoso: https://superuser.com/a/539040/110495Se você quiser
smartd
chamar seu script, veja a opção-w
:O script é normalmente usado para enviar um e-mail. É chamado com estas variáveis de ambiente:
Para mais detalhes veja
man smartd
eman smartd.conf
.