बड़े पैमाने पर परिवहन और एकत्रीकरण


14

आप UNIX / Linux मशीनों से लॉग फ़ाइलों का विश्लेषण कैसे कर रहे हैं? हम कई सौ सर्वर चलाते हैं जो सभी अपनी लॉग फाइल उत्पन्न करते हैं, या तो सीधे या सिसलॉग के माध्यम से। मैं इन सबको समेटने और महत्वपूर्ण घटनाओं को हल करने के लिए एक अच्छे समाधान की तलाश में हूँ। यह समस्या 3 घटकों में टूट जाती है:

1) संदेश परिवहन

एक क्लासिक होस्ट करने के लिए संदेश लॉग करने के लिए क्लासिक तरीका syslog का उपयोग करना है। यह उन एप्लिकेशन के लिए ठीक काम करता है जो किसी स्थानीय फ़ाइल में लिखने वाले ऐप्स के लिए syslog में कम लेकिन उपयोगी होते हैं। इसके लिए समाधान में syslog का उपयोग करके संदेश भेजने के लिए किसी प्रोग्राम से जुड़े FIFO में एप्लिकेशन लॉग होना या ऐसा कुछ लिखना हो सकता है जो स्थानीय फ़ाइलों को मिटा देगा और आउटपुट को केंद्रीय syslog होस्ट में भेज देगा। हालाँकि, अगर हम syslog में संदेश प्राप्त करने के लिए टूल लिखने की परेशानी में जाते हैं, तो क्या हम पूरे लॉट को Facebook की Scribe जैसी किसी चीज़ से बदल देंगे जो कि syslog की तुलना में अधिक लचीलापन और विश्वसनीयता प्रदान करता है?

2) संदेश एकत्रीकरण

लॉग प्रविष्टियाँ दो प्रकारों में से एक में लगती हैं: प्रति-होस्ट और प्रति-सेवा। प्रति-होस्ट संदेश वे होते हैं जो एक मशीन पर होते हैं; डिस्क विफलताओं या संदिग्ध लॉगिन के बारे में सोचें। सेवा चलाने वाले अधिकांश या सभी होस्ट पर प्रति-सेवा संदेश आते हैं। उदाहरण के लिए, हम यह जानना चाहते हैं कि जब अपाचे में SSI त्रुटि मिलती है, लेकिन हम 100 मशीनों से एक ही त्रुटि नहीं चाहते हैं। सभी मामलों में हम केवल प्रत्येक प्रकार के संदेश को देखना चाहते हैं: हम यह नहीं चाहते कि 10 संदेश एक ही डिस्क में विफल रहे हैं, और हम एक टूटे हुए एसएसआई के हिट होने पर हर बार संदेश नहीं चाहते हैं।

इसे हल करने का एक तरीका यह है कि प्रत्येक मेजबान पर एक ही प्रकार के कई संदेशों को एकत्र किया जाए, संदेशों को एक केंद्रीय सर्वर पर भेजा जाए और फिर उसी तरह के संदेशों को एक समग्र घटना में एकत्रित किया जाए। SER यह कर सकता है लेकिन इसका उपयोग करना अजीब है। कुछ दिनों के बाद भी मैं केवल अल्पविकसित एकत्रीकरण काम कर रहा था और लगातार घटनाओं को सहसंबद्ध करने के लिए तर्क का उपयोग करता है। यह शक्तिशाली लेकिन मुश्किल सामान है: मुझे कुछ ऐसा चाहिए जो मेरे सहकर्मी उठा सकें और कम से कम समय में उपयोग कर सकें। SER नियम उस आवश्यकता को पूरा नहीं करते हैं।

3) अलर्ट उत्पन्न करना

जब कुछ दिलचस्प होता है तो हम अपने प्रवेश को कैसे बताते हैं? समूह इनबॉक्स मेल करें? नागों में इंजेक्ट?

तो, आप इस समस्या को कैसे हल कर रहे हैं? मुझे प्लेट पर उत्तर की उम्मीद नहीं है; मैं स्वयं विवरण प्राप्त कर सकता हूं लेकिन निश्चित रूप से एक सामान्य समस्या क्या होगी, इस पर कुछ उच्चस्तरीय चर्चा। फिलहाल हम क्रॉन जॉब्स, सिसलॉग के मिश्मश का उपयोग कर रहे हैं और जो जानते हैं कि इवेंट्स को और क्या करना है। यह एक्स्टेंसिबल, मेंटेनेंस या फ्लेक्सिबल नहीं है और जैसे कि हमें बहुत सारा सामान याद नहीं करना चाहिए।

