इंटिग्रेशन से जुड़ी समस्या हल करना

यहां एपीआई हब कनेक्टर इंटिग्रेशन से जुड़ी कुछ सामान्य समस्याएं और उन्हें हल करने के तरीके दिए गए हैं.

एपीआई हब में एपीआई मेटाडेटा नहीं दिखता

  • पहली बार सिंक होने में लगने वाला समय: पहली बार सिंक होने में कुछ घंटे लग सकते हैं. साथ ही, एपीआई हब में एपीआई डेटा दिखने में भी कुछ घंटे लग सकते हैं. हमारा सुझाव है कि आप कुछ घंटों तक इंतज़ार करें.
  • प्लगिन इंस्टेंस का स्टेटस: पुष्टि करें कि API हब में मौजूद प्लगिन इंस्टेंस को मिटाया या बदला नहीं गया है.
  • गेटवे आईडी: पक्का करें कि Private Cloud API हब कनेक्टर की सेटिंग के लिए, Apigee Edge में सही गेटवे आईडी को सही तरीके से कॉन्फ़िगर किया गया हो.
  • लॉग देखें: देखें कि Edge for Private Cloud API हब कनेक्टर सेवा के लॉग /opt/apigee/var/log/edge-uapim-connector/edge-uapim-connector.log में कोई गड़बड़ी तो नहीं हुई है.

प्रॉक्सी डिप्लॉय की गई है, लेकिन एपीआई हब में दी गई जानकारी सटीक नहीं है

  • प्रॉपगेशन में लगने वाला समय: डिप्लॉय की गई प्रॉक्सी की जानकारी को फैलने और API हब में दिखने में कुछ मिनट लग सकते हैं.
  • लॉग देखें: अपलोड की गई प्रॉक्सी के बारे में ज़्यादा जानने के लिए, Edge for Private Cloud API हब कनेक्टर के लॉग देखें. इससे यह पता लगाने में मदद मिलती है कि सिंक करने के लिए, प्रॉक्सी अपडेट को प्रोसेस किया गया है या नहीं.

एपीआई हब कनेक्टर में कोई बदलाव किए बिना, उपयोगकर्ता के संगठन ने सिंक करना बंद कर दिया

  • प्लगिन इंस्टेंस का स्टेटस (एपीआई हब के हिसाब से): पुष्टि करें कि एपीआई हब में मौजूद, इससे जुड़ा प्लगिन इंस्टेंस बंद कर दिया गया है, मिटा दिया गया है या उसमें बदलाव किया गया है. एपीआई हब में किए गए किसी भी बदलाव का असर, एपीआई हब कनेक्टर से सिंक करने पर सीधे तौर पर पड़ सकता है.
  • लॉग देखें: Edge for Private Cloud API हब कनेक्टर के लॉग की समीक्षा करें. देखें कि उनमें कोई गड़बड़ी, चेतावनी या समस्या तो नहीं है. इनसे पता चल सकता है कि सिंक करने की प्रोसेस में कोई रुकावट आई है. इसमें कनेक्टिविटी की समस्याएं या एपीआई हब से पुष्टि करने में आने वाली समस्याएं शामिल हो सकती हैं.

Status API की मदद से, यह सीधे तौर पर देखा जा सकता है कि किन संगठनों ने ऑप्ट-इन किया है और वे डेटा को लगातार सिंक कर रहे हैं.

लॉग के आधार पर समस्या हल करना

एपीआई हब कनेक्टर के लॉग कहां सेव किए जाते हैं?

/opt/apigee/var/log/edge-uapim-connector/edge-uapim-connector.log

मुझे उन संगठनों के बारे में जानकारी कैसे मिलेगी जिनके लिए यह सुविधा चालू है?

