Sosreport टूल

आपको Apigee Edge का दस्तावेज़ दिख रहा है.
Apigee X के दस्तावेज़ पर जाएं.
info

Sosreport, सिस्टम-लेवल पर गड़बड़ी की जानकारी इकट्ठा करने और डेटा कलेक्शन करने वाला टूल है. यह ओपन सोर्स सॉफ़्टवेयर SoS पर आधारित है. Sosreport टूल का इस्तेमाल करके, उन नोड से जानकारी इकट्ठा की जा सकती है जहां Apigee कॉम्पोनेंट चल रहा है. इससे आपको समस्याओं को डीबग करने में मदद मिलेगी. यह टूल, नोड के फ़ाइल सिस्टम में स्थानीय तौर पर जानकारी इकट्ठा करता है और उसे सेव करता है.

Sosreport टूल, आपके सिस्टम से कॉन्फ़िगरेशन की जानकारी, सिस्टम की जानकारी, और डाइग्नोस्टिक की जानकारी इकट्ठा करता है. साथ ही, डेटा को एक संग्रह में सेव करता है. Apigee कॉम्पोनेंट के लिए, Sosreport यह जानकारी इकट्ठा करता है:

  • चालू कर्नेल वर्शन
  • लोड किए गए मॉड्यूल
  • सिस्टम और सेवा कॉन्फ़िगरेशन फ़ाइलें

Sosreport, ज़्यादा जानकारी इकट्ठा करने के लिए बाहरी प्रोग्राम भी चलाता है. इनमें ये शामिल हैं:

  • सभी कॉम्पोनेंट के Apigee लॉग.
  • रनटाइम के दौरान गड़बड़ी की जानकारी
  • nodetool कमांड का इस्तेमाल करके, Cassandra के डाइग्नोस्टिक्स के नतीजे इकट्ठा किए गए.

Sosreport टूल में दो मुख्य कमांड होती हैं:

  • sosreport: यह डेटा इकट्ठा करने और रिपोर्ट बनाने के लिए मुख्य कमांड है.
  • apigee-sosreport: यह एक सहायक टूल है. इसका इस्तेमाल Apigee कॉम्पोनेंट के लिए, sosreport प्लगिन इंस्टॉल करने और sosreport प्लगिन मैनेज करने के लिए किया जाता है.

इंस्टॉल करना

यहां दी गई टेबल में, Edge for Private Cloud के साथ काम करने वाले वर्शन में Sosreport टूल की उपलब्धता और इसे इंस्टॉल करने के तरीके के बारे में बताया गया है.

OPDK का वर्शन अभी इंस्टॉल किया गया है इन-प्लेस अपग्रेड
4.50.00.11 - 4.52.01.00 मैन्युअल तरीके से इंस्टॉल करना ज़रूरी है मैन्युअल तरीके से इंस्टॉल करना ज़रूरी है
4.52.01.01+ डिफ़ॉल्ट रूप से इंस्टॉल किया गया डिफ़ॉल्ट रूप से इंस्टॉल किया गया
Amazon Linux 2023+ ये काम नहीं करते हैं ये काम नहीं करते हैं

Edge for Private Cloud के वर्शन 4.52.01.01 और इसके बाद के वर्शन को सेट अप या अपडेट करते समय, सभी नोड पर Sosreport टूल डिफ़ॉल्ट रूप से इंस्टॉल होता है.

Sosreport टूल और उसके प्लगिन के इंस्टॉलेशन और वर्शन की पुष्टि करने के लिए, यह कमांड चलाएं:

apigee-service apigee-sosreport version

Sosreport टूल के साथ काम करने वाले सभी प्लगिन की सूची बनाने के लिए, इस कमांड का इस्तेमाल करें:

sudo sosreport --list-plugins

सिर्फ़ Apigee से जुड़े प्लगिन की सूची देखने के लिए, यह कमांड चलाएं:

sudo sosreport --list-plugins | grep apigee

