Uma maneira mais confiável de lidar com isso seria usar uma ferramenta criada para o cenário exato que você tem em mente (que é monitorar um log e enviar e-mails para fora em padrões recém-detectados).
Faça o download desta ferramenta
Depois de descompactá-lo e executá-lo, você verá muitos exemplos da vida real que pode imitar. O único exemplo em que você deseja se concentrar é o MODEL13, que aborda a tarefa de enviar notificações por e-mail para endereços de e-mail específicos sempre que um padrão é detectado em um ou vários registros diferentes.
./logrobot localhost /var/tmp/logXray autonda /var/log 60m '.*error.*_P_.*fatal.*' '.' 1 1 errchk -ndshow [email protected]
No comando acima, abaixo estão os parâmetros que você deve alterar, como achar melhor:
-
'. * erro. * _ P _. * fatal. *' - aqui, dois padrões estão sendo pesquisados em todos os registros no diretório / var / log
-
/ var / log - este é o diretório cujos logs você deseja monitorar. Se você deseja monitorar um arquivo de log específico, substitua-o pelo
caminho absoluto para o arquivo de log.
- 1 - Enviar um alerta de aviso se 1 entrada for encontrada no (s) registro (s)
- 1 - Enviar um alerta crítico se 1 entrada for encontrada no (s) registro (s)
- Se o aviso e a crítica forem os mesmos, a verificação alertará como crítica quando o padrão monitorado for encontrado nos registros.
- errchk - Esta é a tag para essa verificação de log específica. Dê um nome merecedor ... um nome que corresponda ao tipo de log (s) sendo monitorado (s) ... ou seja, tomcatLogCheck
- E, claro, o email =. Altere isso para os endereços de e-mail apropriados.
Esta é uma opção melhor porque inclui a lógica necessária para garantir que apenas novas linhas adicionadas ao (s) registro (s) monitorado (s) sejam verificadas. Também é muito mais eficiente. E também deve ser portátil.
Claro, verifique se o postfix está instalado no host para que os e-mails possam ser enviados. Eu posso estar esquecendo alguma coisa aqui, mas essa deve ser a essência de como a ferramenta funciona.