यह पता लगाने के लिए कि फ़िलहाल कौनसे संगठन (ओआरजी) चालू हैं और सिंक किए जा रहे हैं, स्टेटस एपीआई का इस्तेमाल किया जा सकता है. साथ ही, सिस्टम लॉग की जांच की जा सकती है.

  • कार्रवाई: स्टेटस एपीआई एंडपॉइंट को कॉल करें.
  • अनुमानित आउटपुट: जिन संगठनों ने ऑप्ट-इन किया है वे एपीआई के जवाब में, apiSyncStatus और analyticsSyncStatus सेक्शन में दिखेंगे. मेटाडेटा सिंक करने की सुविधा चालू करने वाले संगठन, apiSyncStatus में दिखेंगे. वहीं, रनटाइम सिंक करने की सुविधा चालू करने वाले संगठन, analyticsSyncStatus में दिखेंगे.
    {
     "apiSyncStatus": [
       {
         "organization": "foo",
         "phase": "Preparing", // ColdTransfer => Preparing
         "components": [
           "proxy": {
             "lastUpdated": "2025-04-16T00:56:45Z",
             "progress": {
               "totalItems": 100, // total proxies known to uapim connector
               "pendingItems": 90,  // pending proxies to upload
               "completedItems": 6, // completed proxies to upload
               "failedItems": 4 // proxies failed to upload
             }
           },
           "environment": { //environment upload status
             "lastUpdated": "2025-04-16T00:56:45Z",
             "progress": {
               "totalItems": 5, // total number of environments
               "pendingItems": 1, // pending environments to process
               "completedItems": 3, // completed environment processing
               "failedItems": 1 // failed environment processing
             }
           }]
       },
       {
         "organization": "bar",
         "phase": "Processing", // "Streaming" -> "Processing"
         "components": [
           "proxy": {
             "lastUpdated": "2025-04-16T00:56:45Z",
             "progress": {
               "totalItems": 110, // total proxies known to uapim connector
               "pendingItems": 16, // pending proxies to upload
               "completedItems": 3, // completed proxies to upload
               "failedItems": 1 // proxies failed to upload
             }
           },
           "environment": {
             "lastUpdated": "2025-04-16T00:56:45Z",
             "progress": {
               "totalItems": 5, // total number of environments
               "pendingItems": 3, // pending environments to process
               "completedItems": 1, // completed environment processing
               "failedItems": 1 // failed environment processing
             }
           }]
       },
       {
         "organization": "test",
         "phase": "Queued", // "Yet to start" -> "Queued"
         "lastUpdated": "2025-04-16T00:56:45Z"
       }
     ],
     "analyticsSyncStatus": [
       {
         "organization": "test",
         "environment": "dev",
         "failedItems": 2,
         "lastUpdated": "2025-04-16T00:56:45Z"
       },
       {
         "organization": "test",
         "environment": "prod",
         "failedItems": 4,
         "lastUpdated": "2025-04-16T00:56:45Z"
       }
     ]
    }
    
  • सिस्टम लॉग की जांच करना: अलग-अलग संगठनों के लिए सिंक्रनाइज़ेशन के सेटअप की पुष्टि करने और ज़्यादा जानकारी पाने के लिए, कुछ खास एंट्री के सिस्टम लॉग की जांच की जा सकती है.
    • लॉग देखें:
      /opt/apigee/var/log/edge-uapim-connector/edge-uapim-connector.log
    • खोज के लिए इस्तेमाल होने वाले निर्देश: इन लॉग लाइनों को ढूंढने के लिए, grep या लॉग खोजने के लिए इस्तेमाल होने वाले इसी तरह के टूल का इस्तेमाल करें:
      • org मेटाडेटा-org के मेटाडेटा को सिंक करने के लिए:
        grep "Setup metadata sync for organization: metadata-org"  /opt/apigee/var/log/edge-uapim-connector/edge-uapim-connector.log
      • लॉग स्निपेट का उदाहरण:
        2025-07-10 08:47:09,901  main INFO  c.a.u.c.UAPIMConnectorServiceImpl - UAPIMConnectorServiceImpl.setupMetadataSync() : Setup metadata sync for organization: metadata-org
      • संगठन के लिए मेटाडेटा सिंक करने की सुविधा सेटअप करें: टेक्स्ट के बाद संगठन का नाम देखें.
      • संगठन के रनटाइम-संगठन के रनटाइम डेटा को सिंक करने के लिए:
        grep "Setup runtime data sync for organization: runtime-org" /opt/apigee/var/log/edge-uapim-connector/edge-uapim-connector.log
      • लॉग स्निपेट का उदाहरण:
        2025-07-10 08:47:09,902  main INFO  c.a.u.c.UAPIMConnectorServiceImpl - UAPIMConnectorServiceImpl.setupRuntimeSyncData() : Setup runtime data sync for organization: runtime-org
      • संगठन के लिए रंटाइम डेटा सिंक करने की सुविधा सेट अप करें: टेक्स्ट ढूंढें. इसके बाद, संगठन का नाम देखें.

मुझे उन सभी (संगठन,एनवायरमेंट) की जानकारी कैसे मिलेगी जिनके लिए लॉग चालू नहीं किए जा सके?

