Bạn đang xem tài liệu về Apigee Edge.
Chuyển đến tài liệu về
Apigee X. thông tin
Triệu chứng
Hình ảnh sau đây cho thấy các yêu cầu API không được ghi lại trong giao diện người dùng Edge khi phiên theo dõi bắt đầu:
Thông báo lỗi
Sẽ không có thông báo lỗi nào hiển thị trong giao diện người dùng Edge khi sự cố này xảy ra.
Nguyên nhân có thể xảy ra
Bảng sau đây cho thấy các nguyên nhân có thể dẫn đến việc không ghi nhận được các yêu cầu API trong công cụ Theo dõi giao diện người dùng của Edge:
Nguyên nhân | Mô tả | Hướng dẫn khắc phục sự cố có thể áp dụng cho |
---|---|---|
Các yêu cầu không được Trình xử lý thư xử lý | Các yêu cầu API phải được Bộ xử lý tin nhắn thành phần của Edge xử lý để ghi lại dấu vết. Nếu một yêu cầu API không kết nối được với Apigee Edge, thì sẽ không đạt được điểm truy cập đến Edge (tức là bộ định tuyến) hoặc bị lỗi trước khi được Bộ xử lý thông báo xử lý thì không thể ghi lại dấu vết. | Người dùng đám mây công khai và riêng tư ở Edge |
Không tìm thấy proxy API trong cây phân loại | Bộ xử lý thư Apigee sử dụng định nghĩa Quy tắc định tuyến có tên là Cây phân loại để gửi yêu cầu dựa trên tên máy chủ, đường dẫn cơ sở, bản sửa đổi và môi trường của yêu cầu gửi đến. Nếu proxy API có liên quan bị xoá vì lý do nào đó khỏi Cây phân loại, thì các giao dịch Theo dõi có thể sẽ không được điền. | Người dùng đám mây riêng tư ở Edge |
Nguyên nhân: Yêu cầu không được Trình xử lý thư xử lý
Chẩn đoán
Để ghi lại yêu cầu API trong một phiên Theo dõi, yêu cầu API phải do Bộ xử lý thông báo thành phần của Edge xử lý. Có một số lý do khiến yêu cầu API có thể không được ghi lại trong giao dịch Theo dõi.
Ví dụ: Nếu một yêu cầu API không kết nối được với Apigee Edge, thì sẽ không gửi được tại điểm truy cập đến Edge (tức là bộ định tuyến) hoặc bị lỗi trước khi được Bộ xử lý thông báo xử lý thì không thể ghi lại dấu vết. Mỗi trường hợp trong số này được trình bày chi tiết hơn bên dưới.
Trường hợp 1: Các yêu cầu không tiếp cận được với Apigee Edge
Nguyên nhân
Trong trường hợp này, lỗi có thể là do sự cố phân giải DNS hoặc sự cố kết nối mạng. Nếu có, bạn có thể thấy lỗi sau đây khi chạy lệnh này:
curl https://hostName:port/apiProxyBasePath/requestPath
curl: (6) Could not resolve host: hostName
Độ phân giải
Bạn có thể xác minh cấu hình DNS bằng lệnh sau đây:
dig hostName
Bạn có thể xác minh kết nối mạng bằng lệnh sau:
telnet hostName port
Trường hợp 2: Yêu cầu không thành công trên bộ định tuyến Apigee Edge
Nguyên nhân
Trong trường hợp này, lỗi có thể do lỗi bắt tay TLS/SSL. Nếu có, bạn có thể thấy một trong các lỗi sau:
Received fatal alert: handshake_failure
HTTP/1.1 400 Bad Request
Bạn cũng có thể thấy lỗi chứng chỉ SSL.
Độ phân giải
Hãy tham khảo các cẩm nang sau để khắc phục và giải quyết những vấn đề này:
Trường hợp 3: Công cụ xử lý thư không xử lý được yêu cầu
Nguyên nhân
Trong trường hợp này, Bộ xử lý thư Apigee không thể tìm thấy Proxy API cho đường dẫn và máy chủ ảo được chỉ định. Do đó, bạn có thể thấy một trong các lỗi sau:
HTTP/1.1 404 Not Found
{ "fault":{ "faultstring":"Unable to identify proxy for host: default and url: \/apiProxyBasePath/requestPath", "detail":{ "errorcode":"messaging.adaptors.http.flow.ApplicationNotFound" } } }
Độ phân giải
Hãy tham khảo cẩm nang này để khắc phục sự cố và giải quyết vấn đề: 404 Không thể xác định proxy cho máy chủ lưu trữ.
Nguyên nhân: Không tìm thấy proxy API trong cây phân loại
Chẩn đoán
Nếu một Trình xử lý thông báo không tìm thấy proxy API trong Cây phân loại, thì mọi yêu cầu API gửi đến proxy cụ thể đó sẽ không hiển thị trong các phiên Theo dõi trên giao diện người dùng Edge.
Hãy thực hiện theo các bước bên dưới để xác định xem đây có phải là trường hợp này không:
Đăng nhập vào từng Bộ xử lý thông báo và kiểm tra xem bản sửa đổi cụ thể của API đã yêu cầu có được triển khai trong môi trường thích hợp của Bộ xử lý thông báo bằng lệnh sau đây hay không:
curl -v http://localhost:8082/v1/runtime/organizations/orgName/environments/envName/apis/apiName/revisions
Kết quả ví dụ:
Lệnh trên sẽ đưa ra danh sách các bản sửa đổi đã triển khai. Ví dụ: nếu triển khai bản sửa đổi 12, thì bạn sẽ thấy kết quả sau:
[ "12" ]
Trừ phi gặp lỗi HTTP 404 không liên tục, bạn có thể thấy rằng bản sửa đổi cụ thể đã được triển khai.
Đọc Cây phân loại và kiểm tra sự tồn tại của tên proxy API bằng lệnh sau đây:
curl -i http://localhost:8082/v1/classification/tree | grep apiName
Lặp lại Bước 1 và 2 cho từng Trình xử lý thư. Nếu tên proxy API đã cho bị thiếu trong Cây phân loại của bất kỳ Trình xử lý thông báo nào thì hãy làm theo giải pháp được đưa ra dưới đây.
Độ phân giải
Vui lòng làm theo các bước dưới đây để giải quyết vấn đề này. Hãy nhớ thực hiện mọi biện pháp phòng ngừa cần thiết để tránh tình trạng ngừng sản xuất có thể xảy ra do khởi động lại Bộ xử lý thư khi đang gặp phải tình trạng tải yêu cầu cao.
Đăng nhập vào từng máy chủ của Trình xử lý thông báo bị thiếu proxy API cụ thể trong Cây phân loại rồi dùng lệnh bên dưới để khởi động lại Bộ xử lý thông báo:
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
Sau khi khởi động lại, hãy sử dụng lệnh bên dưới để đợi cho đến khi ứng dụng hoạt động:
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor wait_for_ready
Sau khi Trình xử lý thông báo đã sẵn sàng, hãy xác minh xem proxy API có thể sử dụng hay không bằng lệnh sau đây:
curl -v http://localhost:8082/v1/runtime/organizations/orgName/environments/envName/apis/apiName/revisions
Kết quả ví dụ:
Lệnh trên sẽ đưa ra danh sách các bản sửa đổi đã triển khai. Ví dụ: nếu triển khai bản sửa đổi 12, thì bạn sẽ thấy kết quả sau:
[ "12" ]
Trừ phi gặp lỗi HTTP 404 không liên tục, bạn có thể thấy rằng bản sửa đổi cụ thể đã được triển khai.
Đọc Cây phân loại và xác minh sự tồn tại của tên proxy API bằng lệnh sau đây:
curl -i http://localhost:8082/v1/classification/tree | grep apiName
Nếu vấn đề vẫn tiếp diễn, hãy chuyển đến mục Phải thu thập thông tin chẩn đoán.
Phải thu thập thông tin chẩn đoán
Nếu vấn đề vẫn tiếp diễn sau khi làm theo hướng dẫn ở trên, vui lòng thu thập và chia sẻ thông tin chẩn đoán sau đây với Nhóm hỗ trợ Apigee:
Loại Thông tin chẩn đoán Loại | Command |
---|---|
Kết quả của lệnh theo dõi phiên | curl -v management-server-host:8080/v1/runtime/organizations/orgName/environments/envName/apis/apiProxyName/revisions/revisionNumber/debugsessions -u user |
Nhật ký máy chủ quản lý | /opt/apigee/var/log/edge-management-server/logs/system.log |
Nhật ký Người xử lý thư | /opt/apigee/var/log/edge-message-processor/logs/system.log |
Dữ liệu đầu ra của các lệnh telnet /netcat từ Máy chủ quản lý đến Trình xử lý thư |
telnet MessageProcessor_IP 8082 nc -vz MessageProcessor_IP 8082 |
Kết quả của lệnh netstat trên(các) Bộ xử lý thông báo | netstat -an > netstat.txt |
Các bản sửa đổi danh sách đầu ra được triển khai cho Proxy API cụ thể trên tất cả(các) Trình xử lý thông báo | curl -v http://localhost:8082/v1/runtime/organizations/orgName/environments/envName/apis/apiName/revisions |
Đầu ra của Cây phân loại trên tất cả(các) Trình xử lý thông báo | curl -i http://localhost:8082/v1/classification/tree |