Pergunta

Eu li meus arquivos de log (cron_log, auth_log, mail_log, etc) usando esta configuração:

file{
path => '/path/to/log/file/*_log'
}

Então eu li meus arquivos de log e verifiquei:

if(path) ~= "cron"  -----match--------
if(path) ~= "auth"  -----match--------

Agora eu tenho diretórios como: Server1 Server2 Server3......Em Server 1 existem subdiretórios: authlog cronlog.....Dentro do authlog existem subdiretórios em termos de data (como 2014.05.26, 2014.05.27) que finalmente contém o arquivo de log do dia, que preciso analisar.

Então, atualmente eu estava tendo um arquivo de configuração que costumava ler arquivos usando *_log e eu uso para executar esse arquivo de configuração e todos os arquivos de log presentes em /path/to/log/file/*_log foram analisados.

Agora tenho que ler vários diretórios (conforme explicado acima).

Terei que escrever um arquivo de configuração separado para cada diretório?

Qual é a melhor maneira de conseguir isso usando o logstash?

Foi útil?

Solução

Interpretação de globs Ruby ** como incluindo todos os subdiretórios.

Então, por exemplo, você poderia dar o file entrada um caminho como:

/path/to/date/folders/**/*_log
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top