डाइग्नोस्टिक्स टूल और लॉग

आपको Apigee Edge दस्तावेज़ दिख रहा है.
अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है इस पेज पर जाएं Apigee X दस्तावेज़.
जानकारी

इस विषय में, नेटवर्क टूल, जेवीएम टूल, और डाइग्नोस्टिक्स लॉग के बारे में बताया गया है. इनका इस्तेमाल इन कामों के लिए किया जा सकता है Apigee Edge पर, नेटवर्क और जेवीएम से जुड़ी समस्याओं को हल करें.

टीसीपी/आईपी पैकेट स्निफ़र (tcpdump) यूटिलिटी

tcpdump टूल एक कमांड-लाइन पैकेट स्निफ़र टूल है. इसकी मदद से, ये काम किए जा सकते हैं नेटवर्क पर मिले या ट्रांसफ़र किए गए टीसीपी/आईपी पैकेट को कैप्चर या फ़िल्टर करना. यह उपलब्ध है पर काम करता है. आप इस उपयोगिता को yum का उपयोग करके इंस्टॉल कर सकते हैं अनुसरण करता है:

yum install tcpdump

tcpdump टूल, नेटवर्क या एसएसएल से जुड़ी समस्याओं को हल करने में मदद करता है. इसके लिए उदाहरण:

  • 502 खराब गेटवे गड़बड़ियां (EOF अपवाद की वजह से हुई)
  • 503 सेवा उपलब्ध न होने से जुड़ी गड़बड़ियां
  • SSL हैंडशेक विफलताएं

इनमें से किसी भी समस्या को हल करने के लिए, आपको पहले कॉम्पोनेंट का जोड़ा तय करना होगा. जो गड़बड़ी हुई है. Edge के मामले में, यह इन पेयर में से कोई एक हो सकता है:

  • क्लाइंट ऐप्लिकेशन और राऊटर
  • राऊटर और मैसेज प्रोसेसर
  • मैसेज प्रोसेसर और बैकएंड सर्वर

कॉम्पोनेंट के ग्रुप की पहचान करने के बाद, नेटवर्क पैकेट कैप्चर किए जा सकते हैं इनमें से किसी एक या दोनों कॉम्पोनेंट पर tcpdump का इस्तेमाल करके.

tcpdump का इस्तेमाल करके किसी खास होस्ट को भेजे गए या उससे मिलने वाले पैकेट को कैप्चर करना

नीचे दिए गए tcpdump निर्देश की मदद से, बताया गया होस्ट (आईपी पता) खोलें और जानकारी को बताई गई फ़ाइल में सेव करें:

tcpdump -i any -s 0 host <IP address> -w <File name>

कहां:

पैरामीटर जानकारी
-आई (इंटरफ़ेस) उस इंटरफ़ेस के बारे में बताता है जिससे पैकेट कैप्चर किए जाने चाहिए. इसका इस्तेमाल किया जा रहा है “any” की वैल्यू से सभी इंटरफ़ेस के पैकेट कैप्चर किए जा सकते हैं.
-से॰ (snerf/sanaple) से यह जानकारी मिलती है कि हर पैकेट की कितनी कीमत कैप्चर की जानी है. वैल्यू के तौर पर 0 का इस्तेमाल करना (शून्य) में पूरे पैकेट को कैप्चर किया जा सकता है.
आईपी पता यह उस होस्ट का आईपी पता है जिसके लिए हम पैकेट कैप्चर करना चाहते हैं
फ़ाइल नाम उस फ़ाइल का नाम है जिस पर tcpdump लिखा जाना है

उदाहरण

मान लें कि आपको मैसेज प्रोसेसर और बैकएंड के बीच के पैकेट कैप्चर करने हैं सर्वर:

  1. मैसेज प्रोसेसर मशीन में लॉग इन करें.
  2. उस बैकएंड सर्वर का आईपी पता तय करें जिसके लिए हमें वैल्यू चाहिए (मान लें कि यह 22.22.22.22 है) ताकि पैकेट कैप्चर किए जा सकें.

किसी खास आईपी वाले होस्ट के नेटवर्क पैकेट कैप्चर करने के लिए, नीचे दिए गए कमांड का इस्तेमाल करें पता:

tcpdump -i any -s 0 host 22.22.22.22 -w rmp-123.pcap

अगर बैकएंड सर्वर से एक से ज़्यादा आईपी पते काम करते हैं, तो बैकएंड के होस्टनेम का इस्तेमाल करें सर्वर को tcpdump निर्देश में नीचे दिखाया गया है:

tcpdump -i any -s 0 host <Hostname> -w rmp-123.pcap

अगर अलग-अलग आईपी पतों वाले कई बैकएंड सर्वर हैं (22.22.22.22, 33.33.33.33 और 44.44.44.44), फिर नीचे दिए गए tcpdump कमांड का इस्तेमाल करें:

tcpdump -i any -s 0 host 22.22.22.22 or host 33.33.33.33 or host 44.44.44.44 -w rmp-123.pcap

tcpdump का विश्लेषण किया जा रहा है

tcpdump कमांड या जीयूआई पर आधारित टूल Wireshark का इस्तेमाल करके, tcpdump को देखा या उसका विश्लेषण किया जा सकता है.

रेफ़रंस

हीप डंप

