Observability (software)
वितरित प्रणालियों में, अवलोकन क्षमता कार्यक्रमों के निष्पादन, मॉड्यूल की आंतरिक अवस्थाओं और घटकों के बीच संचार के बारे में डेटा एकत्र करने की क्षमता है। अवलोकन क्षमता में सुधार के लिए, सॉफ्टवेयर इंजीनियर टेलीमेट्री जानकारी एकत्र करने के लिए लॉगिंग और ट्रेसिंग तकनीकों की एक विस्तृत श्रृंखला का उपयोग करते हैं, और इसका विश्लेषण और उपयोग करने के लिए उपकरण का उपयोग करते हैं। साइट विश्वसनीयता इंजीनियरिंग के लिए अवलोकनशीलता मूलभूत है, क्योंकि यह एक सेवा आउटेज का परीक्षण करने में पहला कदम है। अवलोकनशीलता के लक्ष्यों में से एक किसी मुद्दे को ठीक करने के लिए आवश्यक पूर्व ज्ञान की मात्रा को कम करना है। व्युत्पत्ति, शब्दावली और परिभाषा यह शब्द नियंत्रण सिद्धांत से लिया गया है, जहां एक प्रणाली की "अवलोकन क्षमता" यह मापती है कि इसकी स्थिति को इसके आउटपुट से कितनी अच्छी तरह से निर्धारित किया जा सकता है। इसी तरह, सॉफ्टवेयर अवलोकन क्षमता यह मापती है कि प्राप्त टेलीमेट्री (मेट्रिक्स, लॉग, ट्रेस, प्रोफाइलिंग) से किसी प्रणाली की स्थिति को कितनी अच्छी तरह से समझा जा सकता है। अवलोकन की परिभाषा विक्रेता के अनुसार भिन्न होती हैः इस शब्द को अक्सर इसके संख्यात्मक नाम O11y के रूप में संदर्भित किया जाता है (जहां 11 शब्द के पहले अक्षर और अंतिम अक्षर के बीच अक्षरों की संख्या को दर्शाता है)। यह अन्य कंप्यूटर विज्ञान संक्षिप्त नामों जैसे कि i18n और L10n और k8s के समान है। अवलोकन क्षमता बनाम निगरानी अवलोकन क्षमता और निगरानी का उपयोग कभी-कभी एक दूसरे के स्थान पर किया जाता है। जैसे-जैसे उपकरण, वाणिज्यिक पेशकश और प्रथाएं जटिलता में विकसित हुईं, पुराने से नए उपकरणों को अलग करने के लिए "निगरानी" को अवलोकन क्षमता के रूप में फिर से ब्रांड किया गया। इन शब्दों की आम तौर पर तुलना की जाती है कि प्रणालियों की निगरानी टेलीमेट्री के पूर्वनिर्धारित सेटों का उपयोग करके की जाती है, और निगरानी की जाने वाली प्रणालियाँ अवलोकन योग्य हो सकती हैं। मेजर आदि। सुझाव है कि इंजीनियरिंग दल जिनके पास केवल निगरानी उपकरण होते हैं, वे अंत में विशेषज्ञ पूर्वज्ञान (वरिष्ठता) पर भरोसा करते हैं, जबकि जिन दलों के पास अवलोकन उपकरण होते हैं, वे अन्वेषणात्मक विश्लेषण (जिज्ञासा) पर भरोसा करते हैं। टेलीमेट्री प्रकार अवलोकन क्षमता तीन मुख्य प्रकार के टेलीमेट्री डेटा पर निर्भर करती हैः मेट्रिक्स, लॉग और ट्रेस। इन्हें अक्सर "अवलोकन के स्तंभ" के रूप में संदर्भित किया जाता है। एक मीट्रिक समय माप (स्केलर) में एक बिंदु है जो कुछ प्रणाली अवस्था का प्रतिनिधित्व करता है। सामान्य मेट्रिक्स के उदाहरणों में शामिल हैंः प्रति सेकंड एच. टी. टी. पी. अनुरोधों की संख्या; प्रश्न विफलताओं की कुल संख्या; बाइट्स में डेटाबेस का आकार; अंतिम कचरा संग्रह के बाद से सेकंड में समय। निगरानी उपकरण आमतौर पर चेतावनी उत्सर्जित करने के लिए कॉन्फ़िगर किए जाते हैं जब कुछ मीट्रिक मान निर्धारित सीमा से अधिक होते हैं। सीमाएं सामान्य संचालन स्थितियों और अनुभव के बारे में ज्ञान के आधार पर निर्धारित की जाती हैं। मेट्रिक्स को आम तौर पर समूहीकरण और खोज की सुविधा के लिए टैग किया जाता है। एप्लिकेशन डेवलपर्स चुनते हैं कि उनके सॉफ़्टवेयर को जारी करने से पहले किस प्रकार के मेट्रिक्स के साथ इंस्ट्रूमेंट करना है। नतीजतन, जब पहले से अज्ञात समस्या का सामना करना पड़ता है, तो नए कोड भेजे बिना नए मेट्रिक्स जोड़ना असंभव है। इसके अलावा, उनकी कार्डिनलिटी जल्दी से टेलीमेट्री डेटा के भंडारण आकार को निषेधात्मक रूप से महंगा बना सकती है। चूंकि मेट्रिक्स कार्डिनलिटी-सीमित होते हैं, इसलिए उनका उपयोग अक्सर समग्र मूल्यों का प्रतिनिधित्व करने के लिए किया जाता है (उदाहरण के लिएः औसत पृष्ठ लोड समय, या अनुरोध दर का 5-सेकंड औसत)। बाहरी संदर्भ के बिना, घटनाओं (जैसे उपयोगकर्ता अनुरोध) और विशिष्ट मीट्रिक मूल्यों के बीच सहसंबंध बनाना असंभव है। लॉग लॉग, या लॉग लाइनें, आम तौर पर मुक्त-रूप, असंरचित पाठ ब्लॉब होते हैं जो मानव पठनीय होने का इरादा रखते हैं। मशीन पार्सेबिलिटी को सक्षम करने के लिए आधुनिक लॉगिंग को संरचित किया गया है। मेट्रिक्स के समान, एक एप्लिकेशन डेवलपर को एप्लिकेशन को पहले से "इंस्ट्रूमेंट" करना चाहिए, और यदि अलग-अलग लॉगिंग जानकारी की आवश्यकता है तो नया कोड भेजना चाहिए। लॉग में आम तौर पर एक टाइमस्टैम्प और गंभीरता स्तर शामिल होता है। एक घटना (जैसे उपयोगकर्ता अनुरोध) को कई लॉग लाइनों में विभाजित किया जा सकता है और समवर्ती घटनाओं के लॉग के साथ जोड़ा जा सकता है। ट्रेस डिस्ट्रिब्यूटेड ट्रेस एक क्लाउड नेटिव एप्लिकेशन आमतौर पर वितरित सेवाओं से बना होता है जो एक साथ एक ही अनुरोध को पूरा करते हैं। एक वितरित निशान असतत घटनाओं की एक परस्पर संबंधित श्रृंखला है (जिसे स्पैन भी कहा जाता है) जो एकल उपयोगकर्ता अनुरोध की प्रगति को ट्रैक करता है। एक निशान उन सेवाओं के बीच कारणात्मक और अस्थायी संबंधों को दर्शाता है जो एक अनुरोध को पूरा करने के लिए परस्पर कार्य करते हैं। ट्रेस के साथ एक एप्लिकेशन को इंस्ट्रूमेंट करने का मतलब है ट्रेसिंग बैकएंड में अवधि की जानकारी भेजना। ट्रेसिंग बैकएंड प्रस्तुत करने योग्य निशान उत्पन्न करने के लिए प्राप्त विस्तार को सहसंबंधित करता है। एक अनुरोध का पालन करने में सक्षम होने के लिए क्योंकि यह कई सेवाओं को पार करता है, स्पैन को अद्वितीय पहचानकर्ताओं के साथ लेबल किया जाता है जो स्पैन के बीच माता-पिता-बच्चे के संबंध का निर्माण करने में सक्षम बनाता है। स्पैन जानकारी आमतौर पर आउटबाउंड अनुरोधों के एच. टी. टी. पी. शीर्षकों में साझा की जाती है। निरंतर प्रोफाइलिंग एक अन्य टेलीमेट्री प्रकार है जिसका उपयोग सटीक रूप से यह निर्धारित करने के लिए किया जाता है कि एक अनुप्रयोग संसाधनों का उपभोग कैसे करता है। उपकरण एक अनुप्रयोग का निरीक्षण करने में सक्षम होने के लिए, अनुप्रयोग के व्यवहार के बारे में टेलीमेट्री को एकत्र या निर्यात करने की आवश्यकता होती है। उपकरण का अर्थ है अनुप्रयोग के सामान्य संचालन के साथ-साथ टेलीमेट्री उत्पन्न करना। टेलीमेट्री को बाद में विश्लेषण के लिए एक स्वतंत्र बैकएंड द्वारा एकत्र किया जाता है। इंस्ट्रूमेंटेशन स्वचालित या कस्टम हो सकता है। स्वचालित इंस्ट्रूमेंटेशन कंबल कवरेज और तत्काल मूल्य प्रदान करता है; कस्टम इंस्ट्रूमेंटेशन उच्च मूल्य लाता है लेकिन इंस्ट्रूमेंटेड एप्लिकेशन के साथ अधिक अंतरंग भागीदारी की आवश्यकता होती है। इंस्ट्रूमेंटेशन देशी हो सकता है-इन-कोड (इंस्ट्रूमेंटेड एप्लिकेशन के कोड को संशोधित करना)-या आउट-ऑफ-कोड (जैसे। साइडकार, ई. बी. पी. एफ)। उत्पादन में नई विशेषताओं को कस्टम इंस्ट्रूमेंटेशन के साथ भेजकर सत्यापित करना एक अभ्यास है जिसे "अवलोकन-संचालित विकास" कहा जाता है। "अवलोकन के स्तंभ" मेट्रिक्स, लॉग और ट्रेस को आमतौर पर अवलोकन के स्तंभों के रूप में सूचीबद्ध किया जाता है। मेजर आदि। यह तर्क देते हुए कि रनबुक और डैशबोर्ड का बहुत कम मूल्य है क्योंकि "आधुनिक प्रणालियाँ शायद ही कभी एक ही तरह से दो बार विफल होती हैं", यह सुझाव देते हुए कि अवलोकन क्षमता के स्तंभ उच्च कार्डिनलिटी, उच्च-आयामीता और अन्वेषण क्षमता हैं। स्वयं की निगरानी स्वयं की निगरानी एक ऐसी प्रथा है जिसमें अस्पष्ट आउटेज के जोखिम को कम करने के लिए अवलोकन क्षमता के ढेर एक-दूसरे की निगरानी करते हैं। सहसंबद्ध विफलताओं से बचने के लिए उच्च उपलब्धता और अतिरेक के अलावा स्व-निगरानी की जा सकती है। एप्लीकेशन परफॉर्मेंस मैनेजमेंट (एपीएम) ओपन टेलीमेट्री (ओटीएल) रियल यूजर मॉनिटरिंग (आरयूएम) सिंथेटिक मॉनिटरिंग देवऑप्स साइट रिलाइबिलिटी इंजीनियरिंग (एसआरई) सोशियोटेक्निकल सिस्टम बाहरी लिंक सीएनसीएफ ऑब्जर्वेबिलिटी टेक्निकल एडवाइजरी ग्रुप (टीएजी) ग्रंथ सूची संदर्भ वितरित कंप्यूटिंग देखें।