Lendo arquivos de vários diretórios no Logstash?
-
21-12-2019 - |
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?
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