2013-05-10 10 views
7

सारांश: मैं लॉगस्टैश में लॉग के साथ एक टीटीएल फ़ील्ड संलग्न करना चाहता हूं और उन्हें लोचदार खोज में भेजना चाहता हूं।लॉन्स्टैश के माध्यम से भेजे गए प्रत्येक लॉग के साथ एक टीटीएल फ़ील्ड संलग्न करना Elasticsearch

मैं पहले ही प्रलेखन से गुजर चुका हूं लेकिन इसमें से अधिक नहीं मिला, क्योंकि यह बहुत स्पष्ट नहीं है।

यह लॉगस्टैश में मेरी कॉन्फ़िगरेशन फ़ाइल है।

input { 
    stdin { 
    type => "stdin-type" 
    } 
} 

output { 
    stdout { debug => true debug_format => "json"} 
    elasticsearch {} 
} 

अब मान लीजिए कि प्रत्येक लॉग पढ़ने के लिए, मैं 5 दिनों के लिए इसके साथ एक टीटीएल संलग्न करना चाहता हूं।

मुझे पता है कि लोचदार खोज में टीटीएल विकल्प को कैसे सक्रिय किया जाए। लेकिन लोचदार खोज विन्यास फाइलों में मुझे क्या परिवर्तन करना होगा, यह मेरे लिए बहुत स्पष्ट नहीं है। प्रलेखन मैपिंग फ़ोल्डर को देखने के लिए कहता है, लेकिन लोचदार खोज डाउनलोड फ़ोल्डर में कोई भी नहीं है।

एक विशेषज्ञ सहायता की तलाश में है।

उत्तर

12

यदि आप फ़ाइल सिस्टम पर मैपिंग रखना चाहते हैं तो here देखें। आपको config फ़ोल्डर पर जाना होगा और mappings नामक एक फ़ोल्डर बनाएं, और mappings के भीतर इंडेक्स के नाम के साथ दूसरा। चूंकि लॉगस्टैश प्रति दिन एक इंडेक्स डिफ़ॉल्ट रूप से बनाता है, इसलिए आप फ़ोल्डर के लिए _default नाम का बेहतर उपयोग करेंगे, ताकि मैपिंग सभी इंडेक्स पर लागू हो। आपके द्वारा उस फ़ोल्डर के अंतर्गत बनाई गई फ़ाइल में उस प्रकार का नाम होना चाहिए जिस पर आप मैपिंग लागू करना चाहते हैं। मुझे याद नहीं है कि लॉगस्टैश किस प्रकार का उपयोग करता है, इस प्रकार मैं _default_ मैपिंग परिभाषा का उपयोग करूंगा। बस फ़ाइल फोन और उस में निम्नलिखित सामग्री डाल:

{ 
    "_default_" : { 
     "_ttl" : { "enabled" : true } 
    } 
} 

आप देख सकते हैं प्रकार का नाम दोनों फ़ाइल नाम में और उसकी सामग्री पर प्रदर्शित हों।

अन्यथा, आप फ़ाइल सिस्टम पर सामान डालने से बच सकते हैं। आप बना सकते हैं एक index template अपने कस्टम मानचित्रण युक्त, निम्नलिखित की तरह:

{ 
    "template" : "logstash-*", 
    "mappings" : { 
     "_default_" : { 
      "_ttl" : { "enabled" : true } 
     } 
    } 
} 

मानचित्रण तो सभी सूचकांकों जिसका नाम टेम्पलेट नमूने का मिलान करने के लिए लागू किया जाएगा। यदि आप _default_ मैपिंग परिभाषा का उपयोग करते हैं तो मैपिंग को सभी प्रकार के डिफॉल्ट के रूप में डिफ़ॉल्ट रूप से लागू किया जाएगा।

+0

@javanna ... आपकी मदद के लिए thanx ... लेकिन मैं जानना चाहता हूं कि मैंने आपके द्वारा उल्लिखित सभी फाइलें कहां रखी हैं। मान लें कि मैं पहली विधि से जाता हूं, मुझे कॉन्फ़िगरेशन के तहत 2 फ़ोल्डर्स, मैपिंग्स और _default बनाना है, है ना? तो मैं टीटीएल चीज़ कहां निर्दिष्ट करूं? – user2359303

+0

क्या मुझे एक जेसन फ़ाइल बनाना होगा? यदि हां, तो इसमें क्या होगा और इसका नाम क्या होगा? डॉक्टर कहते हैं [मैपिंग-नाम]। क्या आप इसे सब स्पष्ट कर सकते हैं? मैं वास्तव में उलझन में हूँ – user2359303

+0

कृपया मेरे संदेहों का उत्तर दें – user2359303

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