Edge for Private Cloud के वर्शन 4.50.00.11 से 4.52.01.00 के लिए, Sosreport टूल उपलब्ध है. हालांकि, आपके एनवायरमेंट के हिसाब से, इसे मैन्युअल तरीके से सेट अप करना पड़ सकता है.

अगर sosreport का SoS वर्शन पहले से इंस्टॉल है

अगर आपके सिस्टम पर sosreport का ओरिजनल SoS वर्शन पहले से इंस्टॉल है, तो Apigee का वर्शन सेट अप न करें. ऐसा इसलिए, क्योंकि इंस्टॉलेशन पाथ में टकराव हो सकता है. इसके बजाय, Apigee के लिए बने प्लगिन को /opt/apigee/apigee-sosreport/source/plugin डायरेक्ट्री से कॉपी करके, सही Python site-packages डायरेक्ट्री में ले जाएं. इसके लिए, यहां दिखाई गई कमांड जैसी किसी कमांड का इस्तेमाल करें. उदाहरण के लिए, apigee-mgmt.py को कॉपी करने के लिए:

  • अगर Python 2 का इस्तेमाल किया जा रहा है, तो यह डालें:
    sudo cp apigee-mgmt.py /usr/lib/python2.7/site-packages/sos/plugins/
  • अगर Python 3 का इस्तेमाल किया जा रहा है, तो यह डालें:
    sudo cp apigee-mgmt.py /usr/local/lib/python3.6/site-packages/sos/plugins/

प्लगिन इंस्टॉल होने की पुष्टि करने के लिए, यह कमांड डालें

sudo sosreport --list-plugins

अगर आपका कोई सवाल है, तो Apigee की सहायता टीम से संपर्क करें.

यहां दिए गए सेक्शन में, वर्शन 4.50.00.11 से 4.52.01.00 के लिए `sosreport` इंस्टॉल करने का तरीका बताया गया है.

Apigee के sosreport वर्शन को इंस्टॉल करना

अगर आपके सिस्टम पर sosreport का SoS वर्शन पहले से इंस्टॉल नहीं है, तो Apigee का वर्शन इंस्टॉल किया जा सकता है. इसके लिए, उन सभी नोड पर ये कमांड डालें जहां Edge for Private Cloud इंस्टॉल है:

/opt/apigee/apigee-service/bin/apigee-service apigee-sosreport install
/opt/apigee/apigee-service/bin/apigee-service apigee-sosreport setup

sosreport इंस्टॉल है या नहीं, यह जांचने के लिए पुष्टि करें कि Apigee से जुड़े प्लगिन, इस डायरेक्ट्री में मौजूद हों:

/usr/lib/pythonx.x/site-packages/sos/plugins

यहां pythonx.x, Python का इंस्टॉल किया गया वर्शन है.

इसके अलावा, इनमें से कोई एक कमांड भी इस्तेमाल की जा सकती है:

  • सिर्फ़ Apigee से जुड़े प्लगिन की पुष्टि करने के लिए:
    apigee-service apigee-sosreport diagnose -l

    यह Apigee के लिए खास तौर पर बनाए गए प्लगिन की यह सूची दिखाता है.

    sosreport (version 3.9)
    
    The following plugins are currently enabled:
    
    apigee-mgmt          This is the apigee plugin for edge-management-server
    apigee-mp            This is the apigee plugin for edge-message-processor
    apigee-rrt           This is the apigee plugin for edge-router
    apigee-sample        Main diagnostics gathering class
  • सभी प्लगिन की पुष्टि करने के लिए:
    apigee-service apigee-sosreport diagnose -s -l

    इससे sosreport के साथ उपलब्ध प्लगिन की यह सूची मिलती है:

    sosreport (version 3.9)
    
    The following plugins are currently enabled:
    
     acpid                ACPI daemon information
     alternatives         System alternatives
     anacron              Anacron job scheduling service
     apigee-cassandra     This is the base class for sosreport plugins. Plugins should subclass
        this and set the class variables where applicable. ←truncated→
     apigee-mgmt          This is the base class for sosreport plugins. Plugins should subclass
        this and set the class variables where applicable. ←truncated→
     apigee-mp            Main diagnostics gathering class
     apigee-rrt           This is the base class for sosreport plugins. Plugins should subclass
        this and set the class variables where applicable. ←truncated→
    
    ………………………………………………….
    ………………………………………………….
    ………………………………………………….
    ←truncated→

