การเปิดใช้บันทึกการแก้ไขข้อบกพร่อง NGINX ในเราเตอร์

คุณกำลังดูเอกสารประกอบของ Apigee Edge
ไปที่ เอกสารประกอบของ Apigee X
info

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

เอกสารนี้จะอธิบายวิธีเปิดใช้บันทึกการแก้ไขข้อบกพร่องในเราเตอร์ของ Apigee Edge สำหรับคำขอในโฮสต์เสมือนที่เฉพาะเจาะจง คุณเปิดใช้การบันทึกการแก้ไขข้อบกพร่องเพื่อบันทึกข้อมูลเพิ่มเติมได้เมื่อเกิดปัญหา เช่น คำขอมีรูปแบบไม่ถูกต้อง ข้อผิดพลาด "400 คำขอไม่ถูกต้อง - ข้อผิดพลาดของใบรับรอง SSL" ในNorthbound (ระหว่างแอปพลิเคชันไคลเอ็นต์กับเราเตอร์)

ก่อนเริ่มต้น

  • หากคุณไม่คุ้นเคยกับบันทึกข้อผิดพลาดและระดับการบันทึกของ NGINX โปรดดูที่ เอกสารประกอบเกี่ยวกับบันทึกข้อผิดพลาดของ NGINX
  • รวบรวมชื่อองค์กร ชื่อสภาพแวดล้อม และชื่อโฮสต์เสมือนของคำขอ API ที่คุณต้องการรวบรวมข้อมูลการแก้ไขข้อบกพร่อง

การเปิดใช้บันทึกการแก้ไขข้อบกพร่องของ NGINX ในเราเตอร์

ส่วนนี้จะอธิบายวิธีเปิดใช้บันทึกการแก้ไขข้อบกพร่องในเราเตอร์ของ Edge

การระบุไฟล์การกำหนดค่าโฮสต์เสมือนที่เกี่ยวข้อง

ขั้นตอนต่อไปนี้จะอธิบายวิธีค้นหาไฟล์การกำหนดค่าโฮสต์เสมือนที่เกี่ยวข้องในเราเตอร์

  1. หากทราบชื่อองค์กร ชื่อสภาพแวดล้อม และโฮสต์เสมือนสำหรับคำขอ API ที่เฉพาะเจาะจงซึ่งคุณต้องการแก้ไขข้อบกพร่อง ให้กำหนดไฟล์ conf ของโฮสต์เสมือนดังนี้
    1. ไปที่ไดเรกทอรี /opt/nginx/conf.d/
    2. ค้นหาไฟล์ ORG_NAME_ENV_NAME_VIRTUALHOST.conf ในไดเรกทอรี conf.d โดยใช้คำสั่งต่อไปนี้
      ls -ltrh | grep "ORG_NAME_ENV_NAME_VIRTUALHOST_NAME"
  2. หากไม่ทราบชื่อองค์กร คุณสามารถระบุไฟล์การกำหนดค่าโฮสต์เสมือน ได้โดยใช้ชื่อแทนโฮสต์ที่ใช้ในคำขอ API ดังนี้

    ไปที่ไดเรกทอรี /opt/nginx/conf.d/ แล้วค้นหา hostalias ที่ใช้ส่งคำขอโดยใช้คำสั่งต่อไปนี้

    ls -ltrh | grep -r 'HOST_ALIAS_NAME'

    เอาต์พุตตัวอย่าง:

    สมมติว่าชื่อแทนโฮสต์คือ opdk.cert-test.com เมื่อเรียกใช้คำสั่ง ls -ltrh คุณจะเห็นเอาต์พุตดังที่แสดงด้านล่าง

การเปิดใช้การบันทึกการแก้ไขข้อบกพร่องสำหรับโฮสต์เสมือนที่เฉพาะเจาะจงในเราเตอร์

ขั้นตอนต่อไปนี้จะอธิบายวิธีเปิดใช้บันทึกการแก้ไขข้อบกพร่องในเราเตอร์ของ Apigee สำหรับโฮสต์เสมือนที่เฉพาะเจาะจง

  1. เปิดไฟล์ต่อไปนี้ในเครื่องเราเตอร์ในเครื่องมือแก้ไข: /opt/nginx/conf.d/ORG_NAME_ENV_NAME_VIRTUALHOST_NAME.conf. เช่น
    vi /opt/nginx/conf.d/ORG_NAME_ENV_NAME_VIRTUALHOST_NAME.conf
  2. เปลี่ยนบรรทัดต่อไปนี้
    error_log /opt/apigee/var/log/edge-router/nginx/ORG_NAME~ENV_NAME.PORT_error_log error;

    เป็น

    error_log /opt/apigee/var/log/edge-router/nginx/ORG_NAME~ENV_NAME.PORT_error_log info;
  3. บันทึกการเปลี่ยนแปลง
  4. เรียกใช้คำสั่งโหลดซ้ำของ NGINX เช่น
    sudo /opt/nginx/scripts/apigee-nginx reload
  5. ตอนนี้ไฟล์ต่อไปนี้จะบันทึกการแก้ไขข้อบกพร่อง
    /opt/apigee/var/log/edge-router/nginx/ORG_NAME~ENV_NAME.PORT_error_log
  6. หากต้องการบันทึกการแก้ไขข้อบกพร่องในเราเตอร์มากกว่า 1 รายการ ให้ทำตามขั้นตอนเหล่านี้ซ้ำในเราเตอร์แต่ละรายการของ

