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 một 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ể khiến 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 Edge:
Nguyên nhân | Nội dung mô tả | Hướng dẫn khắc phục sự cố áp dụng cho |
---|---|---|
Trình xử lý thư không xử lý các yêu cầu | Các yêu cầu API phải do Trình xử lý thông báo 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 gửi được đến Apigee Edge, thì sẽ không kết nố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 xử lý bởi Trình xử lý thư thì không thể ghi lại dấu vết. | Người dùng dịch vụ đám mây công khai và riêng tư của Edge |
Không tìm thấy proxy API trong cây phân loại | Trình xử lý thông báo Apigee sử dụng định nghĩa về Quy tắc định tuyến có tên là Cây phân loại để gửi các 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 đến. Nếu proxy API có liên quan bị xoá khỏi Cây phân loại vì lý do nào đó, thì các giao dịch Theo dõi có thể không được điền sẵn. | Người dùng dịch vụ đám mây riêng tư của Edge |
Nguyên nhân: Yêu cầu không được xử lý bởi Đơn vị xử lý thư
Chẩn đoán
Để ghi lại một yêu cầu API trong một phiên Theo dõi, yêu cầu API phải do Trình 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 kết nố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: Yêu cầu không đến được ứng dụng Apigee Edge
Nguyên nhân
Trong trường hợp này, lỗi có thể là do độ phân giải DNS hoặc sự cố kết nối mạng. Nếu vậy, bạn có thể gặp lỗi sau 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:
dig hostName
Bạn có thể xác minh kết nối mạng bằng lệnh sau đây:
telnet hostName port
Tình huống 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ể là do lỗi bắt tay TLS/SSL. Nếu vậy, 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 những cẩm nang sau đây để 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 thể xử lý yêu cầu
Nguyên nhân
Trong trường hợp này, Trình xử lý tin nhắn Apigee không thể tìm thấy Proxy API cho máy chủ và đường dẫn ảo được chỉ định. Do đó, bạn có thể thấy một trong những 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
Tham khảo cẩm nang này để khắc phục sự cố và giải quyết vấn đề này: 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 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 xuất hiện trong các phiên Theo dõi trong giao diện người dùng Edge.
Hãy làm theo các bước bên dưới để xác định xem đây có phải là trường hợp của bạn không:
Đăng nhập vào từng Bộ xử lý thư và kiểm tra xem bản sửa đổi cụ thể của API được yêu cầu có được triển khai trong môi trường liên quan của Bộ xử lý thư bằng lệnh sau hay không:
curl -v http://localhost:8082/v1/runtime/organizations/orgName/environments/envName/apis/apiName/revisions
Kết quả mẫu:
Lệnh trên sẽ xuất 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, bạn sẽ thấy kết quả sau:
[ "12" ]
Trừ khi bạn gặp phải lỗi HTTP 404 gián đoạn, có thể bạn sẽ 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 cách sử dụng lệnh sau:
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
Hãy 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 Trình xử lý tin nhắn khi có yêu cầu quá tải.
Đăng nhập vào từng máy chủ lưu trữ Trình xử lý thư đang thiếu proxy API cụ thể trong Cây phân loại và sử dụng lệnh dưới đây để khởi động lại Trình xử lý thư:
/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 để chờ cho đến khi lệnh được kích hoạt:
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor wait_for_ready
Khi Trình xử lý thư đã sẵn sàng, hãy xác minh tình trạng sẵn có của proxy API bằng lệnh sau:
curl -v http://localhost:8082/v1/runtime/organizations/orgName/environments/envName/apis/apiName/revisions
Kết quả mẫu:
Lệnh trên sẽ xuất 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, bạn sẽ thấy kết quả sau:
[ "12" ]
Trừ khi bạn gặp phải lỗi HTTP 404 gián đoạn, có thể bạn sẽ 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 cách sử dụng lệnh sau:
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 phần 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 sự cố vẫn tiếp diễn sau khi làm theo các hướng dẫn ở trên, hãy thu thập thông tin chẩn đoán sau đây và chia sẻ với Bộ phận hỗ trợ Apigee Edge:
Loại thông tin chẩn đoán | Lệnh |
---|---|
Đầu ra của lệnh phiên theo dõi | 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ý bộ xử lý thư | /opt/apigee/var/log/edge-message-processor/logs/system.log |
Nhận lệnh telnet /netcat từ Quản lý Máy chủ đến Đơn vị xử lý thư |
telnet MessageProcessor_IP 8082 nc -vz MessageProcessor_IP 8082 |
Đầu ra của lệnh netstat trên(các) Bộ xử lý tin nhắn | netstat -an > netstat.txt |
Các bản sửa đổi trang thông tin đầ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 |
Kết quả của Cây phân loại trên tất cả Bộ xử lý thông báo | curl -i http://localhost:8082/v1/classification/tree |