इकाई 7 / 12

लॉग विश्लेषण और अवलोकनशीलता

लाभ:

  • बड़े लॉग डंप को एआई में मास्किंग और फ़िल्टर करके सारांशित करने और एक टाइमलाइन बनाने की क्षमता
  • एआई द्वारा स्थापित समय संबंधों का मूल्यांकन कार्य-कारण के रूप में नहीं, बल्कि परिकल्पना के रूप में करने में सक्षम होना
  • मेट्रिक्स और कोड के साथ मूल कारण परिकल्पना को मान्य करने और पोस्टमॉर्टम स्केच तैयार करने की क्षमता

जब कोई सॉफ़्टवेयर उत्पादन (लाइव वातावरण) में चल रहा होता है, तो केवल ट्रेस, मेट्रिक्स और लॉग (एप्लिकेशन के चलने के दौरान निर्मित टाइम-स्टैम्प्ड लॉग लाइनें) आपको बताते हैं कि यह क्या कर रहा है। आउटेज के दौरान हजारों, कभी-कभी लाखों, लॉग लाइनों से एक सार्थक संकेत खींचना किसी घटना की प्रतिक्रिया का सबसे तनावपूर्ण और समय-महत्वपूर्ण क्षण होता है। यहां, एआई एक सहायक हो सकता है, बड़े पैमाने पर पाठ को सारांशित करना, पैटर्न निकालना और परिकल्पना उत्पन्न करना - जब तक आप गोपनीयता और सत्यापन सीमाओं का सम्मान करते हैं।

इस इकाई में, हम अवलोकन के संदर्भ में एआई का उपयोग करना सीखते हैं - किसी सिस्टम के बाहरी आउटपुट को देखकर उसकी आंतरिक स्थिति को समझने की क्षमता: लॉग शोर से अर्थ निकालना, बग की समयरेखा स्थापित करना, दोहराए जाने वाले पैटर्न ढूंढना और पोस्टमॉर्टम का मसौदा तैयार करना। गंभीर चेतावनी: कच्चे उत्पादन लॉग में अक्सर व्यक्तिगत डेटा और रहस्य होते हैं; उन्हें एआई टूल में बेतरतीब ढंग से चिपकाना एक गंभीर उल्लंघन है।

लॉग कठिन क्यों हैं, AI सहायक क्यों है?

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

एआई पाठ के बड़े ब्लॉकों को सारांशित करने, दोहराए जाने वाले पैटर्न की गिनती करने और यह पूछने में अच्छा है कि "त्रुटियों के विस्फोट से ठीक पहले क्या बदलाव आया?" यह समय संबंध स्थापित करने में शक्तिशाली है जैसे हालाँकि, इसकी दो सीमाएँ हैं। पहली संदर्भ विंडो है: एक मॉडल में आप जितने लॉग फिट कर सकते हैं वह सीमित है, इसलिए आपको पहले फ़िल्टर और नमूना लेने की आवश्यकता है। दूसरा, सत्यापन: एआई का यह कहना कि "यहां मूल कारण है" एक परिकल्पना है; मेट्रिक्स और कोड से इसकी पुष्टि किए बिना कोई निर्णय न लें।

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

चरण दर चरण: लॉग से मूल कारण तक

  1. समय विंडो को संक्षिप्त करें. वह मिनट निर्धारित करें जब ईवेंट प्रारंभ हुआ; उस खिड़की का निरीक्षण करें, पूरे दिन का नहीं।
  2. शोर को फ़िल्टर करें. ज्ञात दोहराव वाली, हानिरहित पंक्तियों को हटा दें; त्रुटि (ERROR), चेतावनी (चेतावनी) और पहले विचलन क्षण पर ध्यान दें।
  3. संवेदनशील डेटा को छुपाएं. व्यक्तिगत डेटा और रहस्यों को एआई को देने से पहले साफ़ करें।
  4. एक सारांश और समयरेखा बनाएँ. एआई से घटना को कालानुक्रम में सारांशित करने के लिए कहें ("पहले यह, फिर वह")।
  5. मेट्रिक्स और कोड के साथ परिकल्पना को मान्य करें। एआई द्वारा बताया गया कारण; यदि लागू हो तो डैशबोर्ड, प्रासंगिक कोड और परिनियोजन समयरेखा से पुष्टि करें।
  6. जो सीखा है उसे लिखित रूप में लिखें। एक पोस्टमॉर्टम स्केच बनाएं और निवारक कार्रवाइयों की सूची बनाएं।

