Monitoramento de log baseado em arquivo com gatilhos para somente E-mails?

2

Eu tenho vários serviços heterogêneos da minha empresa capazes de registrar coisas em arquivos, mas, por exemplo, não é possível enviar e-mails por conta própria. Além disso, faço login em arquivos do Apache httpd e do Tomcat, Postgres, Upstart e várias outras fontes, por padrão, não usando, por exemplo, Syslog. O senso comum de todos esses serviços está usando arquivos, mas o tamanho do log, os formatos das mensagens, a rotação ou não, etc. diferem.

Então, o que eu estou procurando é algum monitor de log que se concentra em arquivos configurados e fornece gatilhos para combinar o conteúdo recém-adicionado a esses arquivos contra algumas expressões regulares ou para enviar mensagens com mensagens de erro.

Eu gostaria de ter algo independente, focando no monitoramento de arquivos de log com gatilhos e sendo um pouco eficiente, por exemplo, usando eventos do sistema de arquivos para receber notificações de arquivos alterados, apenas lendo o final dos arquivos nas alterações, em vez de analisar o arquivo inteiro e tal. Eu preciso de alguma flexibilidade na definição de gatilhos, porém, mas além disso, só precisa enviar e-mails com mensagens de log para alguns endereços arbitrários. Nem mesmo por si só, apoiar um sendmail local é absolutamente suficiente, com muito poucos recursos de templates para esses emails. Eu nem me importo muito com coisas como reconhecer várias mensagens de erro ou algo assim.

Eu li o dia todo sobre esse tópico e encontrei várias soluções diferentes, como Graylog, Logstash, plugins para Nagios / Zabbix etc. Mas pelo que eu li, todos eles têm sérios inconvenientes para o meu ambiente: O Graylog e o Logstash parecem ter uma configuração e dependências pesadas e fornecem funções que simplesmente não preciso, como procurar em logs. Eu atualmente não uso Nagios e Zabbix também e não tenho certeza de como seus plugins de monitoramento de log executam, porque eles parecem pesquisar arquivos de log baseados em tempo e tal. Além disso, a configuração do Zabbix parece um pouco difícil de manter também.

Então, há algo mais focado disponível?

    
por Thorsten Schöning 08.06.2017 / 16:59

2 respostas

1

Eu sugiro strongmente que você aprenda e implemente uma solução de monitoramento completa como o Zabbix: embora você só precise de monitoramento de arquivos de log hoje, talvez você precise de algo mais abrangente amanhã.

Se você realmente quiser apenas monitorar alguns arquivos de log, dê uma olhada nas respostas que você pode encontrar aqui e aqui .

    
por 08.06.2017 / 17:10
1

Monit parece promissor, conforme a sugestão do @ shodanshok para outras questões:

check file syslog with path /var/log/syslog
    ignore content = "monit"
    if content = "^mrcoffee" then alert

SwatchDog parece interessante, mas antigo e não mantido, com graves bugs abertos .

logster parece interessante, mas o Python não é minha escolha favorita e parece se concentrar em fornecer saída especial em vez de ações de acionamento. Pode ter graves erros também.

    
por 08.06.2017 / 17:33