हीप डंप, Java प्रोसेस की मेमोरी के स्नैपशॉट हैं. इनमें ये चीज़ें शामिल हैं हीप डंप के होने पर, हीप में Java ऑब्जेक्ट और क्लास के बारे में जानकारी इकट्ठा किया गया. ये आम तौर पर, कुछ 100 एमबी से लेकर कुछ ही साइज़ के बीच काफ़ी बड़े होते हैं जीबी.

हीप डंप तब बहुत काम का होता है, जब मैसेज प्रोसेसर जैसी Java की प्रोसेस यह दिखाती है:

  • ज़्यादा मेमोरी का इस्तेमाल
  • OutofMemoryError

Java प्रोसेस के लिए हीप डंप जनरेट करना

Java आपको jmap नाम की एक यूटिलिटी उपलब्ध कराता है, जिससे आपको चल रही Java प्रोसेस के आंकड़े या हीप डंप.

Java प्रोसेस का हीप डंप जनरेट करने के लिए, यहां दिए गए jmap कमांड का इस्तेमाल करें:

sudo -u apigee <JAVA_HOME>/bin/jmap -dump:live,format=b,file=<filename> <pid>

कहां:

पैरामीटर जानकारी
JAVA_HOME Java की इंस्टॉलेशन डायरेक्ट्री है
फ़ाइल का नाम फ़ाइल का वह नाम है जिस पर हीप डंप लिखा जाएगा
pid उस Java ऐप्लिकेशन की प्रोसेस आईडी है जिसके हेड डंप को कैप्चर करना है

उदाहरण

मान लें कि मैसेज प्रोसेसर mp-east की मेमोरी ज़्यादा इस्तेमाल हो रही है या वह बहुत ज़्यादा डेटा इस्तेमाल कर रहा है आउट ऑफ़ मेमोरी से जुड़ी गड़बड़ियां. किस Unix ऑपरेटिंग सिस्टम. मान लेते हैं कि यह 24569 है.

हीप डंप को जनरेट करने के लिए, jmap सुविधा को नीचे बताए गए तरीके से चलाएं:

sudo -u apigee <JAVA_HOME>/bin/jmap -dump:live,format=b,file=mp-east-heapdump.bin 24569

हीप डंप का विश्लेषण किया जा रहा है

हीप डंप का विश्लेषण Eclipse MAT (मेमोरी ऐनालाइज़र टूल) का इस्तेमाल करके किया जा सकता है संभावित मेमोरी लीक या किस Java ऑब्जेक्ट की वजह से मेमोरी का ज़्यादा इस्तेमाल हो रहा है.

रेफ़रंस

हीप डंप को इकट्ठा करने का तरीका

जेमैप यूटिलिटी

जेमैप मैन पेज

मेमोरी ऐनालाइज़र टूल (एमएटी)


थ्रेड डंप

थ्रेड डंप, किसी चल रही Java प्रोसेस की सभी थ्रेड की स्थिति का स्नैपशॉट होता है. कॉन्टेंट बनाने हर थ्रेड की स्थिति को उसके स्टैक का कॉन्टेंट दिखाया जाता है. इसे स्टैक ट्रेस कहा जाता है. कुछ थ्रेड चल रहे Java ऐप्लिकेशन का हिस्सा होंगे, जबकि अन्य थ्रेड JVM के इंटरनल थ्रेड.

थ्रेड डंप, हर ऐप्लिकेशन की थ्रेड गतिविधियों के बारे में जानकारी दिखाता है. यह जानकारी इन कामों के लिए बहुत काम की हो सकती है:

  • सीपीयू की संख्या में बढ़ोतरी, धीमी प्रतिक्रिया के समय या काम न करने वाली Java जैसी समस्याओं का पता लगाएं ऐप्लिकेशन
  • ऐप्लिकेशन और जेवीएम की परफ़ॉर्मेंस ऑप्टिमाइज़ करें

थ्रेड डंप जनरेट किए जा रहे हैं

Java प्रोसेस के लिए थ्रेड डंप को, jstack यूटिलिटी का इस्तेमाल करके जनरेट किया जा सकता है, जैसा कि यहां दिखाया गया है नीचे दिया गया है:

sudo -u apigee <JAVA_HOME>/bin/jstack -l <pid> > <filename>

कहां:

पैरामीटर जानकारी
JAVA_HOME Java की इंस्टॉलेशन डायरेक्ट्री है.
pid उस Java ऐप्लिकेशन का प्रोसेस आईडी है जिसके थ्रेड डंप को आपको कैप्चर करना है.
फ़ाइल का नाम फ़ाइल का नाम है जिस पर थ्रेड डंप लिखा जाएगा.

उदाहरण

मैसेज प्रोसेसर पर, प्रोसेस आईडी 37320 के लिए थ्रेड डंप जनरेट करने के लिए mp-east फ़ॉर्मैट में होने पर, नीचे दिए गए कमांड का इस्तेमाल करें:

sudo -u apigee <JAVA_HOME>/bin/jstack -l 37320 > /opt/apigee/edge-message-processor/mp-east-threadDump.txt

ऊपर दिए गए उदाहरण के मुताबिक, प्रोसेस के थ्रेड डंप को /opt/apigee/Edge-message-processor/mp-east-threadDump.txt फ़ाइल.

थ्रेड डंप का विश्लेषण किया जा रहा है

vi (Linux), नोटपैड (Windows) जैसे किसी भी टेक्स्ट एडिटर में थ्रेड डंप देखे जा सकते हैं. देखें Thread डंप का इस्तेमाल करके, Thread डंप के अलग-अलग सेक्शन के बारे में जानकारी और इसे जानकारी.

रेफ़रंस