जिन संगठनों के लिए यह सुविधा चालू नहीं की जा सकी उनके बारे में जानकारी पाने के लिए, गड़बड़ी की खास एंट्री के सिस्टम लॉग देखें.

  • लॉग देखना: /opt/apigee/var/log/edge-uapim-connector/edge-uapim-connector.log
  • खोज के लिए कमांड: मेटाडेटा सिंक की स्थिति को अपडेट करने के दौरान हुई गड़बड़ी का पता लगाने के लिए, grep या लॉग खोजने वाले इसी तरह के टूल का इस्तेमाल करें.
    • संगठन/एनवायरमेंट failed-org/failed-env के लिए, मेटाडेटा सिंक करने की स्थिति के अपडेट नहीं मिले:
      grep "Error while updating metadata sync status for org: failed-org" /opt/apigee/var/log/edge-uapim-connector/edge-uapim-connector.log
    • लॉग स्निपेट का उदाहरण:
      2025-07-15 10:30:15,123 main ERROR c.a.u.c.UAPIMConnectorServiceImpl - UAPIMConnectorServiceImpl.updateMetadataSyncStatus() : Error while updating metadata sync status for org: failed-org
    • Error while updating metadata sync status for org/env: टेक्स्ट के बाद, संगठन और एनवायरमेंट (उदाहरण के लिए, failed-org/failed-env) ढूंढें.

मैं लॉग से, संगठन के ट्रांसफ़र की स्थिति में हुए बदलाव की खास जानकारी कैसे पाऊं?

