Apigee की आम समस्याएं

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

इन सेक्शन में, Apigee की आम समस्याओं के बारे में बताया गया है. ज़्यादातर मामलों में, बताई गई समस्याओं को आने वाली रिलीज़ में ठीक कर दिया जाएगा.

मिसलेनियस एज की ज्ञात समस्याएं

यहां दिए गए सेक्शन में, Edge की अलग-अलग तरह की समस्याओं के बारे में बताया गया है.

इलाका आम तौर पर होने वाली समस्याएं
कैश मेमोरी की समयसीमा खत्म होने की वजह से, cachehit की गलत वैल्यू मिलती है

lookupकैश नीति के बाद, cachehit फ़्लो वैरिएबल का इस्तेमाल किए जाने पर, एसिंक्रोनस व्यवहार के लिए डीबग पॉइंट जिस तरह से भेजे जाते हैं उसकी वजह से, कॉल बैक शुरू होने से पहले lookupPolicy, DebugInfo ऑब्जेक्ट को पॉप्युलेट करती है. इससे एक गड़बड़ी होती है.

समाधान: पहले कॉल के तुरंत बाद प्रक्रिया को फिर से दोहराएं (दूसरा कॉल करें).

अमान्यकेट कैश नीति PurgeChildEntries को 'सही है' पर सेट करने की सुविधा ठीक से काम नहीं करती

अमान्य कैश मेमोरी नीति में PurgeChildEntries को सेट करने से, सिर्फ़ KeyFragment एलिमेंट की वैल्यू पूरी तरह मिटनी चाहिए. हालांकि, इससे पूरी कैश मेमोरी मिट जाती है.

समाधान: कैश वर्शनिंग को दोहराने और कैश अमान्य होने की ज़रूरत को बायपास करने के लिए, KeyValueMapOperations की नीति का इस्तेमाल करें.

Edge यूज़र इंटरफ़ेस (यूआई) की पहले से मालूम समस्याएं

नीचे दिए गए सेक्शन में, Edge यूज़र इंटरफ़ेस (यूआई) की जानी-पहचानी समस्याओं के बारे में बताया गया है.

इलाका आम तौर पर होने वाली समस्याएं
संगठन को आइडेंटिटी ज़ोन से मैप करने के बाद, नेविगेशन बार से Edge एसएसओ (SSO) ज़ोन एडमिन पेज को ऐक्सेस नहीं कर पाना किसी संगठन को आइडेंटिटी ज़ोन से कनेक्ट करने पर, एडमिन > एसएसओ (SSO) को चुनकर, बाईं ओर मौजूद नेविगेशन बार से Edge एसएसओ (SSO) ज़ोन एडमिन पेज को ऐक्सेस नहीं किया जा सकता. समाधान के तौर पर, इस यूआरएल का इस्तेमाल करके सीधे पेज पर जाएं: https://apigee.com/sso

इंटिग्रेट किए गए पोर्टल की सामान्य समस्याएं

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

इलाका आम तौर पर होने वाली समस्याएं
SmartDocs
  • स्पेसिफ़िकेशन एडिटर की मदद से स्पेसिफ़िकेशन बनाने पर और अपने पोर्टल पर SmartDocs की मदद से एपीआई पब्लिश करने पर, Apigee Edge OpenAPI स्पेसिफ़िकेशन 3.0 के साथ काम करता है. हालांकि, कुछ सुविधाएं फ़िलहाल इस पर काम नहीं करती हैं.

    उदाहरण के लिए, OpenAPI स्पेसिफ़िकेशन 3.0 की ये सुविधाएं अभी काम नहीं करती हैं:

    • स्कीमा को मिलाने और बढ़ाने के लिए allOf प्रॉपर्टी
    • रिमोट रेफ़रंस

    अगर आपके OpenAPI स्पेसिफ़िकेशन में, काम न करने वाली किसी सुविधा के बारे में बताया गया है, तो कुछ मामलों में टूल, सुविधा को नज़रअंदाज़ कर देंगे, लेकिन एपीआई के रेफ़रंस दस्तावेज़ को रेंडर करेंगे. अन्य मामलों में, काम न करने वाली सुविधा की वजह से गड़बड़ियां हो सकती हैं. इससे एपीआई रेफ़रंस दस्तावेज़ को रेंडर होने में समस्या आ सकती है. दोनों ही मामलों में, आपको OpenAPI स्पेसिफ़िकेशन में बदलाव करना होगा, ताकि काम न करने वाली सुविधा का इस्तेमाल तब तक न किया जा सके, जब तक आने वाले वर्शन में इसे इस्तेमाल न किया जा सके.

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

  • पोर्टल में इस एपीआई को आज़माएं का इस्तेमाल करते समय, Accept हेडर application/json पर सेट होता है. इससे कोई फ़र्क़ नहीं पड़ता कि OpenAPI स्पेसिफ़िकेशन में, consumes के लिए वैल्यू कुछ भी सेट की गई है.
