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

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

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

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

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

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

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

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

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

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

  1. หากคุณทราบชื่อองค์กร ชื่อสภาพแวดล้อม และโฮสต์เสมือนสำหรับคำขอ API เฉพาะที่ต้องการแก้ไขข้อบกพร่อง ให้ระบุไฟล์โฮสต์เสมือนดังนี้
    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. ไฟล์ต่อไปนี้จะเก็บเฉพาะบันทึก error เท่านั้น
    /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