डिप्लॉय की गई एप्लिकेशन का ट्रबलशूटिंग

AWS पर एप्लिकेशन डिप्लॉय करना

Dunieski Otano

Amazon Web Services Solutions Architect

Task timed out

  • एक फंक्शन फेल होता है, पर सिर्फ कभी-कभी
  • लॉग कहता है "Task timed out"
  • सिग्नेचर असली कारण बताता है

एक स्टॉपवॉच और एरर लॉग लाइन, जिसमें Lambda टास्क का टाइमआउट दिख रहा है

AWS पर एप्लिकेशन डिप्लॉय करना

आम Lambda फेलियर सिग्नेचर

Lambda फेलियर सिग्नेचर का 2x2 ग्रिड: Timeout के साथ task-timed-out लॉग, Throttled के साथ TooManyRequestsException, Access Denied के साथ AccessDeniedException, और Out of Memory के साथ signal-killed एरर

  • Timeout: "Task timed out after N seconds"
  • Throttle: TooManyRequestsException
  • IAM denial: AccessDenied, not authorized
  • Out of memory: रनटाइम बीच में ही किल हुआ
AWS पर एप्लिकेशन डिप्लॉय करना

फेल होती फंक्शन पर पहली प्रतिक्रिया

  • कुछ भी बदलने से पहले एरर मैसेज पढ़ें
  • उसे किसी ज्ञात सिग्नेचर से मिलाएँ
  • टाइमआउट हेतु डाउनस्ट्रीम कॉल लेटेंसी जाँचें
  • एक चीज़ बदलें, फिर दोबारा टेस्ट करें

ट्रबलशूटिंग डिसीजन लूप: एरर मैसेज पढ़ें, ज्ञात सिग्नेचर से मिलाएँ, डाउनस्ट्रीम लेटेंसी जाँचें, एक चीज़ बदलें और दोबारा टेस्ट करें

AWS पर एप्लिकेशन डिप्लॉय करना

CloudWatch Logs Insights

Logs Insights क्वेरी filter से संकीर्ण करती है और stats से एग्रीगेट करती है। यहाँ यह प्रति मिनट एरर गिनती है:

fields @timestamp, @message
| filter level = "ERROR"
| stats count() as errors by bin(1m)
| sort errors desc
AWS पर एप्लिकेशन डिप्लॉय करना

दोनों पक्षों से इंटीग्रेशन फेलियर डिबग करना

  • फेलियर अक्सर सेवाओं के बीच होते हैं
  • कॉलर और कॅली दोनों के लॉग पढ़ें
  • request ID या trace ID से मिलान करें
  • इनके बीच का गैप ब्रेक दिखाता है

कॉलर और कॅली लॉग्स को request ID से साइड-बाय-साइड अलाइन किया गया है, बीच का गैप इंटीग्रेशन ब्रेक पॉइंट दिखाता है जहाँ रिक्वेस्ट रुकती है

AWS पर एप्लिकेशन डिप्लॉय करना

हेल्थ चेक्स और रीडिनेस प्रोब्स

लोड बैलेंसर ट्रैफिक को हेल्दी टार्गेट्स की ओर भेज रहा है, ग्रीन चेकमार्क्स के साथ; फेल होता टार्गेट कई हेल्थ चेक फेल होने पर रोटेशन से हटाया गया

  • हेल्थ चेक: क्या इंस्टेंस जीवित है और सर्व कर रहा है?
  • लोड बैलेंसर केवल हेल्दी टार्गेट्स को रूट करते हैं
  • रीडिनेस: क्या यह ट्रैफिक लेने को तैयार है?
  • फेल चेक्स टार्गेट को रोटेशन से हटा देते हैं
AWS पर एप्लिकेशन डिप्लॉय करना

ट्रबलशूटिंग प्लेबुक

  • एरर पढ़ें और सिग्नेचर से मिलाएँ
  • Logs Insights से लॉग्स क्वेरी कर दायरा तय करें
  • दोनों पक्षों को request या trace ID से कोरिलेट करें
  • एक चीज़ बदलें और वेरिफ़ाई करें

चार-स्टेप ट्रबलशूटिंग प्लेबुक: एरर पढ़ें और सिग्नेचर मिलाएँ, Insights से लॉग्स क्वेरी कर स्कोप करें, ट्रेस ID से दोनों पक्षों को कोरिलेट करें, एक चीज़ बदलें और वेरिफ़ाई करें

AWS पर एप्लिकेशन डिप्लॉय करना

अभ्यास करते हैं!

AWS पर एप्लिकेशन डिप्लॉय करना

Preparing Video For Download...