2016-12-12 1 views
0

J'utilise Logstash pour la première fois. Je suis sous Windows 10 je tente d'accéder à un fichier JSON multiligne à partir d'une entrée/dossier comme celui-ci:Logstash ne peut pas lire le fichier

input 
{ 
    file 
    { 
     codec => multiline 
     { 
      pattern => '^/{' 
      negate => true 
      what => previous     
     } 
     path => "/input/*.json" 
     exclude => "*.gz" 
    } 
} 

filter 
{ 
    mutate 
    { 
     replace => [ "message", "%{message}" ] 
     gsub => [ 'message','\n',''] 
    } 
    if [message] =~ /^{.*}$/ 
    { 
     json { source => message } 
    } 

} 

output 
{ 
    file 
    { 
     path => "/output/output.json" 
    } 
} 

Le problème est quand je lance par exemple logstash je reçois cette erreur:

WARN logstash.inputs.file - n'a pas réussi à ouvrir /input/sample.json: \ input \ sample.json

je remplace déjà le LS_GROUP par adm startup.options et a essayé de remplacer "/" avec "\", n'a pas fonctionné. J'ai aussi "chmod 777" mon fichier json mais ça ne change rien.

Une idée?

Répondre

0

Aller avec / devrait fonctionner correctement. Que faire si vous essayez d'avoir quelque chose comme cela path, échapper à \\:

path => "\\input\\*.json" 

Assurez-vous de donner le chemin complet.

+0

Rien ne s'est apaisé du tout. Pour être sûr que mon chemin est bon, je mets un json dans "logstash-5.1.1/input /" et un autre dans "C:/input /" – Magnas

+1

Comme c'est sur Windows, peut-être que le chemin devrait commencer par c:? Comme: '" C:/input/*. Json "' – baudsp

+0

@baudsp yup c'est ce que je pensais que Magnus devrait déjà avoir. Donc j'ai supposé que le problème aurait été avec la clé d'échappement. – Kulasangar