रिपोर्ट बनाना

Edge for Private Cloud के 4.52.01.01 और उसके बाद के वर्शन

Sosreport टूल, आपके नोड पर मौजूद कॉम्पोनेंट का पता लगा सकता है. साथ ही, उन सभी लॉग की रिपोर्ट जनरेट कर सकता है जिनकी ज़रूरत सहायता टीम को विश्लेषण के लिए होती है.

रिपोर्ट जनरेट करने के लिए, इस कमांड का इस्तेमाल करें:

apigee-service apigee-sosreport diagnose

ज़रूरत पड़ने पर, ये फ़्लैग जोड़े जा सकते हैं:

  • -f | --file | --config : सेटअप करते समय इस्तेमाल की गई कॉन्फ़िगरेशन फ़ाइल का पाथ.
    Example: apigee-service apigee-sosreport diagnose -f /path/to/configuration.file
  • -o | --output : जनरेट की गई sosreport को किसी डायरेक्ट्री या पाथ पर रीडायरेक्ट करने के लिए
    Example: apigee-service apigee-sosreport diagnose -o /path/to/output_directory/

Edge for Private Cloud के वर्शन 4.50.00.11 से लेकर 4.52.01.00 तक

Sosreport टूल का इस्तेमाल करके रिपोर्ट बनाने के लिए, ज़रूरी प्लगिन विकल्प के साथ sosreport कमांड चलाएं. इसके लिए, Apigee प्लगिन देखें. रिपोर्ट को सेव करने के लिए डिफ़ॉल्ट डायरेक्ट्री, tmp या /var/tmp होती है. tmp-dir विकल्प में कोई दूसरी डायरेक्ट्री पास करके, रिपोर्ट को सेव करने के लिए डायरेक्ट्री बदली जा सकती है. उदाहरण के लिए, मैनेजमेंट सर्वर पर रिपोर्ट बनाने और उसे my_report-dir नाम की डायरेक्ट्री में सेव करने के लिए, इनमें से कोई एक कमांड डालें:

  • Apigee के sosreport वर्शन का इस्तेमाल करके:
    sudo sosreport --config-file /opt/apigee/apigee-sosreport/conf/sos.conf -o apigee-mgmt  --batch --tmp-dir=my_report-dir
  • sosreport के SoS वर्शन का इस्तेमाल करना:
    sudo sosreport -o apigee-mgmt  --batch --tmp-dir=my_report-dir

रिपोर्ट को .tar.xz फ़ाइल में सेव किया जाता है. यह फ़ाइल उस डायरेक्ट्री में सेव होती है जिसे आपने tmp-dir विकल्प का इस्तेमाल करके चुना है. .tar.xz फ़ाइल की जगह और चेकसम, STDOUT पर दिखता है. उदाहरण के लिए:

Your sosreport has been generated and saved in:
 /var/sosreport-prc-test-0-9613-2021-07-12-orwxufx.tar.xz
The checksum is: 5a8b97c6020346a688254c8b04ef86ec
For more available options for sosreport, read the man file:
sudo man sosreport

रिपोर्ट को .tar.xz फ़ाइल में सेव किया जाता है. यह फ़ाइल उस डायरेक्ट्री में सेव होती है जिसे आपने tmp-dir विकल्प का इस्तेमाल करके चुना है. .tar.xz file की जगह की जानकारी और चेकसम, STDOUT पर दिखाया जाता है. उदाहरण के लिए:

sosreport के लिए उपलब्ध अन्य विकल्पों के बारे में जानने के लिए, man फ़ाइल पढ़ें:

sudo man sosreport

Apigee के प्लग इन