तीन मिनी मामले

केस 1 - 5 मिनट में 40,000 पंक्तियों का सारांश। एक भुगतान सेवा ने 12 मिनट तक रुक-रुक कर त्रुटि की सूचना दी। टीम ने एआई को मास्क्ड लॉग्स (लगभग 40,000 लाइनें, नमूना) की प्रासंगिक 20-मिनट की विंडो फीड की और एक टाइमलाइन तैयार की। मॉडल ने दिखाया कि त्रुटि विस्फोट उस क्षण के साथ हुआ जब एक निर्भरता सेवा का प्रतिक्रिया समय 200 एमएस से बढ़कर 8 सेकंड हो गया। टीम ने डैशबोर्ड पर इसकी पुष्टि की और 10 मिनट के भीतर कारण का पता लगा लिया।

केस 2 - भ्रामक सहसंबंध। एक अन्य घटना में, एआई ने यह कहकर इसे दोषी ठहराया कि त्रुटियां "उसी समय" हो रही थीं जब क्रॉन (निर्धारित कार्य) चल रहा था। जब टीम ने मेट्रिक्स की जाँच की, तो उन्होंने देखा कि क्रॉन वास्तव में घटना से पहले समाप्त हो गया था; सहसंबंध संयोग था. असली कारण मेमोरी लीक था. पाठ: एआई द्वारा स्थापित समय सहसंबंध एक सुराग है, सबूत नहीं।

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

चार प्रतिलिपि योग्य टेम्पलेट

लॉग सारांश और समयरेखा (नकाबपोश लॉग के साथ):

नीचे नकाबपोश उत्पादन लॉग की एक ईवेंट विंडो है। 1) ईवेंट को कालानुक्रमिक समयरेखा में डालें (पहले विचलन के क्षण को चिह्नित करें)। 2) सबसे अधिक बार-बार आने वाली त्रुटि/चेतावनी प्रकारों को गिनें और समूहित करें। 3) "अभी पहले क्या बदला था?" प्रश्न के लिए उम्मीदवार घटनाओं की सूची बनाएं। ये परिकल्पनाएँ हैं; इसे "सत्यापित किया जाना चाहिए" के रूप में चिह्नित करें। {{लॉग्स}}

त्रुटि पैटर्न निष्कर्षण:

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

संरचित क्वेरी/फ़िल्टर पीढ़ी:

