लॉग फ़ाइल विश्लेषण: मूल्य भाग से सूचना भाग निकालना


10

मैं अपने एक उत्पाद की कई लॉग फ़ाइलों पर डेटा सेट बनाने की कोशिश कर रहा हूं।

विभिन्न लॉग फ़ाइलों का अपना लेआउट और अपनी सामग्री है; मैंने उन्हें सफलतापूर्वक एक साथ समूहीकृत किया, केवल एक कदम शेष ...

वास्तव में, लॉग "संदेश" सबसे अच्छी जानकारी है। मेरे पास उन सभी संदेशों की व्यापक सूची नहीं है, और यह उन पर आधारित हार्ड कोड के लिए एक बुरा विचार है क्योंकि वह सूची हर दिन बदल सकती है।

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

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

क्या तुम्हारे पास कोई विचार है?

आपकी सहायता के लिए धन्यवाद।

पुनश्च: जो लोग प्रोग्राम करते हैं, उनके लिए यह समझना आसान हो सकता है। मान लें कि कोड में लॉग इन प्रिंटफ ("ब्लाब्ला% s", "xxx") के रूप में है -> मैं "ब्लाब्ला" और "xxx" अलग करना चाहूंगा


क्या आप उन उदाहरणों का प्रतिनिधि चयन प्रदान कर सकते हैं जो एल्गोरिथ्म को पार्स करने के लिए आवश्यक वस्तुओं की विविधता प्रदर्शित करते हैं?
एम्रे

2
ऐसा करने के सौ तरीके हैं। इसमें आपको क्या उपकरण या भाषा की आवश्यकता है, इसके बारे में कुछ जानकारी दें। क्या इसके लिए कोई डेटा विज्ञान पहलू है? लगता है जैसे बस लॉग पार्सिंग।
सीन ओवेन

जवाबों:


3

कैसे एक प्रक्रिया ट्रेस और अल्फा-एल्गोरिथ्म लागू करने के रूप में प्रत्येक स्ट्रिंग पर विचार करने के बारे में? यह आपको एक ग्राफ देगा और एक बड़ी संख्या के साथ नोड्स-आउट्स मानों के लिए सबसे अधिक संभावना होगा।

आप इन नोड्स को चिह्नित कर सकते हैं और हर नए स्ट्रिंग पार्स / ग्राफ़ को तब तक आगे बढ़ा सकते हैं जब तक आप उन क्षेत्रों तक नहीं पहुँच जाते।


बहुत बहुत धन्यवाद। मुझे अल्फ़ा-एल्गोरिदम नहीं पता था। मैं उस दिशा में जाँच करूँगा।
माइकल हुरमैन

2

यह डेटा साइंस की समस्या नहीं लगती है। हालांकि, ऐसा करने के लिए बहुत अच्छे उपकरण हैं, चेकआउट: लॉगस्टैश, फ्लूम और फ्लुएंट। वास्तव में यदि आप ElastichSearch ( http://www.elasticsearch.org/overview/kibana ) के लोगों से तेज़ और "स्मार्ट" तरीके से चेकआउट किबाना को फ़िल्टर करने में सक्षम होना चाहते हैं । वे उपकरण आपकी समस्या को बहुत कुशल तरीके से हल करने के लिए पर्याप्त हैं।


मेरा हालांकि यह है कि सुविधा निष्कर्षण डेटा विज्ञान का हिस्सा है। खैर, यह सिर्फ एक राय है ;-) अधिक गंभीर रूप से, मैं आसान मानक लॉग फ़ाइलों के बारे में बात नहीं कर रहा हूं, लेकिन बहुत विशिष्ट सॉफ़्टवेयर से कस्टम। तो, यह वास्तव में संदर्भ से जानकारी निकाल रहा है «वाक्य»
माइकल हुरमैन

1

यदि आप केवल शाब्दिक और संख्यात्मक जानकारी को अलग करने की कोशिश कर रहे हैं, तो नियमित अभिव्यक्ति या यहां तक ​​कि स्ट्रिंग विभाजन के आधार पर एक समाधान है।

तुम भी पहले संख्यात्मक चरित्र खोजने की तरह कुछ कर सकते हैं और उससे ठीक पहले आधे हिस्से में पाठ को विभाजित कर सकते हैं।

नियमित अभिव्यक्तियों के साथ आप सभी संख्यात्मक वर्णों का मिलान कर सकते हैं जो प्रत्येक अभिगम का अनुसरण करते हैं। पैटर्न ([0-9]+)एक वैश्विक ध्वज के साथ होगा । यह संख्याओं के सभी समूहों से मेल खाता है और आप बाद में उनके साथ जो कुछ भी कर सकते हैं।

रेगेक्स टेस्टर उस सामान के साथ खेलने के लिए अच्छा है।


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