paint-brush
डेटाडॉग एजेंट के साथ स्थानीय डिबगिंग के लिए एक गाइडद्वारा@hacker5281989
6,981 रीडिंग
6,981 रीडिंग

डेटाडॉग एजेंट के साथ स्थानीय डिबगिंग के लिए एक गाइड

द्वारा Dhivya Dandapani4m2023/03/21
Read on Terminal Reader

बहुत लंबा; पढ़ने के लिए

डेटाडॉग टूल का उपयोग उत्पादन लॉग को देखने के लिए किया जाता है। इसे MacOSX मशीन पर स्थापित किया जा सकता है। उपकरण जावा में लिखा गया है और इसका उपयोग जावा अनुप्रयोगों की निगरानी के लिए किया जा सकता है। यह मुफ्त है और कंपनी की वेबसाइट पर मुफ्त में उपलब्ध है। नीचे दिए गए निर्देश स्थानीय स्थापना के लिए हैं।
featured image - डेटाडॉग एजेंट के साथ स्थानीय डिबगिंग के लिए एक गाइड
Dhivya Dandapani HackerNoon profile picture
0-item
1-item

आइए "क्यों" से शुरू करें, स्थानीय मशीन पर डेटाडॉग स्थापित करने से भी परेशान होना चाहिए। मैं इसे स्थापित करने के लिए अपनी प्रेरणा साझा कर सकता हूं

मेरा मजबूत 'क्यों': परतदार परीक्षणों की समझ बनाने की कोशिश:

हमारे पास उच्च कवरेज के साथ व्यापक एंड-टू-एंड टेस्ट सूट था। लेकिन दुख की बात है कि परीक्षण समय के साथ परतदार और परतदार होते गए। मेरी निराशा के लिए, जब परीक्षण अलगाव में चलाए गए, तो वे पास हो गए। जब हम पूरा टेस्ट सूट चलाते थे, तो कई टेस्ट फेल होने लगते थे। परीक्षण से संबंधित एप्लिकेशन लॉग को हमें डीबग करने में मदद करनी चाहिए। लेकिन मैं यह भी नहीं समझ सका कि किसी विशेष परीक्षण के लिए लॉग कहाँ से शुरू और समाप्त हुए, उन्हें समझने की तो बात ही छोड़ दें।


बचाव के लिए डेटाडॉग 🦸!

हम प्रयोग करते रहे हैं डाटाडॉग उत्पादन लॉग की कल्पना करने के लिए हमारी परियोजना में और हमने इसे बहुत उपयोगी पाया। तभी मुझे एक एपिफनी हुई थी! क्या होगा अगर मैं इन लॉग को अलग करने के लिए स्थानीय रूप से डेटाडॉग स्थापित करता हूं? और इसने इस ब्लॉग पोस्ट की सामग्री को ट्रिगर किया।


हमारा आवेदन जावा में लिखा गया है और मेरी स्थानीय मशीन मैकोज़ पर चलती है। आप अपनी जरूरत के अनुरूप नीचे दिए गए चरणों में बदलाव कर सकते हैं।


आपको क्या सेट अप करने की आवश्यकता है:

स्थापना के लिए आवश्यक घटक

  1. डेटाडॉग के लिए साइन अप करें यहाँ . यहाँ हमारा दायरा केवल स्थानीय डिबगिंग है, इसलिए a मुफ्त परीक्षण पर्याप्त होना चाहिए।
  2. डेटाडॉग एजेंट वह सॉफ्टवेयर है जो उस होस्ट की निगरानी करता है जिस पर वह चलता है। एजेंट में सेवा का नाम, पर्यावरण आदि जैसी सेटिंग की जा सकती हैं।
  3. डीडी-ट्रेस-java , डेटाडॉग का एपीएम (ऐप परफॉर्मेंस मॉनिटरिंग) क्लाइंट जावा लाइब्रेरी। dd-trace-java एक जार है जिसमें स्वचालित रूप से या मैन्युअल रूप से एपीआई शामिल हैं पता लगाना और प्रोफ़ाइल जावा अनुप्रयोग।


चरण 1 - साइन अप प्रक्रिया:

  • अपनी ईमेल आईडी और अन्य विवरण देने के बाद, आपको अगले पेज पर अपना टेक स्टैक चुनने के लिए कहा जाएगा।


  • आपके द्वारा 'अगला' पर क्लिक करने के बाद, सबसे महत्वपूर्ण भाग आता है। आपको 'एजेंट सेटअप' निर्देश दिए जाएंगे। मेरी स्थानीय मशीन MacOSX है, इसलिए मैंने इसे उचित रूप से चुना। कृपया DD_API_KEY और DD_SITE मान नोट कर लें, क्योंकि इनका उपयोग बाद के चरणों में किया जाएगा।


एजेंट स्थापित करने के निर्देश

चरण 2— डेटाडॉग एजेंट इंस्टालेशन:

MacOS के लिए, आप के माध्यम से स्थापित कर सकते हैं शराब बनाना (MacOS के लिए पैकेज मैनेजर)। उपयोग स्थापना के लिए यहां दिए गए आदेश . ¹


डाउनलोड किए गए ब्रू पीकेजी को खोलें और विज़ार्ड का उपयोग करके इंस्टॉल करें

  • जैसा कि नीचे दिखाया गया है datadog-agent अनुकूलित करें