यहां दिए गए सेक्शन में, इन कॉम्पोनेंट के लिए Sosreport टूल के Apigee प्लगिन के बारे में बताया गया है:

मैनेजमेंट सर्वर

apigee-mgmt प्लगिन, मैनेजमेंट सर्वर से यह जानकारी इकट्ठा करता है:

  • सर्वर होस्टनेम (डिफ़ॉल्ट)
  • cpuinfo (डिफ़ॉल्ट)
  • meminfo (डिफ़ॉल्ट)
  • जावा वर्चुअल मशीन (JVM) की सेटिंग, जैसे कि मेमोरी, Djdk.tls.allowUnsafeServerCertChange वगैरह (डिफ़ॉल्ट)
  • मौजूदा मैनेजमेंट लॉग (डिफ़ॉल्ट)
  • टॉप और जेस्टैक के दस क्रमवार आउटपुट (डिफ़ॉल्ट)
  • मैनेजमेंट के पूरे लॉग वाला फ़ोल्डर (ज़रूरी नहीं)
  • config-files (ज़रूरी नहीं)

उदाहरण:

सभी डिफ़ॉल्ट आइटम इकट्ठा करने के लिए, इनमें से कोई एक वैल्यू डालें:

  • Apigee के sosreport वर्शन का इस्तेमाल करके:
    sudo sosreport --config-file /opt/apigee/apigee-sosreport/conf/sos.conf  -o apigee-mgmt --batch my_report-dir
  • sosreport के SoS वर्शन का इस्तेमाल करना:
    sudo sosreport -o apigee-mgmt --batch my_report-dir

सभी डिफ़ॉल्ट आइटम और कमांड में बताए गए वैकल्पिक आइटम इकट्ठा करने के लिए, इनमें से कोई एक कमांड डालें. उदाहरण के लिए, कॉन्फ़िगरेशन फ़ाइलें और सभी लॉग:

  • Apigee के sosreport वर्शन का इस्तेमाल करके:
    sudo sosreport --config-file /opt/apigee/apigee-sosreport/conf/sos.conf  -o apigee-mgmt --batch -k apigee-mgmt.config-files -k apigee-mgmt.all-logs
  • sosreport के SoS वर्शन का इस्तेमाल करना:
    sudo sosreport -o apigee-mgmt --batch -k apigee-mgmt.config-files -k apigee-mgmt.all-logs

सभी आइटम इकट्ठा करने के लिए, इनमें से कोई एक विकल्प डालें:

  • Apigee के sosreport वर्शन का इस्तेमाल करके:
    sudo sosreport --config-file /opt/apigee/apigee-sosreport/conf/sos.conf  -o apigee-mgmt --batch -k apigee-mgmt.config-files -k apigee-mgmt.all-logs

    इसके अलावा, यह भी डाला जा सकता है:

    sudo sosreport --config-file /opt/apigee/apigee-sosreport/conf/sos.conf  -o apigee-mgmt --batch -a
  • sosreport के SoS वर्शन का इस्तेमाल करना:
    sudo sosreport -o apigee-mgmt --batch -k apigee-mgmt.config-files -k apigee-mgmt.all-logs

    इसके अलावा, यह भी डाला जा सकता है:

    sudo sosreport -o apigee-mgmt --batch -a

मैसेज प्रोसेसर

