ইন্টিগ্রেশন সংক্রান্ত সমস্যার সমাধান করা

API হাব কানেক্টর ইন্টিগ্রেশন সংক্রান্ত কিছু সাধারণ সমস্যা ও তার সমাধান করার ধাপ এখানে দেওয়া হল।

API মেটাডেটা API হাবে দেখা যায় না

  • প্রাথমিক সিঙ্ক করার সময়: প্রাথমিক সিঙ্ক করার প্রসেস শুরু হতে এবং API Hub-এ API ডেটা দেখাতে কয়েক ঘণ্টা সময় লাগতে পারে। কয়েক ঘণ্টা অপেক্ষা করার জন্য সাজেস্ট করা হয়।
  • প্ল্যাগ-ইন ইনস্ট্যান্সের স্ট্যাটাস: API হাবে প্ল্যাগ-ইন ইনস্ট্যান্স মুছে দেওয়া বা পরিবর্তন করা হয়নি তা যাচাই করুন।
  • গেটওয়ে আইডি: আপনার প্রাইভেট ক্লাউড API হাব কানেক্টর সেটিংসে Apigee Edge-এ সঠিক গেটওয়ে আইডি সঠিকভাবে কনফিগার করা হয়েছে কিনা তা নিশ্চিত করুন।
  • লগ চেক করুন: Edge for Private Cloud API হাব কানেক্টর পরিষেবা লগে /opt/apigee/var/log/edge-uapim-connector/edge-uapim-connector.log কোনও সমস্যা লগ করা আছে কিনা তা চেক করুন।

প্রক্সি ডেপ্লয় করা হয়েছে, কিন্তু API হাবে তথ্য সঠিক নেই

  • প্রোপাগেশন বিলম্ব: ডিপ্লয় করা প্রক্সি তথ্য প্রোপাগেট করতে এবং API হাবে প্রতিফলিত হতে কয়েক মিনিট সময় দিন।
  • লগ চেক করুন: আপলোড করা প্রক্সি সম্পর্কে বিস্তারিত জানতে Edge for Private Cloud API হাব কানেক্টর লগ পর্যালোচনা করুন। সিঙ্ক্রোনাইজেশনের জন্য প্রক্সি আপডেট সফলভাবে প্রসেস করা হয়েছে কিনা তা শনাক্ত করতে এটি সাহায্য করতে পারে।

API হাব কানেক্টরে কোনও পরিবর্তন না করেই ব্যবহারকারীর সংস্থার সিঙ্ক করা বন্ধ হয়ে গেছে

  • প্লাগ-ইন ইনস্ট্যান্সের স্ট্যাটাস (API হাবের দিক থেকে): API হাবের সাথে যুক্ত প্লাগ-ইন ইনস্ট্যান্স ডিপ্রভিশন, মুছে ফেলা বা পরিবর্তন করা হয়েছে কিনা তা যাচাই করুন। API হাবের দিকে কোনও পরিবর্তন করা হলে, API হাব কানেক্টর থেকে সিঙ্ক্রোনাইজেশনের উপর সরাসরি প্রভাব পড়তে পারে।
  • লগ চেক করুন: সিঙ্ক্রোনাইজেশন প্রসেসে কোনও বাধা পড়েছে কিনা তা বুঝতে, Edge for Private Cloud API হাব কানেক্টর লগে কোনও সমস্যা, সতর্কতা বা ইস্যু আছে কিনা তা পর্যালোচনা করুন। এর মধ্যে API হাবের সাথে কানেক্টিভিটি সংক্রান্ত সমস্যা বা যাচাইকরণ সংক্রান্ত সমস্যা অন্তর্ভুক্ত থাকতে পারে।

কোন কোন সংস্থা অপ্ট-ইন করেছে এবং অ্যাক্টিভভাবে সিঙ্ক করছে তা দেখার জন্য স্ট্যাটাস API একটি সরাসরি উপায় প্রদান করে।

লগ ভিত্তিক সমস্যার সমাধান

API হাব কানেক্টর লগ কোথায় সেভ করা হয়?

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

কোন কোন সংস্থা চালু আছে সেই বিষয়ে আমি কীভাবে তথ্য পাব?

কোন কোন সংস্থা (অর্গ) বর্তমানে চালু আছে এবং সিঙ্ক করা হচ্ছে তা নির্ধারণ করতে, আপনি স্ট্যাটাস API ব্যবহার করতে এবং সিস্টেম লগ পরিদর্শন করতে পারেন।

  • অ্যাকশন: স্ট্যাটাস API এন্ডপয়েন্ট কল করুন।
  • প্রত্যাশিত আউটপুট: API উত্তরের মধ্যে 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
      • সংস্থার জন্য মেটাডেটা সিঙ্ক করার সুবিধা সেট-আপ করুন: টেক্সটটি খুঁজুন, এর পরে সংস্থার নাম লেখা থাকবে।
      • org রানটাইম-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
      • সংস্থার জন্য রানটাইম ডেটা সিঙ্ক করার সুবিধা সেট-আপ করুন: টেক্সটটি খুঁজুন, এর পরে সংস্থার নাম লেখা থাকবে।

লগ থেকে চালু করা যায়নি এমন সব (org,env) সম্পর্কে আমি কীভাবে তথ্য পাব?

যেসব সংস্থা চালু করা যায়নি সেই সম্পর্কে তথ্য পেতে, আপনি নির্দিষ্ট সমস্যার এন্ট্রির জন্য সিস্টেম লগ পরীক্ষা করতে পারেন।

  • লগ চেক করুন: /opt/apigee/var/log/edge-uapim-connector/edge-uapim-connector.log
  • সার্চ কমান্ড: মেটাডেটা সিঙ্ক স্ট্যাটাস আপডেট করার সময় কোনও সমস্যা হয়েছে কিনা তা নির্দেশ করে এমন লগ লাইন খুঁজে পেতে grep বা এই ধরনের লগ সার্চিং টুল ব্যবহার করুন।
    • org/env 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-এর জায়গায় প্রকৃত সংস্থার নাম এবং আপনার-প্রক্সি-নামের জায়গায় প্রকৃত প্রক্সি নাম লিখুন। লগ স্নিপেটের উদাহরণ:
        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 টেক্সটটি সার্চ করুন

        আপনার-সংস্থার-নামের জায়গায় সংস্থার আসল নাম এবং আপনার-প্রক্সি-নামের জায়গায় আসল প্রক্সি নাম লিখুন।

        লগ স্নিপেটের উদাহরণ:
        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: " তারপরে প্রক্সি নাম।

    রানটাইম/Analytics

    NFS-এ রেকর্ড প্রকাশ করা যায়নি

    কারণ: NFS ব্যবহার ৭৫%-এর বেশি।

    যাচাই করতে: grep "Diskspace usage is at more than 75% of the allocated MaxDiskSpace at" /opt/apigee/var/log/edge-message-processor/logs/system.log

    কারণ: API হাব কানেক্টর রানটাইম সিঙ্ক চালু করা নেই বা ভুল কনফিগার করা হয়েছে

    /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