Extraindo campos do logstash do caminho do arquivo de entrada?
Quero ler meus arquivos de log de vários diretórios, como:Server1, Server2
...
Server1
possui subdiretórios comocron, auth
... dentro desses subdiretórios é olog file
respectivamente.
Então, estou pensando em ler arquivos como este:
input{
file{
#path/to/folders/server1/cronLog/cron_log
path => "path/to/folders/**/*_log"
}
}
No entanto, estou tendo dificuldade em filtrá-los, ou seja, saber para qual servidor (Server1
) e logtype (cron
), Devo aplicar ogrok
padronizar:
Por exemplo: pensei em fazer algo assim
if [path] =~ "auth"{
grok{
match => ["message", ***patteren****]
}
}else if [path] =~ "cron"{
grok{
match => ["message", ***pattern***]
}
Acimacron
é para arquivo de log (não diretório cronLog). Mas assim eu também quero filtrarserver name
como todo servidor terácron
, auth
, etc logs.
Como filtrar em ambos?
Existe uma maneira de obter nomes de diretório depath
na entrada ?? Como daqui
path => "path/to/folders/**/*_log"
Como devo proceder? Alguma ajuda é apreciada?