{{लॉग टूल: grep/jq/Kibana KQL/CloudWatch Insights}} के लिए, एक क्वेरी लिखें जो निम्नलिखित शर्तों को पूरा करती हो: {{उदा. उपयोगकर्ता X को छोड़कर, पिछले 15 मिनट में 5xx त्रुटियाँ। सुनिश्चित करें कि आप डोमेन नाम नहीं बना रहे हैं, यदि आप निश्चित नहीं हैं तो पूछें।

पोस्टमॉर्टम स्केच:

निम्नलिखित (नकाबपोश) घटना समयरेखा से एक पोस्टमॉर्टम स्केच लिखें: सारांश / प्रभाव (अवधि, उपयोगकर्ता प्रभावित) / समयरेखा / मूल कारण / क्या अच्छा हुआ / कार्रवाई (प्रत्येक के लिए मालिक फ़ील्ड को खाली छोड़ दें)। आरोपात्मक भाषा का प्रयोग न करें; तथ्यात्मक और सक्रिय रहें। {{समयरेखा}}

कमजोर संकेत/मजबूत संकेत

कमज़ोर: "इन लॉग्स को देखो, क्या गड़बड़ है?" (पूरे दिन का कच्चा लॉग, व्यक्तिगत डेटा के साथ, अलक्षित।)
मजबूत: "नीचे 14:02-14:20 (5xx तक फ़िल्टर किया गया) से छिपा हुआ उत्पादन लॉग है। इस विंडो में, उस क्षण को ढूंढें जब त्रुटि विस्फोट शुरू हुआ, सबसे लगातार त्रुटि प्रकार की गणना करें, और विस्फोट से तुरंत पहले 60 सेकंड में दिखाई देने वाले विचलन को सूचीबद्ध करें; उन सभी को 'सत्यापित की जाने वाली परिकल्पना' के रूप में चिह्नित करें।"

शक्तिशाली संस्करण; यह समय विंडो को सीमित करता है, लॉग को फ़िल्टर और मास्क करता है, एक स्पष्ट प्रश्न पूछता है, और शुरू से ही स्थापित करता है कि आउटपुट एक परिकल्पना है।

खोज

एआई मजबूत है

सीमा/सत्यापन

बड़ा लॉग सारांश

हाँ, तेज़

नमूना हानि हो सकती है

समय संबंध स्थापित करना

संकेत उत्पन्न करता है

सहसंबंध ≠ कारण

क्वेरी/फ़िल्टर पीढ़ी

अच्छा मसौदा

क्या डोमेन नाम असली हैं?

पोस्टमॉर्टम स्केच

संरचना और भाषा

मामले मानव पुष्टिकृत हैं

सहसंबंध कार्य-कारण नहीं है

लॉग विश्लेषण में सबसे आम गड़बड़ी यह है कि "यह एक ही समय में हुआ, इसीलिए" भ्रांति। एआई इस जाल में इंसानों की तुलना में, यदि अधिक आसानी से नहीं तो, आसानी से फंस जाता है; क्योंकि यह सोचता है कि पाठ में एक साथ होना एक मजबूत संकेत है। यह कहने में सक्षम होना कि एक घटना वास्तव में दूसरी घटना की ओर ले जाती है; समय, तंत्र और, यदि संभव हो तो, दोहराव की आवश्यकता होती है। एआई द्वारा स्थापित प्रत्येक कार्य-कारण संबंधी दावे के लिए, हम पूछते हैं कि "कौन से अन्य साक्ष्य इसकी पुष्टि करते हैं?" प्रश्न के साथ इसका परीक्षण करें।

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

सामान्य गलतियाँ

  • कच्चा, बेपर्दा लॉग चिपकाना। व्यक्तिगत डेटा और रहस्यों का खुलासा; गोपनीयता का गंभीर उल्लंघन.
  • पूरा दिन एक साथ देना. यह संदर्भ विंडो से आगे निकल जाता है, सिग्नल शोर में डूब जाता है।
  • सहसंबंध को कार्य-कारण समझने की भूल करना। एआई द्वारा स्थापित समय संबंध एक सुराग है, सबूत नहीं।
  • किसी बने-बनाए डोमेन नाम वाली क्वेरी पर भरोसा करना। मॉडल एक लॉग फ़ील्ड नाम सुझा सकता है जो मौजूद नहीं है; योजनाबद्ध तरीके से सत्यापित करें.
  • पोस्टमॉर्टम को बिना सत्यापित किए प्रकाशित करना. तथ्यों और प्रभाव के आंकड़ों की मानव पुष्टि होनी चाहिए।

संक्षेप में

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

आवेदन कार्य

आपके पास मौजूद किसी ईवेंट या परीक्षण परिवेश लॉग से 15-20 मिनट की विंडो चुनें। पहले व्यक्तिगत डेटा और रहस्यों को छुपाएं (या एक सिंथेटिक लॉग तैयार करें)। फिर "लॉग सारांश और टाइमलाइन" टेम्पलेट के साथ एआई से कालक्रम और सबसे लगातार त्रुटि प्रकार निकालें। आपके पास मौजूद मीट्रिक या कोड के टुकड़े के साथ एआई द्वारा सामने रखी गई मूल कारण परिकल्पना को सत्यापित करने का प्रयास करें: क्या परिकल्पना सही थी, या यह एक भ्रामक सहसंबंध था? अपने निष्कर्ष को एक वाक्य में लिखिए।

चेकलिस्ट

  • [ ] एआई को लॉग देने से पहले मैं व्यक्तिगत डेटा और रहस्यों को छिपा देता हूं।
  • [ ] मैं विश्लेषण को एक संकीर्ण समय विंडो और फ़िल्टर तक सीमित कर देता हूं।
  • [ ] मैं एआई द्वारा स्थापित समय संबंधों को परिकल्पना के रूप में देखता हूं, कार्य-कारण के रूप में नहीं।
  • [ ] मैं मैट्रिक्स और कोड के साथ मूल कारण के दावे को सत्यापित करता हूं।
  • [ ] मैं पुष्टि करता हूं कि मेरे द्वारा जेनरेट की गई क्वेरी/फ़िल्टर के डोमेन नाम वास्तविक हैं।
  • [ ] मैं पोस्टमॉर्टम स्केच में तथ्यों और आंकड़ों को मानवीय रूप से प्रमाणित करता हूं।