एसएएमएल आइडेंटिटी प्रोवाइडर कस्टम डोमेन के लिए, एसएएमएल के आइडेंटिटी प्रोवाइडर की मदद से एक बार लॉग आउट (एसएलओ) नहीं किया जा सकता. एसएएमएल आइडेंटिटी प्रोवाइडर की मदद से कस्टम डोमेन को चालू करने के लिए, एसएएमएल सेटिंग को कॉन्फ़िगर करते समय, साइन-आउट करने का यूआरएल फ़ील्ड को खाली छोड़ दें.
पोर्टल एडमिन
  • एक साथ कई लोगों को पोर्टल के अपडेट नहीं मिलेंगे. जैसे- पेज, थीम, सीएसएस या स्क्रिप्ट में बदलाव.
  • अगर पोर्टल से किसी एपीआई रेफ़रंस दस्तावेज़ वाले पेज को मिटाया जाता है, तो इसे फिर से बनाने का कोई तरीका नहीं होता. आपको एपीआई प्रॉडक्ट को मिटाकर, उसे फिर से जोड़ना होगा और एपीआई के रेफ़रंस दस्तावेज़ को फिर से जनरेट करना होगा.
  • कॉन्टेंट की सुरक्षा नीति को कॉन्फ़िगर करते समय, बदलावों को पूरी तरह से लागू होने में 15 मिनट लग सकते हैं.
  • पोर्टल थीम को पसंद के मुताबिक बनाते समय, बदलावों को पूरी तरह से लागू होने में पांच मिनट लग सकते हैं.
पोर्टल की सुविधाएं
  • आने वाले समय में, Search को इंटिग्रेट किए गए पोर्टल में इंटिग्रेट किया जाएगा.

प्राइवेट क्लाउड के लिए Edge से जुड़ी सामान्य समस्याएं

यहां दिए गए सेक्शन में, Edge for Private Cloud से जुड़ी समस्याओं के बारे में बताया गया है.

क्षेत्र पहले से मालूम समस्याएं
4.53.00 पर अपग्रेड करना

Edge for Private Cloud 4.53.00 के लिए, नए क्लस्टर सिर्फ़ नए सिरे से इंस्टॉल करने की प्रोसेस के ज़रिए सेट अप किए जा सकते हैं. इन-प्लेस अपग्रेड की सुविधा काम नहीं करती. अगर फ़िलहाल आपके पास Edge for Private Cloud का पुराना वर्शन है, तो सीधे Edge for Private Cloud 4.53.00 पर अपग्रेड नहीं किया जा सकता.

इन-प्लेस अपग्रेड की सुविधा काम नहीं करती. हालांकि, Private Cloud क्लस्टर के लिए 4.53.00 वर्शन का नया Edge सेट अप किया जा सकता है. साथ ही, अपने पुराने क्लस्टर से डेटा एक्सपोर्ट करने और उसे 4.53.00 वर्शन वाले नए क्लस्टर में इंपोर्ट करने के लिए, मैनेजमेंट एपीआई का इस्तेमाल किया जा सकता है.

4.53.00 एसएसओ और नए यूज़र इंटरफ़ेस (यूआई) का इंस्टॉलेशन

