Elastic{on} 17 के बाद से, हम Elastic Stack में आने वाली सभी सुविधाओं के बारे में उत्साहित हैं, विशेष रूप से नई Filebeat मॉड्यूल अवधारणा। आमतौर पर, जब आप फ़ाइलबीट के साथ डेटा हथियाना शुरू करना चाहते हैं, तो आपको फ़ाइलबीट को कॉन्फ़िगर करने, एक इलास्टिक्स खोज मैपिंग टेम्प्लेट बनाने, एक अंतर्ग्रहण पाइपलाइन या लॉगस्टैश इंस्टेंस बनाने और परीक्षण करने की आवश्यकता होती है, और फिर उस डेटासेट के लिए किबाना विज़ुअलाइज़ेशन बनाने की आवश्यकता होती है। बीट्स टीम ने अब मॉड्यूल अवधारणा के साथ उस सेटअप प्रक्रिया को बहुत आसान बना दिया है।
एक फाइलबीट मॉड्यूल उन सभी कॉन्फ़िगरेशन चरणों को एक पैकेज में रोल करता है जिसे बाद में एक कमांड द्वारा सक्षम किया जा सकता है। फ़ाइलबीट 5.3.0 और बाद के संस्करण में mysql, nginx, apache, और सिस्टम लॉग के लिए मॉड्यूल हैं, लेकिन इसे स्वयं बनाना भी आसान है।
फाइलबीट मॉड्यूल अब लगभग कुछ हफ्तों के लिए उपलब्ध हैं, इसलिए मैं एक त्वरित ब्लॉग बनाना चाहता था कि उन्हें गैर-स्थानीय इलास्टिक्स खोज क्लस्टर के साथ कैसे उपयोग किया जाए, जैसे कि ऑब्जेक्टरॉकेट सेवा पर। हमने अभी हाल ही में ऑब्जेक्टरॉकेट सेवा पर इलास्टिक्स खोज संस्करण 5.4 लॉन्च किया है, ताकि आप आज ही फाइलबीट मॉड्यूल को आज़मा सकें और नए ऑडिट मॉड्यूल और लिनक्स सिस्टम.ऑथ फाइलसेट का लाभ उठा सकें।
सेटिंग
नीचे दिए गए चरण Elasticsearch उदाहरणों और हमारे UI के लिए ObjectRocket को संदर्भित करते हैं, लेकिन अन्य सेवाओं या अपने स्वयं के क्लस्टर के लिए संशोधित करने के लिए पर्याप्त आसान होना चाहिए। साथ ही, हम इस उदाहरण में "सिस्टम" मॉड्यूल का उपयोग करेंगे, लेकिन अन्य मॉड्यूल को शामिल करना आसान है।
आपको एक Elasticsearch 5.3 या बाद के उदाहरण की आवश्यकता होगी (मैंने कुछ पहले के 5.x Elasticsearch संस्करणों की कोशिश की और यह ठीक काम किया, लेकिन कोई गारंटी नहीं), उसी संस्करण का Kibana, Elasticsearch क्लस्टर से कनेक्ट करने के लिए होस्टनाम, क्लस्टर में लिखने और सूचकांक बनाने की क्षमता वाले उपयोगकर्ता क्रेडेंशियल, और फ़ाइलबीट के संस्करण 5.3 या बाद के संस्करण।
यह मानते हुए कि आपका इलास्टिक्स खोज क्लस्टर और किबाना पहले से ही स्थापित हैं, आपको पहले यहां से किसी भी प्रकार के सिस्टम के लिए फाइलबीट डाउनलोड करना होगा, फिर इसे उस सिस्टम पर एक्सट्रेक्ट करना होगा जहां आप लॉग्स को इकट्ठा करना चाहते हैं। इस उदाहरण के लिए, मैं सिर्फ MacOS चलाने वाली मैकबुक का उपयोग कर रहा हूं और Elasticsearch 5.4.0 क्लस्टर से कनेक्ट कर रहा हूं, इसलिए मैं filebeat-5.4.0-darwin-x86_64.tar.gz पैकेज का उपयोग करूंगा। उस संग्रह को निकालें और फिर हम फ़ाइलबीट सेट करने के लिए तैयार हैं।
फ़ाइलबीट सेट करना
डिफ़ॉल्ट रूप से, फ़ाइलबीट आपके स्थानीय मशीन पर एक इलास्टिक्स खोज उदाहरण से कनेक्ट करने का प्रयास करता है और /var/log/*.log में शामिल filebeat.yml फ़ाइल के साथ सभी लॉग को पढ़ता है, इसलिए हमें पहले आपके क्लस्टर और स्ट्रिप को इंगित करने के लिए इसे संशोधित करने की आवश्यकता है किसी अन्य प्रॉस्पेक्टर से बाहर। यदि आप ObjectRocket सेवा का उपयोग कर रहे हैं, तो आप हमारे UI से केवल बीट्स स्निपेट को कॉपी करके शुरू कर सकते हैं, जो आपके क्लस्टर के लिए विशिष्ट होस्टनामों को ऑटो-पॉप्युलेट करता है।
बाकी सब कुछ अलग करने और उपयोगकर्ता नाम/पासवर्ड भरने के बाद, आपकी पूरी filebeat.yml फ़ाइल कुछ इस तरह दिखनी चाहिए:
डिव क्लास ="हाइलाइट">
output:
elasticsearch:
# The Elasticsearch cluster
hosts: ["https://dfw-xxxx-0.es.objectrocket.com:xxxx", "https://dfw-xxxx-1.es.objectrocket.com:xxxx", "https://dfw-xxxx-2.es.objectrocket.com:xxxx", "https://dfw-xxxx-3.es.objectrocket.com:xxxx"]
# HTTP basic auth
username: "elasticsearch"
password: "supersecretpassword"
इतना ही। ध्यान दें कि सभी इनपुट हटा दिए गए हैं, इसलिए फ़ाइल में केवल इलास्टिक्स खोज कनेक्शन जानकारी शामिल है। इस बिंदु पर, यह भी सुनिश्चित करें कि आप अपनी मशीन से अपने इलास्टिक्स खोज क्लस्टर तक पहुंचने में सक्षम हैं, एसीएल जोड़े गए हैं, आदि। अब सब कुछ गति में रखने के लिए फाइलबीट का उपयोग करें।
फाइलबीट चल रहा है
आपने अपने क्लस्टर से बात करने के लिए सब कुछ कॉन्फ़िगर कर दिया है, इसलिए जब तक आपने अपने सभी परिवर्तन डिफ़ॉल्ट स्थान पर filebeat.yml में किए हैं, तब तक आप फ़ाइलबीट निर्देशिका से निम्न कमांड चलाएंगे:
./filebeat -e -modules=system -setup
-e फाइलबीट लॉग को syslog के बजाय stderr में बनाता है, -मॉड्यूल्स =सिस्टम फाइलबीट को सिस्टम मॉड्यूल का उपयोग करने के लिए कहता है, और -सेटअप फाइलबीट को मॉड्यूल के किबाना डैशबोर्ड को लोड करने के लिए कहता है। आपको केवल पहली बार कमांड के -सेटअप भाग को शामिल करने की आवश्यकता है, या फ़ाइलबीट को अपग्रेड करने के बाद, क्योंकि यह किबाना में डिफ़ॉल्ट डैशबोर्ड को लोड करता है। यदि आप एकाधिक मॉड्यूल चलाना चाहते हैं, तो आप उन सभी को अल्पविराम से अलग करके सूचीबद्ध कर सकते हैं (कोई स्थान नहीं)।
<ब्लॉकक्वॉट>
नोट:फाइलबीट 5.4.0 में एक बग है जिसके कारण -setup
. हो सकता है कुछ सिस्टम पर विफल होने के लिए कमांड का हिस्सा। आप ulimit को कुछ उच्चतर पर सेट करके इसके आसपास काम कर सकते हैं (ulimit -n 2048
चलाएं) ) या फ़ाइलबीट 5.3.x का उपयोग करें।
फाइलबीट को अब अपना काम करना चाहिए। जब तक आपको कोई त्रुटि दिखाई न दे, चलिए किबाना पर चलते हैं और उस पर जांच करते हैं।
डेटा देख रहे हैं
किबाना में लॉग इन करने के बाद, कुछ नए विज़ुअलाइज़ेशन और डैशबोर्ड उपलब्ध होने के साथ-साथ एक नया फ़ाइलबीट-* इंडेक्स पैटर्न होना चाहिए। "डैशबोर्ड" पर जाएं, और "फाइलबीट सिसलॉग डैशबोर्ड" खोलें।
वोइला। जब तक आपके सिस्टम लॉग में कुछ है, तब तक आपके पास अपने डेटा के कुछ अच्छे विज़ुअलाइज़ेशन होने चाहिए।
नोट:यदि फ़ाइलबीट से कोई स्पष्ट त्रुटि नहीं है और किबाना में कोई डेटा नहीं है, तो आपके सिस्टम में एक बहुत ही शांत सिस्टम लॉग हो सकता है। मुझे कुछ डेटा देखने के लिए दिनांक पिकर को 'अंतिम 15 मिनट' के डिफ़ॉल्ट से थोड़ा आगे पीछे सेट करना पड़ा।
रैप अप करना
यह सबसे आम उपयोग के मामलों के लिए बीट्स को और भी आसान बनाने की दिशा में एक बहुत अच्छा कदम है और इस उदाहरण की मूल बातें आसानी से अन्य मॉड्यूल के लिए विस्तारित की जा सकती हैं जो अब उपलब्ध हैं। उदाहरण के लिए, बहुत सारे वेब ऐप (जैसे वर्डप्रेस, ड्रुपल, मैगेंटो, आदि) में एक वेब सर्वर और उनके पीछे कुछ MySQL होता है। मॉड्यूल के इस एक सेट और एक कमांड के साथ आप वेब सर्वर, डेटाबेस और उस एप्लिकेशन के सिस्टम लॉग के लिए एक ही चरण में शिपिंग लॉग शुरू कर सकते हैं।
यदि आप अधिक जानकारी की तलाश में हैं और इन मॉड्यूल के निर्माण के तरीके में खुदाई करना चाहते हैं, तो डेवलपर दस्तावेज़ देखें और अपने फाइलबीट इंस्टॉलेशन की मॉड्यूल निर्देशिका में चारों ओर देखें। आप किबाना में जो देख रहे हैं उसके साथ मॉड्यूल का उपयोग करने वाले प्रॉस्पेक्टर, पाइपलाइन, टेम्प्लेट और विज़ुअलाइज़ेशन का मिलान करने में सक्षम होना चाहिए।