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 các tệp nhật ký lỗi bằng cách mặc định. Tuy nhiên, trong nhiều trường hợp, bạn có thể cần thu thập thêm thông tin để xác định nguyên nhân xảy ra 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 nhật ký gỡ lỗi, nhờ đó nắm được thêm thông tin về lỗi và giải quyết lỗi đó nhanh hơn.
Tài liệu này giải thích cách bật 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áy chủ ảo cụ thể. 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ó các vấn đề như yêu cầu không đúng định dạng, 400 Yêu cầu không hợp lệ – Lỗi chứng chỉ SSL, trên Hướng về phía Bắc (giữa Ứng dụng khách và Bộ định tuyến).
Trước khi bắt đầu
- Nếu bạn chưa quen với 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 có liên quan trên Bộ định tuyến:
- Nếu bạn biết tên tổ chức, tên môi trường và máy chủ ảo của API cụ thể
mà bạn muốn gỡ lỗi, sau đó
xác định tệp conf máy chủ ảo như sau:
- Chuyển đến thư mục
/opt/nginx/conf.d/
. - Tìm tệp ORG_NAME_ENV_NAME_VIRTUALHOST
.conf
trong thư mụcconf.d
bằng lệnh sau:ls -ltrh | grep "ORG_NAME_ENV_NAME_VIRTUALHOST_NAME"
- Chuyển đến thư mục
-
Nếu không biết tên tổ chức, bạn có thể xác định cấu hình máy chủ ảo bằng cách sử dụng tên bí danh máy chủ lưu trữ dùng trong yêu cầu API như sau:
Chuyển đến thư mục
/opt/nginx/conf.d/
và tìm kiếmhostalias
mà yêu cầu được thực hiện bằng lệnh sau:ls -ltrh | grep -r 'HOST_ALIAS_NAME'
Kết quả mẫu:
Giả sử tên đại diện của máy chủ lưu trữ là
opdk.cert-test.com
. Khi bạn chạyls -ltrh
, thì 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.
- Mở tệp sau đây 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
- 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;
- Lưu các thay đổi.
- Chạy lệnh tải lại NGINX. Ví dụ:
sudo /opt/nginx/scripts/apigee-nginx reload
- Bây giờ, tệp sau đây sẽ ghi nhật ký gỡ lỗi:
/opt/apigee/var/log/edge-router/nginx/ORG_NAME~ENV_NAME.PORT_error_log
- 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 mỗi Bộ định tuyến Bộ định tuyến.
Việc xác minh thông tin gỡ lỗi được ghi lại trong tệp nhật ký lỗi NGINX
-
Sau khi ứng dụng gửi Yêu cầu API trên bí danh máy chủ và cổng được liên kết với máy chủ ảo cấu hình, nhật ký gỡ lỗi sẽ được ghi lại vào tệp sau:
/opt/apigee/var/log/edge-router/nginx/ORG_NAME~ENV_NAME.PORT_error_log
-
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:
Thông tin gỡ lỗi mẫu:
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 ở trên sẽ được thu thập khi ứng dụng gửi yêu cầu
POST
bằng 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. - 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 đã làm theo tất cả các bước được nêu trong 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 một cách chính xác. Nếu bạn có đã bỏ lỡ bất kỳ bước nào, hãy lặp lại tất cả các bước một cách chính xác.
- Nếu bạn vẫn không thể nhận thông tin gỡ lỗi, vui lòng liên hệ với Bộ phận hỗ trợ Apigee Edge.
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 tại Bộ định tuyến cho một máy chủ ảo cụ thể.
- Mở tệp sau đây 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
-
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;
- Lưu các thay đổi.
- Chạy lệnh tải lại NGINX. Ví dụ:
/opt/nginx/scripts/apigee-nginx reload
- 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
- 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 mỗi Bộ định tuyến.
Việc chỉ xác minh thông tin lỗi được ghi lại trong tệp nhật ký lỗi NGINX
- Thực hiện một số yêu cầu API trên email đại diện của máy chủ và cổng được liên kết với máy chủ ảo cụ thể hoặc chờ máy khách đưa ra yêu cầu.
- Kiểm tra tệp sau:
/opt/apigee/var/log/edge-router/nginx/ORG_NAME~ENV_NAME.PORT_error_log
- 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 xuất hiện nữa ghi lại các yêu cầu.
- Nếu bạn vẫn thấy thông tin gỡ lỗi bổ sung đang được ghi lại, hãy xác minh rằng bạn đã làm theo tất cả các bước được nêu trong Tắt đúng cách 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 có đã bỏ lỡ bất kỳ bước nào, hãy lặp lại tất cả các bước một cách chính xác.
- 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 Hỗ trợ Apigee Edge.