Sosreport टूल

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

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

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

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

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

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

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

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

इंस्टॉल करना

इस सेक्शन में, sosreport को इंस्टॉल करने का तरीका बताया गया है.

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

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

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 gatehring 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→

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

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 वगैरह (डिफ़ॉल्ट)
  • मौजूदा मैनेजमेंट लॉग (डिफ़ॉल्ट)
  • सबसे ऊपर के दस और jstacks का क्रम से आउटपुट (डिफ़ॉल्ट)
  • मैनेजमेंट के पूरे लॉग वाला फ़ोल्डर (ज़रूरी नहीं)
  • 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 (डिफ़ॉल्ट)
  • apigee-all स्टेटस (डिफ़ॉल्ट)
  • सर्वर की जानकारी (डिफ़ॉल्ट)
  • जेवीएम लेवल की सेटिंग, जैसे कि मेमोरी, Djdk.tls.allowUnsafeServerCertChange वगैरह (डिफ़ॉल्ट)
  • मौजूदा एमपी लॉग (डिफ़ॉल्ट)
  • टॉप, jstacks, और NIO मेट्रिक के आउटपुट के 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 (डिफ़ॉल्ट)
  • 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

Cassandra

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