2017-10-19 26 views
1

J'essaye de traiter un fichier dans Logstash avec la date actuelle dans le nom "YYYYMMDD.json". Cependant, je ne peux pas utiliser la variable de date dans ce fichier de configuration. Est-il possible de toujours le faire sans coder en dur la date?Comment utiliser la date actuelle dans le fichier de configuration logstash comme fichier d'entrée

input { 
     file { 
       path => "/home/ubuntu/YYYYMMDD.json 
         type => "ip-address" 
         start_position => "beginning" 
         sincedb_path => "/dev/null" 
     } 
} 
filter { 
     json { 
       source => "message" 
     } 
} 
output { 
     elasticsearch { 
       hosts => ["IP:Port"] 
         index => "results" 
         document_id => "%{ip}" 
         doc_as_upsert => true 
         action => "update" 
         retry_on_conflict => 10 
     } 
} 

Répondre

1

En path vous manque un " à la fin du chemin:

path => "/home/ubuntu/YYYYMMDD.json" 

Essayez cette

file { 
    path => "/home/ubuntu/%{+YYYYMMDD}.json" 
    type => "ip-address" 
    start_position => "beginning" 
    sincedb_path => "/dev/null" 
} 

Vous pouvez utiliser: path => "/home/ubuntu/*.json" et analyser tous JSON dans le dossier.

Vous pouvez utiliser filebeats si vous ajoutez un fichier tous les jours.