O Logwatch é uma boa solução, mas você ainda está lidando com muitos e-mails. Eu prefiro alimentar tudo no syslog e depois coletar esses syslogs em uma máquina central de log. Você pode fazer vários tipos de processamento e correlação de eventos nos logs em um só lugar.
Primeiro, como obter seus logs de aplicativo no syslog? Existem algumas maneiras. Para o caso mais simples, você pode chamar logger
em scripts shell para criar mensagens syslog. Se você estiver executando scripts perl, você pode adaptá-los para usar Log4Perl para redirecionar os logs para o syslog. Existem abordagens semelhantes disponíveis para outros idiomas.
Você deve considerar a substituição do sylog do sistema de ações por algo como syslog-ng para melhorar o desempenho e a capacidade de filtrar logs conforme eles se movem pelo pipeline. O syslog-ng também suporta o bloqueio de canais para que você possa redirecionar a saída de um programa existente diretamente para o syslog-ng sem modificar o programa e sem perder dados.
Depois de obter seus registros em um só lugar, você pode configurar ferramentas como Correlacionador simples de eventos para encontrar padrões. Você também pode executar ferramentas como logstash para salvar registros em um banco de dados e permitir consultas e gráficos mais poderosos.
É claro que existem ferramentas comerciais para fazer esse tipo de coisa também. Um dos mais populares é o Splunk , que é gratuito para experimentar e para quantidades limitadas de dados. O Splunk vem com um cliente que você pode executar em vários servidores para economizar o passo de colocar todos os seus logs em um servidor syslog central. Se você tem mais dinheiro que os desenvolvedores, vale a pena considerar algo como o Splunk.
Por fim, aqui está um mini-howto de registro central que cobre muito do mesmo campo que acabei de fazer.