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 for Private Cloud से जुड़ी समस्याएं

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

क्षेत्र पहले से मालूम समस्याएं
4.53.00 एज-राउटर की सुविधाएं

एज-राउटर नोड पर मौजूद apigee-nginx, पोर्ट को बाइंड करने या nginx प्रोसेस को खत्म करने से जुड़ी समस्याओं की रिपोर्ट कर सकता है.

जिस कॉम्पोनेंट पर असर पड़ा है: एज-राउटर

समस्या: ये समस्याएं, apigee-nginx को इंस्टॉल करते समय सुविधाओं को सेट करने में हुई गड़बड़ियों की वजह से हो सकती हैं.

इस समस्या को हल करने का तरीका: नीचे दिए गए निर्देश को लागू करके, सुविधाओं को मैन्युअल तरीके से सेट किया जा सकता है:

setcap CAP_NET_BIND_SERVICE=+ep CAP_KILL=+ep /opt/nginx/sbin/nginx
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 for Private Cloud के अन्य Edge-specific कॉम्पोनेंट के मैनेजमेंट पोर्ट पर एचटीटीपी/2 चालू है, लेकिन उनमें से कोई भी कॉम्पोनेंट इंटरनेट से कनेक्ट नहीं होता. Cassandra, Zookeeper वगैरह जैसे नॉन-एज कॉम्पोनेंट पर, एचटीटीपी/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. QPID अपडेट करें:

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

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

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

  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. QPID अपडेट करें:

    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. Postgres को अपडेट करना:

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

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

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

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

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

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