इस समस्या का असर उन उपयोगकर्ताओं पर पड़ता है जो Edge for Private Cloud 4.53.00 पर, एफ़आईपीएस की सुविधा वाले RHEL 8 पर एसएसओ या नया यूज़र इंटरफ़ेस इंस्टॉल करने की कोशिश कर रहे हैं.

इससे इन कॉम्पोनेंट पर असर पड़ा है: एसएसओ और नया यूज़र इंटरफ़ेस

समस्या: अगर एफ़आईपीएस की सुविधा वाले RHEL 8 ऑपरेटिंग सिस्टम पर एसएसओ या नया यूज़र इंटरफ़ेस इंस्टॉल किया जा रहा है, तो इंस्टॉलेशन पूरा नहीं हो पाता.

इस समस्या को हल करने का तरीका: हमारा सुझाव है कि आप क्लासिक यूज़र इंटरफ़ेस (यूआई) का इस्तेमाल करें. इसमें सभी सुविधाएं मौजूद हैं और यह यूआई की ज़रूरतों को पूरा करता है.

Edge for Private Cloud 4.52.01 Mint अपडेट

इस समस्या का असर सिर्फ़ उन लोगों पर पड़ता है जो MINT का इस्तेमाल कर रहे हैं या जिन्होंने निजी क्लाउड इंस्टॉलेशन के लिए Edge में MINT चालू किया है.

इस पर असर पड़ने वाला कॉम्पोनेंट: edge-message-processor

समस्या: अगर आपने कमाई करने की सुविधा चालू की है और 4.52.01 को नए सिरे से इंस्टॉल किया जा रहा है या Private Cloud के पिछले वर्शन से अपग्रेड किया जा रहा है, तो आपको मैसेज प्रोसेसर से जुड़ी समस्या का सामना करना पड़ेगा. ओपन थ्रेड की संख्या धीरे-धीरे बढ़ेगी. इससे संसाधन खत्म हो जाएंगे. edge-message-processor system.log में यह अपवाद दिखता है:

Error injecting constructor, java.lang.OutOfMemoryError: unable to create new native thread
Apigee के एचटीटीपी/2 वर्शन में मौजूद जोखिम

हाल ही में, एचटीटीपी/2 प्रोटोकॉल (CVE-2023-44487) के कई लागू होने की वजह से, सेवा के अस्वीकार होने (डीओएस) की एक समस्या का पता चला है. इसमें, निजी क्लाउड के लिए Apigee Edge भी शामिल है. इस जोखिम की वजह से, Apigee API मैनेजमेंट की सुविधा को डीओएस (डिनायल ऑफ़ सर्विस) किया जा सकता है. ज़्यादा जानकारी के लिए, Apigee Security Bulletin GCP-2023-032 देखें.

Edge for Private Cloud के राऊटर और मैनेजमेंट सर्वर कॉम्पोनेंट, इंटरनेट से जुड़े होते हैं और इनमें संभावित तौर पर जोखिम हो सकता है. हालांकि, प्राइवेट क्लाउड के लिए Edge के खास कॉम्पोनेंट के मैनेजमेंट पोर्ट पर एचटीटीपी/2 चालू होता है, लेकिन इनमें से कोई भी कॉम्पोनेंट इंटरनेट के संपर्क में नहीं आता है. Cassandra, Zookeeper वगैरह जैसे नॉन-एज कॉम्पोनेंट पर, HTTP/2 चालू नहीं होता. हमारा सुझाव है कि आप Edge for Private Cloud की इस समस्या को ठीक करने के लिए, ये काम करें:

