ट्रेसिंग एजेंट चुनना
सही एजेंट चुनें
AWS ट्रेस संग्रह के लिए सीधे दो टूलसेट का समर्थन करता है (हमारे ऑब्ज़र्वेबिलिटी पार्टनर्स की समृद्ध संपदा के अलावा):
- AWS Distro for OpenTelemetry, जिसे आमतौर पर ADOT कहा जाता है
- X-Ray SDKs और daemon
कौन सा टूल या टूल उपयोग करने हैं इसका चयन एक प्रमुख निर्णय है जो आपको अपने ऑब्ज़र्वेबिलिटी समाधान को विकसित करते समय लेना होगा। ये टूल परस्पर-अनन्य नहीं हैं, और आप आवश्यकतानुसार इन्हें एक साथ मिला सकते हैं। और इस चयन के लिए एक बेस्ट प्रैक्टिस है। हालांकि, पहले आपको OpenTelemetry (OTEL) की वर्तमान स्थिति को समझना चाहिए।
OTEL ऑब्ज़र्वेबिलिटी सिग्नलिंग के लिए वर्तमान उद्योग मानक विनिर्देश है, और इसमें तीन मुख्य सिग्नल प्रकारों के लिए परिभाषाएँ शामिल हैं: मेट्रिक्स, ट्रेस, और लॉग्स। हालांकि, OTEL हमेशा अस्तित्व में नहीं था और OpenMetrics और OpenTracing जैसे पूर्ववर्ती विनिर्देशों से विकसित हुआ है। ऑब्ज़र्वेबिलिटी वेंडर्स ने हाल के वर्षों में OpenTelemetry Line Protocol (OTLP) का खुले तौर पर समर्थन करना शुरू किया।
AWS X-Ray और CloudWatch OTEL विनिर्देश से पहले के हैं, जैसे अन्य प्रमुख ऑब्ज़र्वेबिलिटी समाधान भी। हालांकि, AWS X-Ray सेवा ADOT का उपयोग करके OTEL ट्रेस को आसानी से स्वीकार करती है। ADOT में X-Ray में सीधे टेलीमेट्री उत्सर्जित करने के लिए इंटीग्रेशन पहले से निर्मित हैं, साथ ही अन्य ISV समाधानों में भी।
किसी भी ट्रांजैक्शन ट्रेसिंग समाधान के लिए सिग्नल एकत्र करने के लिए एक एजेंट और अंतर्निहित एप्लिकेशन में एक इंटीग्रेशन की आवश्यकता होती है। और यह, बदले में, उन लाइब्रेरी के रूप में तकनीकी ऋण बनाता है जिन्हें परीक्षण, रखरखाव और अपग्रेड करना होगा, साथ ही संभवतः रीटूलिंग भी यदि आप भविष्य में अपना समाधान बदलने का चयन करते हैं।
X-Ray के साथ शामिल SDKs AWS द्वारा प्रदान किए गए एक कस कर एकीकृत इंस्ट्रुमेंटेशन समाधान का हिस्सा हैं। ADOT एक व्यापक उद्योग समाधान का हिस्सा है जिसमें X-Ray कई ट्रेसिंग समाधानों में से केवल एक है। आप किसी भी दृष्टिकोण का उपयोग करके X-Ray में एंड-टू-एंड ट्रेसिंग लागू कर सकते हैं, लेकिन आपके लिए सबसे उपयोगी दृष्टिकोण निर्धारित करने के लिए अंतरों को समझना महत्वपूर्ण है।
हम अनुशंसा करते हैं कि आप AWS Distro for OpenTelemetry के साथ अपने एप्लिकेशन को इंस्ट्रुमेंट करें यदि आपको निम्नलिखित की आवश्यकता है:
-
अपने कोड को पुनः इंस्ट्रुमेंट किए बिना कई अलग-अलग ट्रेसिंग बैकएंड्स पर ट्रेस भेजने की क्षमता। उदाहरण के लिए, यदि आप X-Ray कंसोल से Zipkin में स्थानां तरित होना चाहते हैं, तो केवल कलेक्टर का कॉन्फ़िगरेशन बदलेगा, आपका एप्लिकेशन कोड अछूता रहेगा।
-
प्रत्येक भाषा के लिए बड़ी संख्या में लाइब्रेरी इंस्ट्रुमेंटेशन का समर्थन, जो OpenTelemetry समुदाय द्वारा बनाए रखा जाता है।
हम अनुशंसा करते हैं कि आप अपने एप्लिकेशन को इंस्ट्रुमेंट करने के लिए X-Ray SDK चुनें यदि आपको निम्नलिखित की आवश्यकता है:
-
एक कसकर एकीकृत एक-वेंडर समाधान।
-
X-Ray केंद्रीकृत सैंपलिंग नियमों के साथ एकीकरण, जिसमें X-Ray कंसोल से सैंपलिंग नियम कॉन्फ़िगर करने और कई होस्ट पर स्वचालित रूप से उनका उपयोग करने की क्षमता शामिल है, Node.js, Python, Ruby, या .NET का उपयोग करते समय