apigee-mp प्लगिन, मैनेजमेंट प्रोसेसर (एमपी) से यह जानकारी इकट्ठा करता है:

  • सर्वर होस्टनेम (डिफ़ॉल्ट)
  • cpuinfo (डिफ़ॉल्ट)
  • meminfo (डिफ़ॉल्ट)
  • buildinfo/release info (default)
  • apigee-all स्टेटस (डिफ़ॉल्ट)
  • सर्वर की जानकारी (डिफ़ॉल्ट)
  • जेवीएम लेवल की सेटिंग, जैसे कि मेमोरी, Djdk.tls.allowUnsafeServerCertChange वगैरह (डिफ़ॉल्ट)
  • मौजूदा एमपी लॉग (डिफ़ॉल्ट)
  • टॉप 10, जेस्टैक, और एनआईओ मेट्रिक का क्रमवार आउटपुट (डिफ़ॉल्ट)
  • पूरा एमपी लॉग फ़ोल्डर (ज़रूरी नहीं)
  • क्लासिफ़िकेशन ट्री (ज़रूरी नहीं)
  • हीप डंप (ज़रूरी नहीं)
  • config-files (ज़रूरी नहीं)
  • रनटाइम ट्रेस (ज़रूरी नहीं है और सिर्फ़ तब जब org:env:api:rev detail दिया गया हो). ध्यान दें: प्लगिन, रनटाइम अनुरोधों को इकट्ठा करने के लिए 25 सेकंड तक इंतज़ार करता है.

उदाहरण:

सभी डिफ़ॉल्ट आइटम इकट्ठा करने के लिए, इनमें से कोई एक वैल्यू डालें:

  • Apigee के sosreport वर्शन का इस्तेमाल करके:
    sudo sosreport --config-file /opt/apigee/apigee-sosreport/conf/sos.conf  -o apigee-mp --batch
  • sosreport के SoS वर्शन का इस्तेमाल करना:
    sudo sosreport -o apigee-mp --batch

सभी डिफ़ॉल्ट आइटम के अलावा, इकट्ठा करने के लिए अन्य वैकल्पिक आइटम भी तय किए जा सकते हैं. उदाहरण के लिए, हीप डंप के बारे में बताने के लिए, फ़्लैग -k apigee-mp.heap का इस्तेमाल करें. इसके लिए, इनमें से कोई एक विकल्प डालें:

  • Apigee के sosreport वर्शन का इस्तेमाल करके:
    sudo sosreport --config-file /opt/apigee/apigee-sosreport/conf/sos.conf  -o apigee-mp --batch -k apigee-mp.heap
  • sosreport के SoS वर्शन का इस्तेमाल करना:
    sudo sosreport -o apigee-mp --batch -k apigee-mp.heap

इसी तरह, यहां दिए गए वैकल्पिक आइटम भी जोड़े जा सकते हैं:

-k apigee-mp.deployments
-k apigee-mp.heap
-k apigee-mp.all-logs
-k apigee-mp.config-files
-k apigee-mp.trace=gsc-cps:test:httpbin:3

एक ही निर्देश में कई विकल्प दिए जा सकते हैं. उदाहरण के लिए:

  • Apigee के sosreport वर्शन का इस्तेमाल करके:
    sudo sosreport --config-file /opt/apigee/apigee-sosreport/conf/sos.conf  -o apigee-mp --batch -k apigee-mp.deployments -k apigee-mp.all-logs
  • sosreport के SoS वर्शन का इस्तेमाल करना:
    sudo sosreport -o apigee-mp --batch -k apigee-mp.deployments -k apigee-mp.all-logs

ट्रेस को छोड़कर बाकी सभी चीज़ें इकट्ठा करने के लिए, इनमें से कोई एक विकल्प डालें:

  • Apigee के sosreport वर्शन का इस्तेमाल करके:
    sudo sosreport --config-file /opt/apigee/apigee-sosreport/conf/sos.conf  -o apigee-mp --batch -a
  • sosreport के SoS वर्शन का इस्तेमाल करना:
    sudo sosreport -o apigee-mp --batch -a

राऊटर

apigee-rrt प्लगिन, राउटर से यह जानकारी इकट्ठा करता है:

  • सर्वर होस्टनेम (डिफ़ॉल्ट)
  • cpuinfo (डिफ़ॉल्ट)
  • meminfo (डिफ़ॉल्ट)
  • buildinfo/release info (default)
  • apigee-all स्टेटस (डिफ़ॉल्ट)
  • सर्वर की जानकारी (डिफ़ॉल्ट)
  • ps आउटपुट. इससे JVM लेवल की सेटिंग मिलेंगी. उदाहरण के लिए, मेमोरी, Djdk.tls.allowUnsafeServerCertChange वगैरह (डिफ़ॉल्ट).
  • राउटर के मौजूदा लॉग (डिफ़ॉल्ट)
  • वीहोस्ट फ़ाइलों के नामों की सूची. इसमें खराब फ़ाइलों के नाम भी शामिल हैं (डिफ़ॉल्ट)
  • पूरा राउटर लॉग फ़ोल्डर (ज़रूरी नहीं)
  • config-files (ज़रूरी नहीं)

