แก้ปัญหาการผสานรวม

ปัญหาที่พบบ่อยและขั้นตอนการแก้ปัญหาสำหรับการผสานรวมตัวเชื่อมต่อฮับ API มีดังนี้

ข้อมูลเมตาของ API ไม่แสดงใน API Hub

  • เวลาซิงค์เริ่มต้น: การซิงค์เริ่มต้นอาจใช้เวลา 2-3 ชั่วโมงจึงจะเริ่ม และข้อมูล API จะปรากฏใน API Hub เราขอแนะนำให้รอ 2-3 ชั่วโมง
  • สถานะอินสแตนซ์ปลั๊กอิน: ตรวจสอบว่าอินสแตนซ์ปลั๊กอินใน API Hub ไม่ถูกลบหรือเปลี่ยนแปลง
  • รหัสเกตเวย์: ตรวจสอบว่าได้กำหนดค่ารหัสเกตเวย์ที่ถูกต้องในการตั้งค่าตัวเชื่อมต่อฮับ API ของ Apigee Edge สำหรับ Private Cloud อย่างถูกต้อง
  • ตรวจสอบบันทึก: ตรวจสอบว่ามีข้อผิดพลาดใดๆ ที่บันทึกไว้ในบันทึกบริการของเครื่องมือเชื่อมต่อฮับ API ของ Edge for Private Cloud /opt/apigee/var/log/edge-uapim-connector/edge-uapim-connector.log หรือไม่

พร็อกซีได้รับการติดตั้งใช้งานแล้ว แต่ข้อมูลใน API Hub ไม่ถูกต้อง

  • ความล่าช้าในการเผยแพร่: โปรดรอสักครู่เพื่อให้ข้อมูลพร็อกซีที่ใช้งานเผยแพร่และแสดงใน API Hub
  • ตรวจสอบบันทึก: ดูรายละเอียดเกี่ยวกับพร็อกซีที่อัปโหลดได้ในบันทึกของตัวเชื่อมต่อฮับ API ของ Edge for Private Cloud ซึ่งจะช่วยระบุว่าการอัปเดตพร็อกซีได้รับการประมวลผลเพื่อการซิงค์สำเร็จหรือไม่

องค์กรผู้ใช้หยุดซิงค์โดยไม่มีการเปลี่ยนแปลงใดๆ ในตัวเชื่อมต่อฮับ API

  • สถานะอินสแตนซ์ของปลั๊กอิน (ฝั่งฮับ API): ตรวจสอบว่าอินสแตนซ์ของปลั๊กอินที่เชื่อมโยงในฮับ API ถูกยกเลิกการจัดสรร ลบ หรือเปลี่ยนแปลงหรือไม่ การเปลี่ยนแปลงใดๆ ในฝั่งฮับ API อาจส่งผลต่อการซิงโครไนซ์จากตัวเชื่อมต่อฮับ API โดยตรง
  • ตรวจสอบบันทึก: ตรวจสอบบันทึกตัวเชื่อมต่อฮับ API ของ Edge for Private Cloud เพื่อหาข้อผิดพลาด คำเตือน หรือปัญหาที่อาจบ่งบอกถึงการหยุดชะงักในกระบวนการซิงค์ ซึ่งอาจรวมถึงปัญหาการเชื่อมต่อหรือปัญหาการตรวจสอบสิทธิ์กับฮับ API

API สถานะเป็นวิธีโดยตรงในการดูว่าองค์กรใดเลือกใช้และซิงค์ข้อมูลอย่างต่อเนื่อง

การแก้ปัญหาโดยอิงตามบันทึก

ระบบจัดเก็บบันทึกของตัวเชื่อมต่อฮับ API ไว้ที่ใด

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

ฉันจะดูข้อมูลเกี่ยวกับองค์กรที่เปิดใช้ได้อย่างไร

หากต้องการดูว่าองค์กรใดที่เปิดใช้และซิงค์อยู่ในขณะนี้ คุณสามารถใช้ประโยชน์จาก Status API และตรวจสอบบันทึกของระบบได้

  • การดำเนินการ: เรียกปลายทาง API สถานะ
  • ผลลัพธ์ที่คาดไว้: องค์กรที่เลือกใช้จะแสดงอยู่ในส่วน apiSyncStatus และ analyticsSyncStatus ภายในคำตอบของ API องค์กรที่เปิดใช้การซิงค์ข้อมูลเมตาจะปรากฏในส่วน 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 หรือเครื่องมือค้นหาบันทึกที่คล้ายกันเพื่อค้นหาบรรทัดบันทึกต่อไปนี้
      • สำหรับการซิงค์ข้อมูลเมตาขององค์กร:
        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
      • มองหาข้อความตั้งค่าการซิงค์ข้อมูลรันไทม์สำหรับองค์กร: ตามด้วยชื่อองค์กร

ฉันจะดูข้อมูลของ (org,env) ทั้งหมดที่เปิดใช้ไม่สำเร็จจากบันทึกได้อย่างไร

หากต้องการดูข้อมูลเกี่ยวกับองค์กรที่เปิดใช้ไม่สำเร็จ คุณสามารถตรวจสอบบันทึกของระบบเพื่อดูรายการข้อผิดพลาดที่เฉพาะเจาะจงได้

  • ตรวจสอบบันทึก: /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) และสถานะ
  • ฉันจะดูผลลัพธ์สำหรับพร็อกซีแต่ละรายการได้อย่างไร

    หากต้องการดูรายการบันทึกที่เกี่ยวข้องกับการรวบรวมและอัปโหลดข้อมูล Proto ของพร็อกซีแต่ละรายการ คุณสามารถค้นหาบรรทัดบันทึกที่เฉพาะเจาะจงได้

    • ตำแหน่งไฟล์บันทึก: /opt/apigee/var/log/edge-uapim-connector/edge-uapim-connector.log
    • คำสั่งค้นหา: ใช้ grep หรือเครื่องมือค้นหาบันทึกที่คล้ายกันเพื่อค้นหาบรรทัดบันทึกที่ระบุการอัปโหลดข้อมูล Proto ที่รวบรวมไว้สำหรับองค์กรและพร็อกซีที่เฉพาะเจาะจง
      • สถานการณ์ที่สำเร็จ: ระบบอัปโหลดพร็อกซีโปรโตไปยัง API Hub ในกรณีนี้ ให้ค้นหาข้อความ "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

    สาเหตุ: ไม่ได้เปิดใช้หรือกำหนดค่าการซิงค์รันไทม์ของตัวเชื่อมต่อ API Hub ไม่ถูกต้อง

    โปรดตรวจสอบสิ่งต่อไปนี้ใน /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