AWS X-Ray के साथ वितरित ट्रेसिंग
AWS X-Ray के साथ वितरित ट्रेसिंग लागू और व्याख्यायित कीजिए, ताकि अपने सर्वररहित आर्किटेक्चर में अनुरोधों के प्रवाह को देखा जा सके और प्रदर्शन की अड़चनों की पहचान की जा सके।
AWS X-Ray के साथ वितरित ट्रेसिंग, CoddyKit पर सर्वररहित AWS Lambda विकास का एक निःशुल्क पाठ है। यह 4 में से 3वाँ पाठ है। आप नीचे पूरा पाठ निःशुल्क पढ़ सकते हैं—फिर अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर के साथ ब्राउज़र में इसका व्यावहारिक अभ्यास कर सकते हैं। यह सर्वररहित AWS Lambda विकास सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। सर्वररहित AWS Lambda विकास पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
सर्वरलेस अनुरोधों का अनुरेखण
सर्वरलेस अनुप्रयोगों में, एकल उपयोगकर्ता अनुरोध अक्सर API Gateway, कई Lambda फ़ंक्शनों और डेटाबेस जैसी अनेक सेवाओं से होकर गुजरता है। इस यात्रा को समझना जटिल हो सकता है!
यहीं वितरित अनुरेखण उपयोगी होता है। यह अनुरोध के विभिन्न सेवाओं से होकर गुजरने पर उसका पता लगाने की तकनीक है, जो आरंभ से अंत तक का पूरा दृश्य प्रदान करती है।
AWS X-Ray से परिचित हों
AWS X-Ray एक ऐसी सेवा है जो डेवलपर्स को माइक्रोसर्विस का उपयोग करके बनाए गए वितरित अनुप्रयोगों का विश्लेषण और डीबग करने में सहायता करती है। यह आपके अनुप्रयोग से होकर गुजरने वाले अनुरोधों का आरंभ से अंत तक का दृश्य प्रदान करती है।
X-Ray से आप:
- सेवाओं के बीच इंटरैक्शन को दृश्य रूप में देख सकते हैं।
- प्रदर्शन संबंधी बाधाओं की पहचान कर सकते हैं।
- वितरित प्रणालियों में त्रुटियों को डीबग कर सकते हैं।
X-Ray सेगमेंट की व्याख्या
X-Ray में डेटा की मूल इकाई एक सेगमेंट है। आपके अनुप्रयोग का हिस्सा बनने वाली प्रत्येक सेवा (जैसे Lambda फ़ंक्शन या API Gateway) अपना सेगमेंट X-Ray को भेजती है।
सेगमेंट में उस सेवा द्वारा किए गए कार्य की जानकारी होती है, जिसमें शामिल हैं:
- सेवा का नाम और ID।
- आने वाले अनुरोध का विवरण।
- समय संबंधी जानकारी (आरंभ और समाप्ति समय)।
- हुई कोई भी त्रुटि या खराबी।
और गहराई से: सबसेगमेंट
किसी सेवा के सेगमेंट के भीतर आप अधिक विस्तृत अनुरेखण के लिए सबसेगमेंट बना सकते हैं। सबसेगमेंट उस सेवा के भीतर किए जाने वाले अलग-अलग कार्यों को दर्शाते हैं।
उदाहरण के लिए, Lambda फ़ंक्शन के सेगमेंट में इनके लिए सबसेगमेंट हो सकते हैं:
- डेटाबेस को की गई कॉल (जैसे DynamoDB)।
- बाहरी API को किए गए HTTP अनुरोध।
- आपके कोड के भीतर मौजूद विशिष्ट व्यावसायिक तर्क।
इनकी सहायता से यह ठीक-ठीक पता लगाने में मदद मिलती है कि किसी सेवा के भीतर समय कहाँ व्यतीत हो रहा है।
अनुरेख और सेवा मानचित्र
एकल अनुरोध द्वारा बनाए गए सभी सेगमेंट और सबसेगमेंट को एक साथ समूहित करके अनुरेख बनाया जाता है। यह अनुरेख अनुरोध की यात्रा का आरंभ से अंत तक पूरा दृश्य प्रदान करता है।
इसके बाद X-Ray इन अनुरेखों का उपयोग करके सेवा मानचित्र बनाता है। यह आपके अनुप्रयोग के घटकों और उनके बीच के कनेक्शनों का दृश्य निरूपण है, जिसमें विलंबता और त्रुटि दरें दिखाई जाती हैं।
Lambda के लिए X-Ray सक्षम करें
अपने Lambda फ़ंक्शनों का अनुरेखण शुरू करने के लिए पहले आपको उनके लिए X-Ray अनुरेखण सक्षम करना होगा। यह AWS Management Console या Infrastructure as Code (जैसे AWS SAM या CloudFormation) के माध्यम से आसानी से किया जा सकता है।
कंसोल में:
- अपने Lambda फ़ंक्शन पर जाएँ।
- 'Configuration' के अंतर्गत 'Monitoring and operations tools' चुनें।
- AWS X-Ray के लिए 'Active tracing' को संपादित करके सक्षम करें।
इससे Lambda, फ़ंक्शन के आह्वान का मूल डेटा X-Ray को भेजने के लिए तैयार हो जाता है।
Python Lambda कोड में अनुरेखण जोड़ें
X-Ray सक्षम करने से मूल डेटा कैप्चर हो जाता है, लेकिन अधिक विस्तृत जानकारी (जैसे कस्टम सबसेगमेंट या गैर-AWS SDK कॉल का अनुरेखण) के लिए आपको X-Ray SDK का उपयोग करके अपने कोड में अनुरेखण जोड़ना होगा।
यहाँ Python का एक उदाहरण है:
from aws_xray_sdk.core import xray_recorder
from aws_xray_sdk.core import patch_all
# Patch all AWS SDK calls automatically
patch_all()
def lambda_handler(event, context):
# Start a custom subsegment for specific logic
with xray_recorder.in_subsegment('## my_custom_logic'):
print("Executing custom business logic...")
# Simulate some work
import time
time.sleep(0.05)
# Any AWS SDK calls after patch_all() will be automatically traced.
# For example, a DynamoDB put_item() call.
return {
'statusCode': 200,
'body': 'Hello from Lambda with X-Ray!'
}
# For local testing (not typically deployed with Lambda)
if __name__ == '__main__':
print(lambda_handler({}, {}))Node.js Lambda कोड में अनुरेखण जोड़ें
इसी प्रकार, Node.js Lambda फ़ंक्शनों के लिए आप अपने कोड में अनुरेखण जोड़ने हेतु aws-xray-sdk पैकेज का उपयोग करते हैं। इससे आप कस्टम सबसेगमेंट कैप्चर कर सकते हैं और AWS SDK कॉल का अनुरेखण सुनिश्चित कर सकते हैं।
यहाँ Node.js का एक उदाहरण है:
const AWSXRay = require('aws-xray-sdk');
// Patch all AWS SDK calls automatically.
// This ensures calls to other AWS services are traced.
AWSXRay.captureAWS(require('aws-sdk'));
exports.handler = async (event, context) => {
// Get the current segment created by Lambda's X-Ray integration.
const segment = AWSXRay.getSegment();
// Create a custom subsegment to trace specific logic.
if (segment) { // Ensure segment exists for safe local execution
const customSubsegment = segment.addNewSubsegment('## MyCustomLogic');
try {
console.log("Executing custom business logic...");
await new Promise(resolve => setTimeout(resolve, 50)); // Simulate work
} finally {
customSubsegment.close();
}
} else {
console.log("X-Ray segment not found, executing without tracing.");
await new Promise(resolve => setTimeout(resolve, 50)); // Simulate work
}
return {
statusCode: 200,
body: JSON.stringify('Hello from Lambda with X-Ray!'),
};
};
// For local execution, you can simulate a call to the handler.
if (require.main === module) {
console.log("Running handler locally...");
exports.handler({}, {}).then(result => console.log(result));
}सेवा मानचित्र पढ़ना
जब X-Ray अनुरेख डेटा एकत्र कर लेता है, तब आप X-Ray कंसोल में सेवा मानचित्र देख सकते हैं। यह मानचित्र आपके अनुप्रयोग के घटकों को नोड और उनके इंटरैक्शन को किनारों के रूप में दृश्य रूप से दर्शाता है।
इन पर ध्यान दें:
- नोड: सेवाओं (Lambda, API Gateway, DynamoDB) को दर्शाते हैं।
- किनारे: सेवाओं के बीच कनेक्शन और डेटा प्रवाह दिखाते हैं।
- रंग: सेवा की स्थिति दर्शाते हैं (स्वस्थ के लिए हरा, त्रुटियों के लिए लाल)।
- विलंबता: किनारों पर मौजूद दृश्य संकेत और मेट्रिक अनुरोध की अवधि दिखाते हैं।
बाधाओं का सटीक पता लगाना
X-Ray की वास्तविक शक्ति प्रदर्शन संबंधी समस्याओं की पहचान करने में है। अनुरेख की समयरेखा की जाँच करके आप देख सकते हैं कि प्रत्येक सेगमेंट और सबसेगमेंट को पूरा होने में कितना समय लगा।
इससे आपको मदद मिलती है:
- धीमी सेवाओं की पहचान करने में: कौन-सी सेवा सबसे अधिक समय ले रही है?
- अक्षम कोड खोजने में: किसी फ़ंक्शन के भीतर कौन-सा सबसेगमेंट देरी कर रहा है?
- बाहरी निर्भरताओं का पता लगाने में: क्या किसी तृतीय-पक्ष API कॉल या डेटाबेस क्वेरी से प्रक्रिया धीमी हो रही है?
X-Ray अनुरेखण की जाँच
आइए AWS X-Ray की क्षमताओं की आपकी समझ की जाँच करें।
आगे की राह का अनुरेखण
बधाई हो! आपने सीखा कि AWS X-Ray आपके सर्वरलेस अनुप्रयोगों में अत्यंत उपयोगी दृश्यता कैसे प्रदान करता है।
X-Ray सक्षम करके, अपने कोड में अनुरेखण जोड़कर और सेवा मानचित्र तथा अनुरेख समयरेखाओं की व्याख्या करके आप प्रभावी रूप से:
- जटिल अनुरोध प्रवाह को समझ सकते हैं।
- विलंबता संबंधी समस्याओं और त्रुटियों का निदान कर सकते हैं।
- अपने अनुप्रयोग के प्रदर्शन को बेहतर बना सकते हैं।
अधिक मजबूत और बेहतर प्रदर्शन करने वाली सर्वरलेस प्रणालियाँ बनाने के लिए X-Ray का उपयोग करें!
एआई शिक्षक के साथ सर्वररहित AWS Lambda विकास सीखें — निःशुल्क
अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।
- पाठ्यक्रम
- 12
- पाठ
- 48
अक्सर पूछे जाने वाले प्रश्न
क्या “AWS X-Ray के साथ वितरित ट्रेसिंग” पाठ निःशुल्क है?
हाँ—“AWS X-Ray के साथ वितरित ट्रेसिंग” का पूरा पाठ यहाँ वेब पर निःशुल्क पढ़ा जा सकता है। इंटरैक्टिव अभ्यास (अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर) करने और सर्वररहित AWS Lambda विकास पाठ्यक्रम का बाकी हिस्सा अनलॉक करने के लिए CoddyKit PRO लें। सर्वररहित AWS Lambda विकास पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
“AWS X-Ray के साथ वितरित ट्रेसिंग” में मैं क्या सीखूँगा?
AWS X-Ray के साथ वितरित ट्रेसिंग लागू और व्याख्यायित कीजिए, ताकि अपने सर्वररहित आर्किटेक्चर में अनुरोधों के प्रवाह को देखा जा सके और प्रदर्शन की अड़चनों की पहचान की जा सके। आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ सर्वररहित AWS Lambda विकास का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।
क्या सर्वररहित AWS Lambda विकास शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?
पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर सर्वररहित AWS Lambda विकास शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 3वाँ पाठ है।
“AWS X-Ray के साथ वितरित ट्रेसिंग” पाठ पूरा करने में कितना समय लगता है?
CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।
क्या मैं इस सर्वररहित AWS Lambda विकास पाठ में कोड लिख और चला सकता हूँ?
हाँ। हर सर्वररहित AWS Lambda विकास पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।
इस पाठ्यक्रम के सभी पाठ
- उन्नत IAM नीतियाँ और अनुमतियाँ
- AWS Secrets Manager के साथ गुप्त जानकारी का प्रबंधन
- AWS X-Ray के साथ वितरित ट्रेसिंग
- संरचित लॉगिंग और सहसंबंध आईडी