किसी संगठन या एनवायरमेंट के सिंक्रनाइज़ेशन ट्रांसफ़र की स्थिति कब अपडेट की गई, इसकी खास जानकारी पाने के लिए, सिस्टम लॉग की जांच करें.

  • लॉग देखना: /opt/apigee/var/log/edge-uapim-connector/edge-uapim-connector.log
  • खोज के लिए इस्तेमाल होने वाले कमांड किसी संगठन और एनवायरमेंट के लिए, ट्रांसफ़र के स्टेटस में हुए अपडेट की जानकारी देने वाली लॉग लाइनें ढूंढने के लिए, grep या इसी तरह के लॉग खोजने वाले टूल का इस्तेमाल करें.
    • ट्रांसफ़र के स्टेटस अपडेट के लिए:
      grep "Transfer status is updated for org" /opt/apigee/var/log/edge-uapim-connector/edge-uapim-connector.log
    • लॉग स्निपेट का उदाहरण:
      2025-07-15 18:35:01,789 main INFO c.a.u.c.UAPIMConnectorServiceImpl - UAPIMConnectorServiceImpl.updateTransferStatus() : Transfer status is updated for org: org1 to BULK_TRANSFER
      2025-07-10 08:47:11,364  main INFO  c.a.u.m.UAPIMMetadataServiceImpl - UAPIMMetadataServiceImpl.updateEnvironmentStatus() : Transfer status is updated for org: org1 to STREAMING
    • "org/env के लिए ट्रांसफ़र का स्टेटस अपडेट कर दिया गया है" टेक्स्ट ढूंढें. इसके बाद, संगठन और एनवायरमेंट (जैसे, org1/prod) और स्थिति देखें.
  • मैं अलग-अलग प्रॉक्सी के लिए नतीजे कैसे देखूं?

    अलग-अलग प्रॉक्सी के प्रोटो डेटा को इकट्ठा करने और अपलोड करने से जुड़ी लॉग एंट्री देखने के लिए, खास लॉग लाइनें खोजी जा सकती हैं.

    • लॉग फ़ाइल की जगह: /opt/apigee/var/log/edge-uapim-connector/edge-uapim-connector.log
    • खोज के लिए इस्तेमाल होने वाली कमांड: किसी संगठन और प्रॉक्सी के लिए, इकट्ठा किए गए प्रोटो डेटा को अपलोड करने वाली लॉग लाइन ढूंढने के लिए, grep या लॉग खोजने वाले इसी तरह के टूल का इस्तेमाल करें.
      • सफल होने की स्थिति: प्रॉक्सी प्रोटो को API हब पर अपलोड किया जाता है. इस मामले में, “uploaded collect proto for org: {}, proxy: {},” टेक्स्ट खोजें grep "uploaded collect proto for org: your-org-name, proxy: your-proxy-name, with messageId:" /opt/apigee/var/log/edge-uapim-connector/edge-uapim-connector.log
      • अपने -org-name को संगठन के असल नाम से बदलें. साथ ही, your-proxy-name को उस प्रॉक्सी के असल नाम से बदलें जिसमें आपकी दिलचस्पी है. लॉग स्निपेट का उदाहरण:
        2025-07-10 08:47:11,362 main DEBUG c.a.u.m.UAPIMMetadataServiceImpl - UAPIMMetadataServiceImpl.generateCollectProto() : uploaded collect proto for org: org1, proxy: proxy1, with messageId: message_ids: "15569268426032329"

        "uploaded collect proto for org: " टेक्स्ट खोजें. इसके बाद, संगठन का नाम खोजें. फिर, ", proxy: " टेक्स्ट खोजें. इसके बाद, प्रॉक्सी का नाम खोजें.

      • समस्या होने पर: अगर प्रॉक्सी प्रोटो को API Hub में अपलोड नहीं किया जा सका, तो “Failed to publish collect proto for org: {}, proxy: {}," टेक्स्ट खोजें grep "Failed to publish collect proto for org: your-org-name, proxy: your-proxy-name, " /opt/apigee/var/log/edge-uapim-connector/edge-uapim-connector.log

        your-org-name को संगठन के असली नाम से बदलें. साथ ही, your-proxy-name को उस प्रॉक्सी के असली नाम से बदलें जिसमें आपकी दिलचस्पी है.

        लॉग स्निपेट का उदाहरण:
        2025-07-10 08:47:11,362 main DEBUG c.a.u.m.UAPIMMetadataServiceImpl - UAPIMMetadataServiceImpl.generateCollectProto() : Failed to publish collect proto for org: org1, proxy: proxy1

        "failed to publish collect proto for org: " टेक्स्ट ढूंढें. इसके बाद, संगठन का नाम और फिर ", proxy: " टेक्स्ट ढूंढें. इसके बाद, प्रॉक्सी का नाम ढूंढें.

    रनटाइम/ऐनलिटिक्स

    रिकॉर्ड को NFS पर पब्लिश नहीं किया जा सका

    वजह: NFS का इस्तेमाल 75% से ज़्यादा है.

    पुष्टि करने के लिए: grep "Diskspace usage is at more than 75% of the allocated MaxDiskSpace at" /opt/apigee/var/log/edge-message-processor/logs/system.log

    वजह: एपीआई हब कनेक्टर के रनटाइम सिंक की सुविधा चालू नहीं है या गलत तरीके से कॉन्फ़िगर की गई है

    /opt/apigee/customer/application/message-processor.properties: में जाकर, यहां दी गई जानकारी देखें conf_message-processor-communication_uapim.enabled.environments=

    पक्का करें कि सही संगठन और एनवायरमेंट की जानकारी दी गई हो.

    conf_message-processor-communication_uapim.runtime.data.path=

    पक्का करें कि यह सही NFS पाथ पर ले जाता हो.

    यह कैसे पता लगाएं कि डेटा को NFS पर पब्लिश किया गया है या नहीं

    रिकॉर्ड, किसी खास NFS पाथ में सेव किए जाते हैं. उदाहरण के लिए, “/the/nfs/staging”.

    नई फ़ाइलों के लिए, इस डायरेक्ट्री के कॉन्टेंट को सीधे तौर पर देखा जा सकता है. फ़ाइलों के मौजूद होने से पता चलता है कि NFS पर पब्लिश करने की प्रोसेस पूरी हो गई है.

    डेटा फ़ाइल को प्रोसेस किए बिना मिटा दिया गया

    वजह: फ़ाइल के नाम में संगठन/एनवायरमेंट की मान्य जानकारी मौजूद नहीं थी.

    जांच करने के लिए लॉग: grep "Skipped and Deleted file" /opt/apigee/var/log/edge-uapim-connector/edge-uapim-connector.log

    संगठन के कॉन्फ़िगरेशन के मौजूद न होने की वजह से फ़ाइल मिटा दी गई

    वजह: संगठन के हिसाब से कॉन्फ़िगरेशन नहीं मिला.

    जांच करने के लिए लॉग: grep "Deleted file .* due to missing org config" /opt/apigee/var/log/edge-uapim-connector/edge-uapim-connector.log

    अमान्य एनवायरमेंट की वजह से फ़ाइल मिटाई गई

    वजह: फ़ाइल के नाम से पार्स किया गया एनवायरमेंट, संगठन के कॉन्फ़िगरेशन में मौजूद नहीं है.

    जांच करने के लिए लॉग: grep "Deleted file .* due to invalid env" /opt/apigee/var/log/edge-uapim-connector/edge-uapim-connector.log

    Pub/Sub में फ़ाइल अपलोड नहीं की जा सकी

    वजह: पब्लिशर नहीं बनाया जा सका. उदाहरण के लिए, सेवा खाता या विषय गलत तरीके से कॉन्फ़िगर किया गया है.

    जांच करने के लिए लॉग: grep "Failed to create publisher for org" /opt/apigee/var/log/edge-uapim-connector/edge-uapim-connector.log

    कुछ रिकॉर्ड अपलोड नहीं हुए

    वजह: फ़ाइल में मौजूद कुछ रिकॉर्ड पब्लिश नहीं किए जा सके.

    जांच करने के लिए लॉग: grep "was not completely published" /opt/apigee/var/log/edge-uapim-connector/edge-uapim-connector.log

    फ़ाइल पूरी तरह से प्रोसेस हो गई है और उसे मिटा दिया गया है

    जांच करने के लिए लॉग: grep "File .* completely published to topic" /opt/apigee/var/log/edge-uapim-connector/edge-uapim-connector.log