अगर Edge Private Cloud के 4.51.00.11 या इसके बाद के वर्शन का इस्तेमाल किया जा रहा है, तो यह तरीका अपनाएं:

  1. मैनेजमेंट सर्वर को अपडेट करना:

    1. हर मैनेजमेंट सर्वर नोड पर, /opt/apigee/customer/application/management-server.properties खोलें
    2. प्रॉपर्टी फ़ाइल में यह लाइन जोड़ें:
      conf_webserver_http2.enabled=false
    3. मैनेजमेंट सर्वर कॉम्पोनेंट को रीस्टार्ट करें:
      apigee-service edge-management-server restart
  2. मैसेज प्रोसेसर को अपडेट करना:

    1. हर मैसेज प्रोसेसर नोड पर, /opt/apigee/customer/application/message-processor.properties खोलें
    2. प्रॉपर्टी फ़ाइल में यह लाइन जोड़ें:
      conf_webserver_http2.enabled=false
    3. मैसेज प्रोसेस करने वाले कॉम्पोनेंट को रीस्टार्ट करें:
      apigee-service edge-message-processor restart
  3. राउटर को अपडेट करना:

    1. हर राऊटर नोड पर, /opt/apigee/customer/application/router.properties खोलें
    2. प्रॉपर्टी फ़ाइल में यह लाइन जोड़ें:
      conf_webserver_http2.enabled=false
    3. मैसेज प्रोसेसर कॉम्पोनेंट को रीस्टार्ट करें:
      apigee-service edge-router restart
  4. क्यूपीआईडी अपडेट करें:

    1. हर QPID नोड पर, /opt/apigee/customer/application/qpid-server.properties खोलें
    2. प्रॉपर्टी फ़ाइल में यह लाइन जोड़ें:
      conf_webserver_http2.enabled=false
    3. मैसेज प्रोसेसर कॉम्पोनेंट को रीस्टार्ट करें:
      apigee-service edge-qpid-server restart
  5. पोस्टग्रेज़ अपडेट करें:

    1. हर Postgres नोड पर, /opt/apigee/customer/application/postgres-server.properties खोलें
    2. प्रॉपर्टी फ़ाइल में यह लाइन जोड़ें:
      conf_webserver_http2.enabled=false
    3. मैसेज प्रोसेस करने वाले कॉम्पोनेंट को रीस्टार्ट करें:
      apigee-service edge-postgres-server restart

अगर 4.51.00.11 से पुराने प्राइवेट क्लाउड वर्शन के लिए Edge इस्तेमाल किया जा रहा है, तो यह तरीका अपनाएं:

  1. मैनेजमेंट सर्वर को अपडेट करना:

    1. हर मैनेजमेंट सर्वर नोड पर, /opt/apigee/customer/application/management-server.properties खोलें
    2. प्रॉपर्टी फ़ाइल में ये दो लाइनें जोड़ें:
      conf_webserver_http2.enabled=false
      conf/webserver.properties+http2.enabled=false
    3. मैनेजमेंट सर्वर कॉम्पोनेंट को रीस्टार्ट करें:
      apigee-service edge-management-server restart
  2. मैसेज प्रोसेसर को अपडेट करना:

    1. हर मैसेज प्रोसेसर नोड पर, /opt/apigee/customer/application/message-processor.properties खोलें
    2. प्रॉपर्टी फ़ाइल में ये दो लाइनें जोड़ें:
      conf_webserver_http2.enabled=false
      conf/webserver.properties+http2.enabled=false
    3. मैसेज प्रोसेस करने वाले कॉम्पोनेंट को रीस्टार्ट करें:
      apigee-service edge-message-processor restart
  3. राउटर को अपडेट करना:

    1. हर राऊटर नोड पर, /opt/apigee/customer/application/router.properties खोलें
    2. प्रॉपर्टी फ़ाइल में ये दो लाइनें जोड़ें:
      conf_webserver_http2.enabled=false
      conf/webserver.properties+http2.enabled=false
    3. मैसेज प्रोसेस करने वाले कॉम्पोनेंट को रीस्टार्ट करें:
      apigee-service edge-router restart
  4. क्यूपीआईडी अपडेट करें:

    1. हर QPID नोड पर, /opt/apigee/customer/application/qpid-server.properties खोलें
    2. प्रॉपर्टी फ़ाइल में ये दो लाइनें जोड़ें:
      conf_webserver_http2.enabled=false
      conf/webserver.properties+http2.enabled=false
    3. मैसेज प्रोसेस करने वाले कॉम्पोनेंट को रीस्टार्ट करें:
      apigee-service edge-qpid-server restart
  5. पोस्टग्रेज़ अपडेट करें:

    1. हर Postgres नोड पर, /opt/apigee/customer/application/postgres-server.properties खोलें
    2. प्रॉपर्टी फ़ाइल में ये दो लाइनें जोड़ें:
      conf_webserver_http2.enabled=false
      conf/webserver.properties+http2.enabled=false
    3. मैसेज प्रोसेसर कॉम्पोनेंट को रीस्टार्ट करें:
      apigee-service edge-postgres-server restart
