जाँची जा सकने वाली धारणाओं से debug करें
पूरा हुआअलग व्याख्याओं की तुलना और प्रमाण जुटाने के लिए agent इस्तेमाल करें। कारण जाँचे बिना बार-बार बदलाव न करें।
प्रकाशक Taigaहम कैसे लिखते हैं
अपनी समझ जाँचेंRequest केवल deployment के बाद fail होती है, लेकिन local environment में काम करती है। Agent को पहले क्या करना चाहिए?अभ्यास करें
आप क्या सीखेंगे
- अपेक्षित और देखे गए व्यवहार को सटीक बताएँ।
- ऐसा observation चुनें जो अलग-अलग व्याख्याओं में अंतर कर सके।
- लक्षण हटाने और कारण हटाने का अंतर रखते हुए सुधार जाँचें।
सुधार सुझाने से पहले विफलता बताएँ
उपयोगी debugging request में अपेक्षित व्यवहार, देखा गया व्यवहार और प्रभावित दायरा होता है। Version, संबंधित input और error शामिल करें। Logs AI tool को देने से पहले उनमें से credentials और निजी records हटाएँ।
“Export खराब है” से बहुत कम दिशा मिलती है। बेहतर विवरण है: “Export local environment में सफल है। Staging में वही manager request नवीनतम deployment के बाद 403 लौटाती है। दूसरे routes अब भी काम करते हैं।”
यह विवरण कारण सिद्ध नहीं करता। यह वे अंतर पहचानता है जिनसे जाँच को दिशा मिल सकती है।
कई व्याख्याएँ खुली रखें
Agent से कुछ संभावित कारण और हर कारण के प्रमाण माँगें। उसे पहली भरोसेमंद लगने वाली व्याख्या पर टिकने को न कहें।
काल्पनिक export failure में संभावित कारण हैं service identity की छूटी permission, बदली role mapping या गलत environment को भेजी request। हर व्याख्या अलग प्रमाण का अनुमान देती है।
| धारणा | अंतर पहचानने में मदद करने वाला observation |
|---|---|
| Service identity export डेटा नहीं पढ़ सकती | Target resource पर service identity को access denied मिलता है |
| Role mapping बदली है | Request app तक अलग प्रभावी role के साथ पहुँचती है |
| Request गलत environment इस्तेमाल करती है | Resolve हुआ endpoint या resource identifier इच्छित target से अलग है |
यह table शुरुआत है। 403 response अलग-अलग layers से आ सकता है। Application authorization fail मानने से पहले पता करें कि किस component ने response दिया।
सुरक्षित observation चुनें
कम लागत में व्याख्याओं को अलग करने वाले observation से शुरू करें। Deployed version और non-secret configuration की तुलना करें। संबंधित error और request identifier देखें। जहाँ संभव हो, अधिकृत test environment में समस्या दोहराएँ।
केवल यह देखने के लिए व्यापक permissions न दें कि error खत्म होता है या नहीं। इससे security boundary बदलती है और वास्तविक छूटी permission छिप सकती है। संवेदनशील जानकारी हटाने के बाद बचा error और request path पर्याप्त हो, तो पूरा production log मॉडल में paste न करें।
बताएँ कि हर धारणा किस प्रमाण से कमजोर होगी। इससे agent पहली बात का बचाव करने के बजाय अपनी व्याख्या सुधार सकता है।
एक बार में एक कारण बदलें
प्रमाण से संभावित कारण पहचानने के बाद केंद्रित सुधार करें। Permission change, library upgrade और handler rewrite एक साथ न करें। लक्षण गायब हो जाए तो आप नहीं जान पाएँगे कि कौन-सा बदलाव काम आया।
मूल विफलता की स्थिति जाँचें। उससे जुड़ी सीमा भी जाँचें। Manager का access ठीक करें, तो पुष्टि करें कि अनधिकृत उपयोगकर्ता को अब भी denial मिलता है।
बार-बार होने वाले दोष के लिए उसे पकड़ सकने वाली layer में regression check जोड़ें। Unit test हर deployment configuration error नहीं पकड़ सकता। कुछ विफलताओं के लिए integration check या नियंत्रित post-deployment verification चाहिए।
नए प्रमाण के बिना बार-बार प्रयास रोकें
Agent सुधार के कई रूप बना सकता है। अधिक प्रयास से diagnosis जरूरी नहीं सुधरता। वही विफलता दोहराए, तो पूछें कि अगला प्रयास कौन-सा नया observation देगा।
अनिश्चित जाँच के लिए समय या प्रयासों की सीमा तय करें। उस बिंदु पर वर्तमान प्रमाण, खारिज धारणाएँ और अनसुलझा प्रश्न बताएँ। इस record से दूसरा व्यक्ति वही प्रयोग दोहराए बिना आगे बढ़ सकता है।
Recovery के बाद कारण और वह स्थिति दर्ज करें जिसने उसे प्रभावित environment तक पहुँचने दिया। सुधार तत्काल दोष हटाता है। उपयोगी अगली कार्रवाई वही विफलता लौटने की संभावना घटाती है।
अभ्यास करें
हाल के किसी दोष पर debugging note लिखें। अपेक्षित व्यवहार, देखा गया व्यवहार, प्रभावित दायरा और तीन संभावित कारण शामिल करें। हर कारण के लिए ऐसा एक observation बताएँ जो उसे कमजोर करे। पहले सबसे कम लागत वाला सुरक्षित observation चुनें।
Worksheet डाउनलोड करें (Markdown)यह चयन हटाने से इस browser में सहेजी गई पूरी प्रगति मिट जाती है।
प्रगति इसी browser में रहती है। कोई account या tracking नहीं।