การยืนยันว่าระบบได้บันทึกข้อมูลการแก้ไขข้อบกพร่องในไฟล์บันทึกข้อผิดพลาดของ NGINX แล้ว

  1. เมื่อไคลเอ็นต์ส่งคำขอ API ในชื่อแทนโฮสต์และพอร์ตที่เชื่อมโยงกับการกำหนดค่าโฮสต์เสมือน ระบบจะบันทึกการแก้ไขข้อบกพร่องในไฟล์ต่อไปนี้

    /opt/apigee/var/log/edge-router/nginx/ORG_NAME~ENV_NAME.PORT_error_log

  2. ตรวจสอบว่าคุณเห็นข้อมูลการแก้ไขข้อบกพร่องสำหรับคำขอ API ดังที่แสดงในตัวอย่างต่อไปนี้

    ข้อมูลการแก้ไขข้อบกพร่องตัวอย่าง:

    2021/01/27 02:48:40 [warn] 27624#27624: *3777 a client request body is buffered to a temporary file /opt/apigee/var/log/edge-router/nginx/client_temp/0000000001, client: XX.XX.XX.XX, server: XX.XX.XX.XX, request: "POST /post-no-target HTTP/1.1", host: "XX.XX.XX.XX:443"

    ระบบจะบันทึกข้อมูลที่แสดงด้านบนเมื่อไคลเอ็นต์ส่งคำขอ POST ที่มี เพย์โหลดขนาดใหญ่ บันทึกนี้จะแสดงเมื่อเปิดใช้การบันทึกการแก้ไขข้อบกพร่องเท่านั้น

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

การปิดใช้บันทึกการแก้ไขข้อบกพร่องสำหรับโฮสต์เสมือนที่เฉพาะเจาะจงในเราเตอร์

ส่วนนี้จะอธิบายวิธีปิดใช้บันทึกการแก้ไขข้อบกพร่องในเราเตอร์สำหรับโฮสต์เสมือนที่เฉพาะเจาะจง

  1. เปิดไฟล์ต่อไปนี้ในเครื่องเราเตอร์ในเครื่องมือแก้ไข: /opt/nginx/conf.d/ORG_NAME_ENV_NAME_VIRTUALHOST_NAME.conf เช่น
    vi /opt/nginx/conf.d/ORG_NAME_ENV_NAME_VIRTUALHOST_NAME.conf
  2. เปลี่ยนบรรทัดต่อไปนี้

    error_log /opt/apigee/var/log/edge-router/nginx/ORG_NAME~ENV_NAME.PORT_error_log info;

    เป็น

    error_log /opt/apigee/var/log/edge-router/nginx/ORG_NAME~ENV_NAME.PORT_error_log error;
  3. บันทึกการเปลี่ยนแปลง
  4. เรียกใช้คำสั่งโหลดซ้ำของ NGINX เช่น
    /opt/nginx/scripts/apigee-nginx reload
  5. ตอนนี้ไฟล์ต่อไปนี้จะบันทึกเฉพาะบันทึกข้อผิดพลาด
    /opt/apigee/var/log/edge-router/nginx/ORG_NAME~ENV_NAME.PORT_error_log
  6. หากต้องการหยุดบันทึกการแก้ไขข้อบกพร่องในเราเตอร์มากกว่า 1 รายการ ให้ทำตามขั้นตอนเหล่านี้ซ้ำในเราเตอร์แต่ละรายการ

การยืนยันว่าระบบได้บันทึกเฉพาะข้อมูลข้อผิดพลาดในไฟล์บันทึกข้อผิดพลาดของ NGINX แล้ว

  1. ส่งคำขอ API บางรายการในชื่อแทนโฮสต์และพอร์ตที่เชื่อมโยงกับการกำหนดค่าโฮสต์เสมือนที่เฉพาะเจาะจง หรือรอให้ไคลเอ็นต์ส่งคำขอ
  2. ตรวจสอบไฟล์ต่อไปนี้: /opt/apigee/var/log/edge-router/nginx/ORG_NAME~ENV_NAME.PORT_error_log
  3. ตรวจสอบว่าคุณเห็นเฉพาะข้อมูลข้อผิดพลาดและระบบไม่ได้บันทึกข้อมูลการแก้ไขข้อบกพร่องสำหรับคำขออีกต่อไป
  4. หากยังเห็นว่าระบบบันทึกข้อมูลการแก้ไขข้อบกพร่องเพิ่มเติม ให้ตรวจสอบว่าคุณได้ ทำตามขั้นตอนทั้งหมดที่ระบุไว้ใน หัวข้อการปิดใช้บันทึกการแก้ไขข้อบกพร่องสำหรับโฮสต์เสมือนที่เฉพาะเจาะจงในเราเตอร์อย่างถูกต้อง หากข้ามขั้นตอนใดไป ให้ทำตามขั้นตอนทั้งหมดอีกครั้งอย่างถูกต้อง
  5. หากยังไม่ได้รับข้อมูลการแก้ไขข้อบกพร่อง โปรดติดต่อ ทีมสนับสนุนของ Apigee Edge