4.52 वर्शन पर अपडेट करते समय Postgresql अपग्रेड करना

Apigee-postgresql को Edge for Private Cloud के वर्शन 4.50 या 4.51 से 4.52 पर अपग्रेड करने में समस्याएं आ रही हैं. समस्याएं मुख्य रूप से तब होती हैं, जब टेबल की संख्या 500 से ज़्यादा होती है.

Postgres में टेबल की कुल संख्या देखने के लिए, नीचे दी गई एसक्यूएल क्वेरी चलाएं:

select count(*) from information_schema.tables

इस समस्या को हल करने का तरीका: Apigee Edge 4.50.00 या 4.51.00 को 4.52.00 पर अपडेट करते समय, Apigee-postgresql को अपग्रेड करने से पहले, शुरुआती चरण ज़रूर पूरा करें.

RHEL 8.0 पर apigee-mirror

apigee-mirror, Red Hat Enterprise Linux (RHEL) 8.0 पर काम नहीं करता.

इस समस्या को हल करने का तरीका: इस समस्या को हल करने के लिए, RHEL के किसी पुराने वर्शन या Apigee के लिए काम करने वाले किसी अन्य ऑपरेटिंग सिस्टम पर apigee-mirror इंस्टॉल करें. इसके बाद, RHEL 8.0 सर्वर पर Apigee इंस्टॉल करने के बावजूद, पैकेज जोड़ने के लिए मिरर का इस्तेमाल किया जा सकता है.

LDAP नीति

149245401: LDAP रिसॉर्स के ज़रिए कॉन्फ़िगर किए गए JNDI के लिए, LDAP कनेक्शन पूल की सेटिंग नहीं दिखती हैं. साथ ही, JNDI के डिफ़ॉल्ट तौर पर सेट होने की वजह से, हर बार एक बार इस्तेमाल होने वाले कनेक्शन बनते हैं. इस वजह से, हर बार एक बार इस्तेमाल करने के लिए कनेक्शंस खोले और बंद किए जा रहे हैं. इससे हर घंटे LDAP सर्वर से बड़ी संख्या में कनेक्शंस बन रहे हैं.

इस समस्या को हल करने का तरीका:

LDAP कनेक्शन पूल प्रॉपर्टी बदलने के लिए, सभी LDAP नीतियों में ग्लोबल बदलाव सेट करने के लिए, यह तरीका अपनाएं.

  1. अगर कॉन्फ़िगरेशन प्रॉपर्टी फ़ाइल पहले से मौजूद नहीं है, तो उसे बनाएं:
    /opt/apigee/customer/application/message-processor.properties
  2. फ़ाइल में यह जानकारी जोड़ें (LDAP रिसॉर्स कॉन्फ़िगरेशन की ज़रूरत के आधार पर, Java Naming and Directory Interface (JNDI) प्रॉपर्टी की वैल्यू बदलें).
    bin_setenv_ext_jvm_opts="-Dcom.sun.jndi.ldap.connect.pool.maxsize=20
    -Dcom.sun.jndi.ldap.connect.pool.prefsize=2
    -Dcom.sun.jndi.ldap.connect.pool.initsize=2
    -Dcom.sun.jndi.ldap.connect.pool.timeout=120000
    -Dcom.sun.jndi.ldap.connect.pool.protocol=ssl"
  3. पक्का करें कि फ़ाइल /opt/apigee/customer/application/message-processor.properties का मालिक apigee:apigee हो.
  4. हर मैसेज प्रोसेसर को रीस्टार्ट करें.

