Bật nhật ký gỡ lỗi NGINX trên Bộ định tuyến

Bạn đang xem tài liệu về Apigee Edge.
Chuyển đến tài liệu về Apigee X.
thông tin

Trên Apigee, Bộ định tuyến được định cấu hình để chỉ ghi lại thông báo lỗi trong tệp nhật ký lỗi theo mặc định. Tuy nhiên, trong nhiều trường hợp, có thể bạn cần thu thập thêm thông tin để xác định nguyên nhân gây ra một lỗi cụ thể. Một trong những cách để thực hiện việc này là định cấu hình Bộ định tuyến hoạt động ở chế độ gỡ lỗi để bạn có thể nhận được nhật ký gỡ lỗi. Nhật ký này có thể giúp bạn biết thêm thông tin về lỗi và khắc phục lỗi nhanh hơn.

Tài liệu này giải thích cách bật tính năng nhật ký gỡ lỗi trên Bộ định tuyến của Apigee Edge cho các yêu cầu trên một máy chủ ảo cụ thể. Bạn có thể bật tính năng ghi nhật ký gỡ lỗi để thu thập thêm thông tin khi có bất kỳ vấn đề nào như yêu cầu không đúng định dạng, Yêu cầu không hợp lệ 400 – Lỗi chứng chỉ SSL, trên hướng Bắc (giữa ứng dụng và Bộ định tuyến).

Trước khi bắt đầu

  • Nếu bạn chưa hiểu rõ về nhật ký lỗi NGINX và các cấp độ ghi nhật ký, vui lòng tham khảo tài liệu về nhật ký lỗi NGINX.
  • Thu thập tên tổ chức, môi trường và máy chủ ảo của các yêu cầu API mà bạn cần để thu thập thông tin gỡ lỗi.

Bật nhật ký gỡ lỗi NGINX trên Bộ định tuyến

Phần này giải thích cách bật nhật ký gỡ lỗi trên Bộ định tuyến Edge.

Xác định tệp cấu hình máy chủ ảo có liên quan

Các bước sau đây mô tả cách xác định tệp cấu hình máy chủ ảo liên quan trên Bộ định tuyến:

  1. Nếu bạn biết tên tổ chức, tên môi trường và máy chủ ảo cho yêu cầu API cụ thể mà bạn muốn gỡ lỗi, hãy xác định tệp cấu hình máy chủ ảo như sau:
    1. Chuyển đến thư mục /opt/nginx/conf.d/.
    2. Tìm tệp ORG_NAME_ENV_NAME_VIRTUALHOST.conf trong thư mục conf.d bằng lệnh sau:
      ls -ltrh | grep "ORG_NAME_ENV_NAME_VIRTUALHOST_NAME"
      
  2. Nếu không biết tên tổ chức, bạn có thể xác định tệp cấu hình máy chủ ảo bằng cách sử dụng tên đại diện của máy chủ lưu trữ được dùng trong yêu cầu API như sau:

    Chuyển đến thư mục /opt/nginx/conf.d/ và tìm hostalias đã thực hiện yêu cầu bằng lệnh sau:

    ls -ltrh | grep -r 'HOST_ALIAS_NAME'
    

    Ví dụ về mã được tạo:

    Giả sử tên đại diện của máy chủ là opdk.cert-test.com. Khi chạy lệnh ls -ltrh, bạn sẽ thấy kết quả như sau:

Bật tính năng ghi nhật ký gỡ lỗi cho một máy chủ ảo cụ thể trên Bộ định tuyến

Các bước sau đây mô tả cách bật nhật ký gỡ lỗi trên Bộ định tuyến Apigee cho một máy chủ ảo cụ thể.

  1. Mở tệp sau trên máy Bộ định tuyến trong trình chỉnh sửa: /opt/nginx/conf.d/ORG_NAME_ENV_NAME_VIRTUALHOST_NAME.conf. Ví dụ:
    vi /opt/nginx/conf.d/ORG_NAME_ENV_NAME_VIRTUALHOST_NAME.conf
    
  2. Thay đổi dòng sau:
    error_log /opt/apigee/var/log/edge-router/nginx/ORG_NAME~ENV_NAME.PORT_error_log error;
    

    tới

    error_log /opt/apigee/var/log/edge-router/nginx/ORG_NAME~ENV_NAME.PORT_error_log info;
    
  3. Lưu các thay đổi.
  4. Chạy lệnh tải lại NGINX. Ví dụ:
    sudo /opt/nginx/scripts/apigee-nginx reload
    
  5. Bây giờ, tệp sau sẽ ghi lại nhật ký gỡ lỗi:
    /opt/apigee/var/log/edge-router/nginx/ORG_NAME~ENV_NAME.PORT_error_log
    
  6. Nếu bạn muốn ghi nhật ký gỡ lỗi trên nhiều Bộ định tuyến, hãy lặp lại các bước này trên từng Bộ định tuyến.

