आप UNIX / Linux मशीनों से लॉग फ़ाइलों का विश्लेषण कैसे कर रहे हैं? हम कई सौ सर्वर चलाते हैं जो सभी अपनी लॉग फाइल उत्पन्न करते हैं, या तो सीधे या सिसलॉग के माध्यम से। मैं इन सबको समेटने और महत्वपूर्ण घटनाओं को हल करने के लिए एक अच्छे समाधान की तलाश में हूँ। यह समस्या 3 घटकों में टूट जाती है:
1) संदेश परिवहन
एक क्लासिक होस्ट करने के लिए संदेश लॉग करने के लिए क्लासिक तरीका syslog का उपयोग करना है। यह उन एप्लिकेशन के लिए ठीक काम करता है जो किसी स्थानीय फ़ाइल में लिखने वाले ऐप्स के लिए syslog में कम लेकिन उपयोगी होते हैं। इसके लिए समाधान में syslog का उपयोग करके संदेश भेजने के लिए किसी प्रोग्राम से जुड़े FIFO में एप्लिकेशन लॉग होना या ऐसा कुछ लिखना हो सकता है जो स्थानीय फ़ाइलों को मिटा देगा और आउटपुट को केंद्रीय syslog होस्ट में भेज देगा। हालाँकि, अगर हम syslog में संदेश प्राप्त करने के लिए टूल लिखने की परेशानी में जाते हैं, तो क्या हम पूरे लॉट को Facebook की Scribe जैसी किसी चीज़ से बदल देंगे जो कि syslog की तुलना में अधिक लचीलापन और विश्वसनीयता प्रदान करता है?
2) संदेश एकत्रीकरण
लॉग प्रविष्टियाँ दो प्रकारों में से एक में लगती हैं: प्रति-होस्ट और प्रति-सेवा। प्रति-होस्ट संदेश वे होते हैं जो एक मशीन पर होते हैं; डिस्क विफलताओं या संदिग्ध लॉगिन के बारे में सोचें। सेवा चलाने वाले अधिकांश या सभी होस्ट पर प्रति-सेवा संदेश आते हैं। उदाहरण के लिए, हम यह जानना चाहते हैं कि जब अपाचे में SSI त्रुटि मिलती है, लेकिन हम 100 मशीनों से एक ही त्रुटि नहीं चाहते हैं। सभी मामलों में हम केवल प्रत्येक प्रकार के संदेश को देखना चाहते हैं: हम यह नहीं चाहते कि 10 संदेश एक ही डिस्क में विफल रहे हैं, और हम एक टूटे हुए एसएसआई के हिट होने पर हर बार संदेश नहीं चाहते हैं।
इसे हल करने का एक तरीका यह है कि प्रत्येक मेजबान पर एक ही प्रकार के कई संदेशों को एकत्र किया जाए, संदेशों को एक केंद्रीय सर्वर पर भेजा जाए और फिर उसी तरह के संदेशों को एक समग्र घटना में एकत्रित किया जाए। SER यह कर सकता है लेकिन इसका उपयोग करना अजीब है। कुछ दिनों के बाद भी मैं केवल अल्पविकसित एकत्रीकरण काम कर रहा था और लगातार घटनाओं को सहसंबद्ध करने के लिए तर्क का उपयोग करता है। यह शक्तिशाली लेकिन मुश्किल सामान है: मुझे कुछ ऐसा चाहिए जो मेरे सहकर्मी उठा सकें और कम से कम समय में उपयोग कर सकें। SER नियम उस आवश्यकता को पूरा नहीं करते हैं।
3) अलर्ट उत्पन्न करना
जब कुछ दिलचस्प होता है तो हम अपने प्रवेश को कैसे बताते हैं? समूह इनबॉक्स मेल करें? नागों में इंजेक्ट?
तो, आप इस समस्या को कैसे हल कर रहे हैं? मुझे प्लेट पर उत्तर की उम्मीद नहीं है; मैं स्वयं विवरण प्राप्त कर सकता हूं लेकिन निश्चित रूप से एक सामान्य समस्या क्या होगी, इस पर कुछ उच्चस्तरीय चर्चा। फिलहाल हम क्रॉन जॉब्स, सिसलॉग के मिश्मश का उपयोग कर रहे हैं और जो जानते हैं कि इवेंट्स को और क्या करना है। यह एक्स्टेंसिबल, मेंटेनेंस या फ्लेक्सिबल नहीं है और जैसे कि हमें बहुत सारा सामान याद नहीं करना चाहिए।
अपडेट किया गया: हम पहले से ही निगरानी के लिए Nagios का उपयोग कर रहे हैं जो कि होस्टेड / परीक्षण सेवाओं / आदि का पता लगाने के लिए बहुत अच्छा है लेकिन लॉग फ़ाइलों को स्क्रैप करने के लिए कम उपयोगी है। मुझे पता है कि नागियोस के लिए लॉग प्लगइन्स हैं, लेकिन मैं प्रति होस्ट अलर्ट की तुलना में कुछ अधिक स्केलेबल और पदानुक्रमित में दिलचस्पी रखता हूं।