2014-10-23 4 views
6

Nun, ich habe das folgende Problem. ich meinen Arbeitsplatz die folgende Art und WeiseGibt es eine Möglichkeit, einen relativen Pfad in die Conf-Dateien zu setzen?

bin conf example lib LICENSE locales patterns README.md spec vendor 

im Ordner conf hätte habe ich die Datei logstash-apache.conf mit dem nächsten Eingang bekommt

input { 
    file { 
    path => "./../example/logs/logprueba/*_log" 
    start_position => beginning } 
    } 
} 

Wenn ich logstash laufen lasse, erhalte ich die Meldung:

File paths must be absolute, relative path specified: ./../example/logs/logprueba/*_log

gibt es eine Möglichkeit, einen relativen Pfad zu setzen?

+1

es ist nicht wirklich ein relativer Pfad, aber da kürzlich logstash [beinhaltet die Unterstützung für Erweiterung von Umgebungsvariablen in der Conf-Datei] (https://www.elastic.co/guide/en/logstash/current/environment-variables .html) (Sie müssen eventuell --allow-env je nach Version) übergeben, wenn Sie logstash immer aus einem bestimmten Verzeichnis (z. B. dem mit der conf-Datei) ausführen möchten, könnten Sie path => verwenden "$ {PWD} /../ Beispiel/logs/logprueba/* _ log". Alternativ, wenn Sie bereit sind, eine var festzulegen, Pfad => "$ {LOGS_DIR}/* _ log" –

Antwort

3

Die Antwort ist nein - nicht ohne die logstash Quellcode zu modifizieren ... Nach dem docs:

Der Weg (e) in die Datei (en) als Eingabe verwendet werden. Sie können hier Globs verwenden, wie zum Beispiel /var/log/*.log. Pfade müssen absolut sein und dürfen nicht relativ sein.

Verwandte Themen