उदाहरण:

सभी डिफ़ॉल्ट आइटम इकट्ठा करने के लिए, इनमें से कोई एक वैल्यू डालें:

  • Apigee के sosreport वर्शन का इस्तेमाल करके:
    sudo sosreport --config-file /opt/apigee/apigee-sosreport/conf/sos.conf  -o apigee-rrt --batch
  • sosreport के SoS वर्शन का इस्तेमाल करना:
    sudo sosreport -o apigee-rrt --batch

सभी डिफ़ॉल्ट आइटम के अलावा, इकट्ठा करने के लिए अन्य वैकल्पिक आइटम भी तय किए जा सकते हैं. उदाहरण के लिए, पूरे लॉग फ़ोल्डर को तय करने के लिए, फ़्लैग -k apigee-rrt.all-logs का इस्तेमाल करके इनमें से कोई एक विकल्प डालें:

  • Apigee के sosreport वर्शन का इस्तेमाल करके:
    sudo sosreport --config-file /opt/apigee/apigee-sosreport/conf/sos.conf  -o apigee-rrt --batch -k apigee-rrt.all-logs
  • sosreport के SoS वर्शन का इस्तेमाल करना:
    sudo sosreport -o apigee-rrt --batch -k apigee-rrt.all-logs

इसी तरह, यहां दिए गए वैकल्पिक आइटम भी जोड़े जा सकते हैं:

-k apigee-rrt.all-logs
-k apigee-rrt.config-files

सभी आइटम इकट्ठा करने के लिए:

  • Apigee के sosreport वर्शन का इस्तेमाल करके:
    sudo sosreport --config-file /opt/apigee/apigee-sosreport/conf/sos.conf  -o apigee-rrt --batch -a
  • sosreport के SoS वर्शन का इस्तेमाल करना:
    sudo sosreport -o apigee-rrt --batch -a

कैसेंड्रा

apigee-cassandra प्लगिन, Cassandra नोड से यह जानकारी इकट्ठा करता है:

  • मशीन के आंकड़े:
    "hostname -i"
    "cat /proc/cpuinfo"
    "cat /proc/meminfo"
    "ulimit -a"
    "ps auxw"
    "df -kh"
    "du -sh"
    "netstat -ntlpu"
    "free -h"
    "ifconfig -h"
    "ps -ef"
  • Apigee कॉम्पोनेंट का स्टेटस और वर्शन apigee-all का वर्शन और apigee-all का स्टेटस
  • apigee-cassandra लॉग: /opt/apigee/var/log/apigee-cassandra/ में मौजूद सभी फ़ाइलें
  • कमिट लॉग की संख्या
  • Top कमांड का आउटपुट
  • थ्रेड डंप
  • कॉन्फ़िगरेशन फ़ाइलें: cassandra-topology.properties, cassandra.yaml, cassandra-env.sh
  • नीचे दिए गए पैरामीटर के लिए Nodetool का आउटपुट: version, status, ring, info, gossipinfo, compactionstats -H, tpstats, netstats, cfstats, proxyhistograms

उदाहरण:

सभी डिफ़ॉल्ट आइटम इकट्ठा करने के लिए, इनमें से कोई एक वैल्यू डालें:

  • Apigee के sosreport वर्शन का इस्तेमाल करके:
    sudo sosreport --config-file /opt/apigee/apigee-sosreport/conf/sos.conf  -o apigee-cassandra
  • sosreport के SoS वर्शन का इस्तेमाल करना:
    sudo sosreport -o apigee-cassandra