Bạn đang xem tài liệu về Apigee Edge.
Truy cập vào
tài liệu Apigee X. thông tin
Theo mặc định, trên Apigee, các Bộ định tuyến được định cấu hình để chỉ ghi nhật ký thông báo lỗi trong tệp nhật ký lỗi. Tuy nhiên, có thể có nhiều trường hợp bạn cần thu thập thêm thông tin để xác định lý do xả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à 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ộ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, chẳng hạ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 Northbound (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 biên.
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 vị trí 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ủ lưu trữ ảo cho yêu cầu API cụ thể mà bạn muốn gỡ lỗi, thì hãy xác định tệp conf máy chủ lưu trữ ảo như sau:
- Chuyển đến thư mục
/opt/nginx/conf.d/. - Tìm tệp ORG_NAME_ENV_NAME_VIRTUALHOST
.conftrong thư mụcconf.dbằ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 tệp cấu hình máy chủ ảo bằng cách sử dụng tên bí danh máy chủ được dùng trong yêu cầu API như sau:
Chuyển đến thư mục
/opt/nginx/conf.d/và tìm kiếmhostaliasmà yêu cầu được thực hiện bằng lệnh sau:ls -ltrh | grep -r 'HOST_ALIAS_NAME'
Đầu ra mẫu:
Giả sử tên bí danh của máy chủ lưu trữ là
opdk.cert-test.com. Khi chạy lệnhls -ltrh, bạn sẽ thấy kết quả đầu ra như bên dưới:
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ể.
- Mở tệp sau trên máy Router bằng một 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 thay đổi.
- Chạy lệnh tải lại NGINX. Ví dụ:
sudo /opt/nginx/scripts/apigee-nginx reload
- Tệp sau đây sẽ ghi lại 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 lại 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.
Xác minh thông tin gỡ lỗi được ghi vào tệp nhật ký lỗi NGINX
-
Sau khi máy khách thực hiện Yêu cầu API trên bí danh máy chủ lưu trữ và cổng được liên kết với cấu hình máy chủ lưu trữ ả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 -
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 nêu trên sẽ được ghi lại khi ứng dụng gửi một yêu cầu
POSTcó tải trọng lớn. Nhật ký này sẽ chỉ xuất hiện 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 phần 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 bỏ lỡ 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ể lấy thông tin gỡ lỗi, vui lòng liên hệ với Nhóm 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 Router cho một máy chủ ảo cụ thể.
- Mở tệp sau đây trên máy Router bằng một trình chỉnh sửa:
/opt/nginx/conf.d/ORG_NAME_ENV_NAME_VIRTUALHOST_NAME.confVí 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 thay đổi.
- Chạy lệnh tải lại NGINX. Ví dụ:
/opt/nginx/scripts/apigee-nginx reload
- Tệp sau đây giờ đây sẽ 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 từng Bộ định tuyến.
Chỉ thông tin xác minh lỗi được ghi vào tệp nhật ký lỗi NGINX
- Đưa ra một số yêu cầu API trên bí danh máy chủ lưu trữ và cổng được liên kết với cấu hình máy chủ lưu trữ ảo cụ thể hoặc đợi các ứng dụng đư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 được ghi lại cho các yêu cầu nữa.
- 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 phần Tắt 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 bỏ lỡ 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ể lấy thông tin gỡ lỗi, vui lòng liên hệ với Nhóm hỗ trợ Apigee Edge.