A solução mais simples para mim é usar syslog
ou um de seus derivados (rsyslog, syslog-ng) para enviar todos os logs para os servidores centrais. (Plural porque você pode querer ter algum tipo de failover para segurança ou balanceamento de carga se o volume de log for muito alto)
Componentes principais que você precisa são:
- Compacta logs com o algoritmo mais eficiente que você pode pagar, dependendo do volume de log e da capacidade de computação no (s) servidor (es) central (is).
gzip
com a configuração de agressividade padrão deve fazer o trabalho. - Use a solução de armazenamento mais resiliente que você pode encontrar (o RAID5 parece um mínimo)
Os arquivos de log são muito repetitivos, portanto, um dia de registros de aplicativos deve ter uma taxa de compactação muito alta, permitindo que você armazene seus 7 anos em uma quantidade decente de disco rígido.