2014-10-23 5 views
6

ठीक है, मैं निम्नलिखित समस्या रही है। मैं अगले इनपुटक्या conf फ़ाइलों में सापेक्ष पथ डालने का कोई तरीका है?

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

साथ फ़ाइल logstash-apache.conf मिल गया है मैं conf फ़ोल्डर में मेरी कार्यक्षेत्र नीचे दिए तरीक़े

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

मिल गया है जब मैं logstash चलाने के लिए, मैं संदेश मिलता है:

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

क्या कोई सापेक्ष पथ रखने का कोई तरीका है?

+1

यह वास्तव में एक सापेक्ष पथ नहीं है, लेकिन हाल ही में लॉगस्टैश [conf फ़ाइल में पर्यावरण परिवर्तनीय विस्तार के लिए समर्थन शामिल है] (https://www.elastic.co/guide/en/logstash/current/environment-variables .html) (संस्करण के आधार पर --allow-env को पास करने की आवश्यकता हो सकती है) यदि आप हमेशा किसी विशेष निर्देशिका से लॉगस्टैश चलाने के इच्छुक हैं (उदाहरण के लिए इसमें फ़ाइल में से एक फ़ाइल), तो आप पथ => "$ {पीडब्ल्यूडी} /../ उदाहरण/लॉग/logprueba/* _ लॉग इन करें"। वैकल्पिक रूप से, यदि आप एक var, path => "$ {LOGS_DIR}/* _ लॉग" सेट करने के इच्छुक हैं –

उत्तर

3

उत्तर है नहीं - नहीं logstash स्रोत कोड को संशोधित बिना ... docs के अनुसार:

पथ (रों) फ़ाइल (फ़ाइलें) के लिए एक इनपुट के रूप में उपयोग करने के लिए। आप ग्लोब का उपयोग यहां कर सकते हैं, जैसे /var/log/*.log पथ पूर्ण होना चाहिए और रिश्तेदार नहीं हो सकते हैं।

संबंधित मुद्दे