अपडेट किया गया: हम पहले से ही निगरानी के लिए Nagios का उपयोग कर रहे हैं जो कि होस्टेड / परीक्षण सेवाओं / आदि का पता लगाने के लिए बहुत अच्छा है लेकिन लॉग फ़ाइलों को स्क्रैप करने के लिए कम उपयोगी है। मुझे पता है कि नागियोस के लिए लॉग प्लगइन्स हैं, लेकिन मैं प्रति होस्ट अलर्ट की तुलना में कुछ अधिक स्केलेबल और पदानुक्रमित में दिलचस्पी रखता हूं।


जवाबों:


5

मैंने लॉग को केंद्रीकृत करने के लिए तीन अलग-अलग प्रणालियों का उपयोग किया है:

  1. Syslog / syslog-ng किसी होस्ट को अग्रेषित करना
  2. घटनाओं को एकत्र करने और सचेत करने के लिए ज़ेनॉस
  3. लॉग एकत्रीकरण और खोज के लिए स्प्लंक

# 3 के लिए, मैं आमतौर पर प्रत्येक होस्ट के संदेशों को सीधे स्पंक में अग्रेषित करने के लिए syslog-ng का उपयोग करता हूं। यह लॉग फ़ाइलों को सीधे पार्स भी कर सकता है, लेकिन यह थोड़ा दर्द हो सकता है।

स्प्लंक खोज और अपने लॉग को वर्गीकृत करने के लिए बहुत बढ़िया है। मैंने लॉग अलर्ट के लिए स्प्लंक का उपयोग नहीं किया है, लेकिन मुझे लगता है कि यह संभव है।


स्प्लंक के लिए +1। जब कुछ घटनाओं का पता लगाया जाता है तो आप स्पंक ट्रंक बाहरी स्क्रिप्ट कर सकते हैं; या तो एक मेल या एक SNMP जाल भेज रहा है।
मुरली सूरिार

2

आप OSSEC, एक पूर्ण ओपन-सोर्स HIDS पर एक नज़र डाल सकते हैं, यह लॉग विश्लेषण करता है और कार्रवाई को ट्रिगर कर सकता है या अलर्ट पर मेल भेज सकता है। अलर्ट सरल XML आधारित नियमों के एक सेट द्वारा ट्रिगर किए जाते हैं, विभिन्न लॉग प्रारूपों के लिए पूर्व-परिभाषित बहुत सारे शामिल हैं और आप अपने स्वयं के नियमों को जोड़ सकते हैं

http://www.ossec.net/


1

ऑक्टोपसी पर एक नजर । यह पूरी तरह से अनुकूलन योग्य है और आपकी सभी आवश्यकताओं का उत्तर देता है ...

PS: मैं इस समाधान का डेवलपर हूं।


1
मैं नाम में "बिल्ली" वाले उत्पाद की तैनाती या यहां तक ​​कि सिफारिश करने का जोखिम नहीं उठाना चाहता। शायद ज्यादातर कंपनियों के साथ अच्छा नहीं होगा, खासकर अगर वहाँ महिलाओं (इन दिनों बहुत आम) काम कर रहे हैं।
स्टारफिश

0

आपको एक निगरानी प्रणाली देखने की जरूरत है, उदाहरण के लिए ज़ेनॉस कोर । अन्य बातों के अलावा, यह परिचय पृष्ठ पर कहता है:

ज़ेनॉस इवेंट मॉनिटरिंग एंड मैनेजमेंट उपलब्धता की निगरानी, ​​प्रदर्शन निगरानी, एसआईएसएलओपी स्रोत , एसएनएमपी ट्रैप स्रोत, विंडोज इवेंट लॉग सहित विभिन्न स्रोतों से लॉग और ईवेंट जानकारी एकत्र करने की क्षमता प्रदान करता है ।

देखें कि उपकरण-क्या-आप-उपयोग-से-मॉनिटर-आपके-सर्वर


मुझे महसूस नहीं हुआ कि ज़ेनॉस के पास लॉग एग्रीगेशन सुविधाएँ थीं। मैं देख लूँगा - धन्यवाद।
मार्कड्रेटन
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.