यह पुष्टि करने के लिए कि आपके कनेक्शन पूल की JNDI प्रॉपर्टी काम कर रही हैं या नहीं, समय के साथ LDAP कनेक्शन पूल के व्यवहार को देखने के लिए, आपके पास एक tcpdump करने का विकल्प है.

ज़्यादा अनुरोध प्रोसेस होने में लगने वाला समय

139051927: मैसेज प्रोसेसर में मिलने वाली, प्रॉक्सी प्रोसेसिंग के इंतज़ार के समय का ज़्यादा से ज़्यादा समय, सभी एपीआई प्रॉक्सी पर असर डाल रहा है. इसके लक्षणों में, एपीआई के सामान्य रिस्पॉन्स समय के मुकाबले, प्रोसेसिंग में 200 से 300 मिलीसेकंड की देरी शामिल है. यह कम टीपीएस के साथ भी कभी भी हो सकता है. ऐसा तब हो सकता है, जब मैसेज प्रोसेसर 50 से ज़्यादा टारगेट सर्वर से कनेक्ट करता हो.

मूल वजह: मैसेज प्रोसेसर एक कैश मेमोरी सेव रखते हैं. यह कैश मेमोरी, टारगेट सर्वर के यूआरएल को HTTPClient ऑब्जेक्ट से मैप करती है. ऐसा, टारगेट सर्वर से आउटगोइंग कनेक्शन के लिए किया जाता है. डिफ़ॉल्ट रूप से, यह सेटिंग 50 पर सेट होती है. यह ज़्यादातर डिप्लॉयमेंट के लिए बहुत कम हो सकती है. जब किसी सेटअप में कई संगठन/एनवायरमेंट के कॉम्बिनेशन होते हैं और बहुत बड़ी संख्या में ऐसे टारगेट सर्वर होते हैं जिनकी कुल संख्या 50 से ज़्यादा होती है, तो टारगेट सर्वर के यूआरएल कैश मेमोरी से हटते रहते हैं. इस वजह से, इंतज़ार के समय में देरी होती है.

पुष्टि करना: यह पता लगाने के लिए कि टारगेट सर्वर यूआरएल को हटाने की वजह से, इंतज़ार का समय बढ़ रहा है या नहीं, मैसेज प्रोसेसर के system.logs में "onEvict" या "Eviction" कीवर्ड खोजें. लॉग में इनकी मौजूदगी से यह पता चलता है कि टारगेट सर्वर के यूआरएल HTTPClient की कैश मेमोरी से हटाए जा रहे हैं, क्योंकि कैश मेमोरी का साइज़ बहुत छोटा है.

इस समस्या को हल करने का तरीका: Edge for Private Cloud के 19.01 और 19.06 वर्शन के लिए, HTTPClient कैश मेमोरी में बदलाव किया जा सकता है और उसे कॉन्फ़िगर किया जा सकता है, /opt/apigee/customer/application/message-processor.properties:

conf/http.properties+HTTPClient.dynamic.cache.elements.size=500

इसके बाद, मैसेज प्रोसेसर को रीस्टार्ट करें. सभी मैसेज प्रोसेसर के लिए एक जैसे बदलाव करें.

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

ध्यान दें: Private Cloud के वर्शन 50.00 की डिफ़ॉल्ट सेटिंग 500 होती है.

की-वैल्यू मैप के लिए एक से ज़्यादा एंट्री

157933959: संगठन या एनवायरमेंट लेवल के दायरे में आने वाले एक ही की वैल्यू मैप (KVM) में एक साथ डेटा डालने और अपडेट करने की वजह से, डेटा में अंतर होता है और अपडेट नहीं होते.

ध्यान दें: यह पाबंदी सिर्फ़ Edge for Private Cloud पर लागू होती है. Public Cloud और हाइब्रिड के लिए Edge पर यह पाबंदी नहीं है.

Edge for Private Cloud में समस्या को हल करने के लिए, apiproxy स्कोप में KVM बनाएं.