अनुकूलित-स्थानीय-डेटाडॉग-एजेंट-सेटिंग्स

  • उपरोक्त चरण पूरा होने के बाद, आपको डेटाडॉग-वेब-यूआई में 'समाप्त' करने के लिए कहा जाएगा।


प्रॉम्प्ट-टू-फिनिश-डेटाडॉग-सेटअप

  • आपको कोई भी integrations जोड़ने के लिए कहा जाएगा। आप Java , Docker आदि जोड़ सकते हैं (आपकी परियोजना की जरूरतों के अनुसार)।

चरण 3 - डेटाडॉग ट्रैसर स्थापित करें:

  • dd-java-agent जार से डाउनलोड करें यहाँ ²


  • अपने जावा एप्लिकेशन के लिए, सुनिश्चित करें कि आप जावा के उस संस्करण का उपयोग कर रहे हैं जो एक इन-बिल्ट FlightRecorder के साथ आता है। यह ट्रेसिंग के लिए जरूरी है। OpenJdK8 इनबिल्ट FlightRecorder के साथ आता है। यदि आप Oracle Java का उपयोग कर रहे हैं, तो आपको **FlightRecorder.**³ का उपयोग करने के लिए एक व्यावसायिक लाइसेंस की आवश्यकता है

अपना आवेदन चलाना:

  • हमारे जावा एप्लिकेशन के लिए वीएम विकल्प जोड़ें:
 -javaagent:"/Users/home/Downloads/dd-java-agent.jar" -Ddd.profiling.enabled=true -Ddd.logs.injection=true -Ddd.agent.port=8126 -Ddd.service=ecommerce-service -Ddd.env=local -XX:FlightRecorderOptions=stackdepth=256 


जेवीएम जावा एप्लिकेशन के लिए तर्क देता है



  • यदि आप एक gradle कार्य का उपयोग कर रहे हैं, तो आप jvmArgs नीचे के रूप में शामिल कर सकते हैं:

जेवीएम ग्रैडल टास्क के लिए तर्क देता है


 jvmArgs = ["-javaagent:/Users/home/Downloads/dd-java-agent.jar", "-XX:FlightRecorderOptions=stackdepth=256", "-Ddd.profiling.enabled=true", "-Ddd.logs.injection=true", "-Ddd.agent.port=8126", "-Ddd.service=ecommerce-service", "-Ddd.env=local"]


  • अब अपना जावा एप्लिकेशन शुरू करें। यदि ट्रेसिंग सही ढंग से हो रही है, तो आपको नीचे दिए गए लॉग दिखाई देने चाहिए:

डेटाडॉग ट्रेसिंग शुरू - लॉग

डेटाडॉग में लॉगिंग:

  • लॉग को डेटाडॉग में स्ट्रीम करने के लिए सक्षम करने के लिए, डेटाडॉग वेब यूआई में दिए गए निर्देशों का पालन करें। ⁴

लॉग स्रोत कॉन्फ़िगर करें

  • macOS के लिए - कॉन्फ़िग निर्देशिका ~/.datadog-agent/conf.d/java.d है और फ़ाइल ~/.datadog-agent/conf.d/java.d/conf.yaml पर मौजूद है

स्थानीय से एक उदाहरण 'conf.yaml' फ़ाइल

  • और अब, डेटाडॉग में logs बहना शुरू हो जाना चाहिए।


डेटाडॉग लॉग


कुछ सुझाव:

  • अपने अनुप्रयोग में प्रत्येक विधि के आरंभ और अंत में उपयुक्त debug लॉग जोड़ें। डिबगिंग करते समय यह बहुत उपयोगी है।


  • span id और trace id इंजेक्ट करने के लिए एक तंत्र जोड़ें। यह एक अद्भुत जीवन रक्षक है और लॉग को उचित संदर्भ में रखता है।⁵

निष्कर्ष:

एक बार मेरे पास डेटाडॉग एजेंट था और स्थानीय रूप से चल रहा था, मैं सभी अनुरोधों को प्रासंगिक रूप से देखने में सक्षम था।

मेरे परीक्षण - डिबगिंग से पहले और डेटाडॉग का उपयोग करने के बाद

और वोइला! मेरे सभी एंड-टू-एंड टेस्ट अब पास हो रहे हैं 🙂 हैप्पी लॉगिंग!

अतिरिक्त जानकारी:

  • ¹वैकल्पिक रूप से, आप इसे डाउनलोड भी कर सकते हैं डीएमजी पैकेज और इसे स्थापित करें। यह लिंक उपरोक्त 'एजेंट सेटअप' चरण में भी प्राप्त किया जा सकता है (स्क्रीनशॉट देखें)


  • ²डायरेक्ट डाउनलोड करें डीडी-ट्रेस-java जार।


  • ³ JDK 11 से शुरू करके, हम कुछ भी सक्रिय किए बिना FlightRecorder उपयोग कर सकते हैं। अधिक जानकारी मिल सकती है यहाँ .


  • ⁴अधिक विवरण हैं यहाँ .


  • ⁵यदि आपका एप्लिकेशन जावा है, तो आप इस लाइब्रेरी का उपयोग कर सकते हैं वसंत-बादल-जासूस अनुरोध में span_id और trace_id जोड़ने के लिए।