2008-08-29 18 views
12

मैं ग्रिड और एचपीसी स्पेस में बहुत सारे काम करता हूं और सैकड़ों (या कुछ हज़ारों) सर्वरों में वितरित सिस्टम के साथ सबसे बड़ी चुनौतियों में से एक लॉग फाइल का विश्लेषण कर रहा है।बड़े पैमाने पर वितरित सिस्टम में लॉग फ़ाइलें

वर्तमान में लॉग फ़ाइलों को प्रत्येक ब्लेड पर डिस्क पर स्थानीय रूप से लिखा जाता है लेकिन हम उदाहरण के लिए यूडीपी एपेंडर का उपयोग करके लॉगिंग जानकारी प्रकाशित करने और इसे केंद्रीय रूप से एकत्रित करने पर विचार कर सकते हैं।

यह देखते हुए कि उद्देश्य यथासंभव वास्तविक समय के करीब समस्याओं की पहचान करने में सक्षम होना है, हमें क्या करना चाहिए?

+0

बीटीडब्ल्यू, यूडीपी क्यों है? क्या आप अपने संदेशों को खोने को स्वीकार कर सकते हैं? –

उत्तर

3

सबसे पहले, एनटीपी का उपयोग कर सिस्टम में सभी घड़ियों को सिंक्रनाइज़ करें।

दूसरा, यदि आप एक ही स्थान (जैसे यूडीपी एपेंडर का उल्लेख करते हैं) में लॉग एकत्र कर रहे हैं तो सुनिश्चित करें कि लॉग में वास्तव में मदद करने के लिए पर्याप्त जानकारी है। मैं कम से कम उस सर्वर को शामिल करता हूं जिसने लॉग उत्पन्न किया, यह समय हुआ, और संदेश। यदि कोई भी प्रकार का लेनदेन आईडी है, या जॉब आईडी टाइप अवधारणा है, तो उसे भी शामिल करें।

चूंकि आपने यूडीपी एपेंडर का उल्लेख किया है, मुझे लगता है कि आप log4j (या इसके भाई बहनों में से एक) का उपयोग कर रहे हैं। Log4j में एक एमडीसी कक्षा है जो प्रोसेसिंग थ्रेड के माध्यम से अतिरिक्त जानकारी को पारित करने की अनुमति देती है। यह कुछ अतिरिक्त जानकारी एकत्र करने और इसे पास करने में मदद कर सकता है।

0

क्या आप अपाचे का उपयोग कर रहे हैं? यदि ऐसा है तो आप mod_log_spread पर एक नज़र डाल सकते हैं, हालांकि इसे बनाए रखने के लिए आपके पास बहुत अधिक बुनियादी ढांचा हो सकता है। दूसरा विकल्प आपके लॉग संदेशों को "प्रसारण" या "मल्टीकास्टिंग" देखना और उन फ़ीड को सब्सक्राइब करने वाले समर्पित लॉगिंग सर्वर और

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