Hoạt động xác minh thông tin gỡ lỗi được ghi trong tệp nhật ký lỗi NGINX

  1. Sau khi ứng dụng thực hiện Yêu cầu API trên bí danh máy chủ và cổng được liên kết với cấu hình máy chủ ảo, nhật ký gỡ lỗi sẽ được ghi lại trong tệp sau:

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

  2. Xác minh rằng bạn đang thấy thông tin gỡ lỗi cho các yêu cầu API như trong ví dụ sau:

    Mẫu thông tin gỡ lỗi:

    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"
    

    Thông tin hiển thị ở trên sẽ được thu thập khi ứng dụng gửi một yêu cầu POST có tải trọng lớn. Nhật ký này sẽ chỉ hiển thị khi bạn bật tính năng ghi nhật ký gỡ lỗi.

  3. Nếu bạn không thấy thông tin gỡ lỗi bổ sung, hãy xác minh rằng bạn đã thực hiện đúng tất cả các bước nêu trong bài viết Bật tính năng ghi nhật ký gỡ lỗi cho một máy chủ ảo cụ thể trên Bộ định tuyến. Nếu bạn đã bỏ lỡ bất kỳ bước nào, hãy lặp lại tất cả các bước cho đúng cách.
  4. Nếu bạn vẫn không thể nhận được thông tin gỡ lỗi, vui lòng liên hệ với Bộ phận hỗ trợ Apigee.

Tắt nhật ký gỡ lỗi cho một máy chủ ảo cụ thể trên Bộ định tuyến

Phần này giải thích cách tắt nhật ký gỡ lỗi trên Bộ định tuyến cho một máy chủ ảo cụ thể.

  1. Mở tệp sau trên máy Bộ định tuyến trong trình chỉnh sửa: /opt/nginx/conf.d/ORG_NAME_ENV_NAME_VIRTUALHOST_NAME.conf Ví dụ:
    vi /opt/nginx/conf.d/ORG_NAME_ENV_NAME_VIRTUALHOST_NAME.conf
    
  2. Thay đổi dòng sau:

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

    tới

    error_log /opt/apigee/var/log/edge-router/nginx/ORG_NAME~ENV_NAME.PORT_error_log error;
    
  3. Lưu các thay đổi.
  4. Chạy lệnh tải lại NGINX. Ví dụ:
    /opt/nginx/scripts/apigee-nginx reload
    
  5. Tệp sau đây hiện chỉ ghi lại nhật ký lỗi:
    /opt/apigee/var/log/edge-router/nginx/ORG_NAME~ENV_NAME.PORT_error_log
    
  6. Nếu bạn muốn dừng nhật ký gỡ lỗi trên nhiều Bộ định tuyến, hãy lặp lại các bước này trên từng Bộ định tuyến.

Chỉ xác minh thông tin lỗi được ghi trong tệp nhật ký lỗi NGINX

  1. Thực hiện một số yêu cầu API trên cổng và bí danh của máy chủ được liên kết với cấu hình máy chủ ảo cụ thể hoặc chờ các ứng dụng gửi yêu cầu.
  2. Hãy kiểm tra tệp sau: /opt/apigee/var/log/edge-router/nginx/ORG_NAME~ENV_NAME.PORT_error_log
  3. Xác minh rằng bạn chỉ thấy thông tin lỗi và thông tin gỡ lỗi không còn được ghi lại cho các yêu cầu.
  4. Nếu bạn vẫn thấy thông tin gỡ lỗi bổ sung đang được ghi nhật ký, hãy xác minh rằng bạn đã làm theo đúng tất cả các bước nêu trong bài viết Tắt nhật ký gỡ lỗi cho một máy chủ ảo cụ thể trên Bộ định tuyến. Nếu bạn đã bỏ lỡ bất kỳ bước nào, hãy lặp lại tất cả các bước cho đúng cách.
  5. Nếu bạn vẫn không thể nhận được thông tin gỡ lỗi, vui lòng liên hệ với Nhóm hỗ trợ Apigee.