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
Người dùng không tạo được phiên theo dõi trong giao diện người dùng Edge.
Thông báo Lỗi
Bạn sẽ nhận được thông báo lỗi trong giao diện người dùng Edge như hình dưới đây:
Error creating trace session for API proxy <api proxy name>, revision <revision number>, environment <environment name>.
Failed to create DebugSession <session number>
Dưới đây là ảnh chụp màn hình của một thông báo lỗi mẫu quan sát được trong giao diện người dùng Edge:
Nguyên nhân có thể xảy ra
Dưới đây là một số nguyên nhân có thể gây ra lỗi này:
Nguyên nhân | Nội dung mô tả | Hướng dẫn khắc phục sự cố áp dụng cho |
Vấn đề về kết nối mạng | Lỗi kết nối giữa Máy chủ quản lý và Trình xử lý thư do vấn đề về kết nối mạng hoặc quy tắc về tường lửa. | Người dùng dịch vụ đám mây riêng tư của Edge |
Môi trường không được tải trên Trình xử lý thư | Môi trường cụ thể (nơi bạn đang cố bật dấu vết) chưa được tải trên (các) Trình xử lý thông báo do có lỗi. | |
Mục nhập của Trình xử lý thư cũ | Máy chủ quản lý đang tham chiếu đến Trình xử lý thư không tồn tại (đã lỗi thời). | |
Không thể truy cập vào trình xử lý thư | Trình xử lý thư đã bị dừng hoặc không thể truy cập được. | |
Vấn đề về mức sử dụng tài nguyên cao | (Các) Trình xử lý thư đang gặp phải tình trạng sử dụng tài nguyên (CPU, Bộ nhớ hoặc Tải) cao. | |
Proxy API không được triển khai trên một hoặc nhiều Trình xử lý thông báo | Proxy API có thể không được triển khai trên một hoặc nhiều Trình xử lý thông báo do thiếu thông báo sự kiện trong quá trình triển khai. | |
Vấn đề với giao diện người dùng Edge | Giao diện người dùng Edge không thể tạo phiên theo dõi do xảy ra một số lỗi. |
Các bước chẩn đoán thường gặp
Thực thi API quản lý này:
curl -v <management-server-host>:8080/v1/runtime/organizations/<org-name>/environments/<env-name>/apis/<apiproxy-name>/revisions/<revision-number>/debugsessions -u <user>
Nếu bạn gặp bất kỳ lỗi nào, hãy ghi lại lỗi đó. Chuyển đến phần Vấn đề về kết nối mạng.
Nếu bạn nhận được một phản hồi thành công, thì điều đó cho biết phiên theo dõi có thể được tạo qua API Quản lý. Tuy nhiên, có thể đã xảy ra sự cố với giao diện người dùng Edge, khiến phiên theo dõi không được tạo trong giao diện người dùng. Chuyển đến mục Vấn đề với giao diện người dùng Edge.
Nguyên nhân: Sự cố kết nối mạng
Chẩn đoán
Kiểm tra nhật ký Máy chủ quản lý
/opt/apigee/var/log/edge-management-server/logs/system.log
và xem có lỗi nào trong quá trình tạo phiên theo dõi/gỡ lỗi hay không.Lỗi mẫu trong Nhật ký máy chủ quản lý
2018-02-08 09:08:21,310 org:myorg env:uat qtp1073741635-1074 ERROR DISTRIBUTION - DebugSessionAPI.createDebugSession() : createDebugSession : Unable to connect to the server with UUID cedeabd2-e4d1-40bb-8f18-d6afc8835e5b org.apache.http.conn.HttpHostConnectException: Connect to 10.84.75.92:8082 [/10.84.75.92] failed: Connection refused at org.apache.http.impl.conn.HttpClientConnectionOperator.connect(HttpClientConnectionOperator.java:140) ~[httpclient-4.3.5.jar:4.3.5] at org.apache.http.impl.conn.PoolingHttpClientConnectionManager.connect(PoolingHttpClientConnectionManager.java:318) ~[httpclient-4.3.5.jar:4.3.5] at org.apache.http.impl.execchain.MainClientExec.establishRoute(MainClientExec.java:363) ~[httpclient-4.3.5.jar:4.3.5] ...<snipped> Caused by: java.net.ConnectException: Connection refused at java.net.PlainSocketImpl.socketConnect(Native Method) ~[na:1.8.0_65] at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350) ~[na:1.8.0_65] ...<snipped>
Lỗi mẫu ở trên cho thấy chúng tôi gặp lỗi "Kết nối bị từ chối" khi Máy chủ quản lý cố gắng kết nối với Bộ xử lý tin nhắn trên cổng # 8082. Do đó, Máy chủ quản lý không thể tạo phiên theo dõi.
Nếu bạn không thấy lỗi nào liên quan đến kết nối mạng hoặc lỗi tương tự như lỗi hiển thị trong ví dụ trên, hãy chuyển sang mục Môi trường chưa tải trên Trình xử lý thông báo.
Nếu bạn quan sát thấy(các) lỗi liên quan đến kết nối mạng hoặc lỗi tương tự như lỗi trong ví dụ trên, hãy làm theo các bước dưới đây.
Kiểm tra kết nối từ Máy chủ quản lý đến Trình xử lý thư trên cổng 8082 bằng cách làm theo các bước sau:
Nếu có thể dùng telnet, hãy dùng telnet:
telnet <MessageProcessor_IP> 8082
Nếu không có telnet, hãy sử dụng netcat để kiểm tra khả năng kết nối như sau:
nc -vz <MessageProcessor_IP> 8082
Nếu bạn nhận được phản hồi "Kết nối bị từ chối" hoặc "Kết nối đã hết thời gian chờ", sau đó chuyển sang bước tiếp theo.
Đăng nhập vào từng Bộ xử lý thư bằng địa chỉ IP tương ứng đã hiển thị lỗi và thực hiện các bước sau:
Kiểm tra xem Bộ xử lý thư có đang nghe trên cổng 8082 hay không:
netstat -an | grep LISTEN | grep 8082
Nếu Bộ xử lý tin nhắn đang nghe trên cổng 8082, thì hãy chuyển sang bước số 7.
Nếu Bộ xử lý tin nhắn không nghe trên cổng 8082, hãy khởi động lại Bộ xử lý tin nhắn bằng lệnh sau:
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
Đợi cho đến khi Trình xử lý thư hoàn toàn bắt đầu sử dụng lệnh sau:
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor wait_for_ready
Khi Bộ xử lý tin nhắn hoạt động, kiểm tra lại xem Bộ xử lý tin nhắn có đang nghe trên cổng 8082 hay không.
Nếu Bộ xử lý tin nhắn đang nghe trên cổng 8082, thì hãy chuyển sang bước #7.
Kiểm tra xem bây giờ bạn có thể bắt đầu phiên theo dõi trong giao diện người dùng hay không. Nếu không còn quan sát thấy vấn đề, hãy bỏ qua các bước bên dưới.
Nếu Trình xử lý thư đang chạy và đang nghe trên cổng 8082, nhưng bạn vẫn không thể kết nối từ các máy chủ khác như Máy chủ quản lý, thì có thể có tường lửa phải chặn các kết nối bên ngoài.
Sử dụng lệnh thích hợp để kiểm tra các quy tắc về tường lửa. Ví dụ: bạn có thể thực thi lệnh iptables để liệt kê tất cả các quy tắc tường lửa được xác định trên hệ thống của mình:
iptables -L -n
Nếu không có quy tắc tường lửa nào được thiết lập cho cổng 8082 thì chuyển sang Vấn đề về mức sử dụng tài nguyên cao.
Nếu có bất kỳ quy tắc tường lửa nào được thiết lập trên cổng 8082, hãy chuyển đến phần Giải pháp ở bên dưới.
Độ phân giải
- Làm việc với quản trị viên mạng của bạn để cho phép lưu lượng đến/đi trên cổng 8082 từ máy chủ bên ngoài.
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.
Nguyên nhân: Môi trường không được tải trên Trình xử lý thư
Chẩn đoán
- Kiểm tra nhật ký Máy chủ quản lý
/opt/apigee/var/log/edge-management-server/logs/system.log
và xem có bất kỳ lỗi nào trong quá trình tạo phiên theo dõi/gỡ lỗi hay không. Bạn có thể thấy một thông báo lỗi như "không có phản hồi hợp lệ từ MP(s)" trong quá trình tạo phiên theo dõi/gỡ lỗi như được hiển thị dưới đây:
2018-01-30 08:28:09,721 org:mynonprod env:uat qtp2007599722-712162 ERROR DISTRIBUTION - DebugSessionAPI.createDebugSession() : no valid responses from MP(s), throwing error 2018-01-30 08:28:09,723 org:mynonprod env:uat qtp2007599722-712162 ERROR REST - CustomJAXRSInvoker.performInvocation() : CustomJAXRSInvoker.performInvocation : Method com.apigee.distribution.DebugSessionAPI.createDebugSession threw an exception. 2018-01-30 08:28:09,724 org:mynonprod env:uat qtp2007599722-712162 ERROR REST - ExceptionMapper.toResponse() : Error occurred : Failed to create DebugSession 1517297564678 2018-01-30 08:28:09,724 org:mynonprod env:uat qtp2007599722-712162 ERROR REST - ExceptionMapper.toResponse() : Returning error response : ErrorResponse{errorCode = distribution.CreateDebugSessionFailed, errorMessage = Failed to create DebugSession 1517297564678}
Lỗi này cho biết rằng(các) Trình xử lý thư không phản hồi lại Máy chủ quản lý vì một số lý do.
Nếu bạn không thấy lỗi tương tự như lỗi được hiển thị trong ví dụ trên, thì hãy chuyển đến mục Mục nhập trình xử lý thư cũ.
Nếu bạn thấy một lỗi tương tự như trong ví dụ trên, hãy làm theo các bước sau.
Một trong những nguyên nhân rất có thể gây ra lỗi này là môi trường mà bạn đang cố gắng tạo phiên theo dõi không được tải trên(các) Trình xử lý thông báo.
Đăng nhập vào từng Trình xử lý thư và kiểm tra xem môi trường cụ thể mà bạn đang cố tạo phiên theo dõi có được tải trên Trình xử lý thư bằng cách sử dụng lệnh bên dưới hay không:
curl -s http://localhost:8082/v1/runtime/organizations/<org-name>/environments
Kết quả mẫu:
Bạn sẽ thấy danh sách các môi trường thuộc tổ chức cụ thể được tải trên Trình xử lý tin nhắn trong kết quả của lệnh trên. Ví dụ: nếu môi trường preprod và test (kiểm thử) được tải trên Message Processor (Trình xử lý thông báo) thì bạn sẽ thấy kết quả như sau:
[ "tiền sản xuất", "thử nghiệm" ]
Nếu môi trường cụ thể, chẳng hạn như "dev", mà trong đó bạn đang cố gắng tạo một phiên theo dõi, được liệt kê trong lệnh trên, thì hãy chuyển sang Mục nhập trình xử lý thông báo đã cũ.
Nếu môi trường cụ thể, chẳng hạn như "dev", không được liệt kê trong lệnh trên, hãy kiểm tra
/opt/apigee/var/log/edge-message-processor/logs/system.log
và/opt/apigee/var/log/edge-message-processor/logs/startupruntimeerrors.log
trên Bộ xử lý thông báo để xem có lỗi nào trong quá trình tải Môi trường hay không.Có thể có nhiều lỗi khác nhau có thể dẫn đến lỗi tải môi trường trên Trình xử lý thông báo. Cách giải quyết tuỳ thuộc vào lỗi đã xảy ra.
Độ phân giải
Môi trường có thể không được tải trên Trình xử lý thông báo vì nhiều lý do. Phần này minh hoạ một vài lý do có thể gây ra vấn đề này và giải thích cách giải quyết vấn đề.
Nếu bạn thấy một trong các lỗi sau trong nhật ký Trình xử lý thông báo, thì nguyên nhân là do vấn đề xảy ra với chứng chỉ/khoá đã được thêm vào kho khoá/kho tin cậy được chỉ định trong môi trường đã chỉ định.
Lỗi #1: java.security.KeyStoreException: Không thể ghi đè chứng chỉ của riêng
2018-01-30 12:04:38,248 pool-47-thread-4 ERROR MESSAGING.RUNTIME - AbstractConfigurator.propagateEvent() : Error while handling the update for the Configurator com.apigee.kernel.exceptions.spi.UncheckedException: Failed to add certificate : mycert in key store : mytruststore in environment : test at com.apigee.entities.configurators.KeyStore.setCertificateEntry(KeyStore.java:156) ~[config-entities-1.0.0.jar:na] at com.apigee.entities.configurators.KeyStore.handleUpdate(KeyStore.java:101) ~[config-entities-1.0.0.jar:na] at com.apigee.entities.AbstractConfigurator.propagateEvent(AbstractConfigurator.java:85) ~[config-entities-1.0.0.jar:na] at com.apigee.messaging.runtime.Environment.handleUpdate(Environment.java:238) [message-processor-1.0.0.jar:na] … Caused by: java.security.KeyStoreException: Cannot overwrite own certificate at com.sun.crypto.provider.JceKeyStore.engineSetCertificateEntry(JceKeyStore.java:355) ~[sunjce_provider.jar:1.8.0_151] at java.security.KeyStore.setCertificateEntry(KeyStore.java:1201) ~[na:1.8.0_151] at com.apigee.entities.configurators.KeyStore.setCertificateEntry(KeyStore.java:153) ~[config-entities-1.0.0.jar:na] ... 20 common frames omitted 2018-01-30 12:04:38,250 pool-47-thread-4 ERROR MESSAGING.RUNTIME - AbstractConfigurator.rollbackTransaction() : Error in processing the changes : Unknown resource type cert
Lỗi #2: java.security.KeyStoreException: Không thể ghi đè khoá bí mật
2017-11-01 03:28:47,560 pool-21-thread-7 ERROR MESSAGING.RUNTIME - AbstractConfigurator.propagateEvent() : Error while handling the update for the Configurator com.apigee.kernel.exceptions.spi.UncheckedException: Failed to add certificate : mstore in key store : myTruststore in environment : dev at com.apigee.entities.configurators.KeyStore.setCertificateEntry(KeyStore.java:156) ~[config-entities-1.0.0.jar:na] at com.apigee.entities.configurators.KeyStore.handleUpdate(KeyStore.java:101) ~[config-entities-1.0.0.jar:na] ... Caused by: java.security.KeyStoreException: Cannot overwrite secret key at com.sun.crypto.provider.JceKeyStore.engineSetCertificateEntry(JceKeyStore.java:354) ~[sunjce_provider.jar:1.8.0_144] at java.security.KeyStore.setCertificateEntry(KeyStore.java:1201) ~[na:1.8.0_144] at com.apigee.entities.configurators.KeyStore.setCertificateEntry(KeyStore.java:153) ~[config-entities-1.0.0.jar:na] ... 20 common frames omitted 2017-11-01 03:28:47,562 pool-21-thread-7 ERROR MESSAGING.RUNTIME - AbstractConfigurator.rollbackTransaction() : Error in processing the changes : Unknown resource type cert
Lấy thông tin chi tiết về kho khoá/kho lưu trữ đáng tin cậy được chỉ định trong thông báo lỗi xuất hiện ở bước trước bằng cách sử dụng lệnh gọi API quản lý sau đây:
curl -v "http://<management-IPaddress>:8080/v1/organizations/<org-name>/environments/<env-name>/keystores/myTruststore" -u <user>
Kết quả mẫu:
{ "certs": [ "mycert", "mycert-new" ], "keys": [ "mycert" ], "name": "myTruststore" }
Kết quả trong ví dụ này cho thấy có 2 chứng chỉ và một khoá trong myTruststore trong kho tin cậy. Kho tin cậy thường không chứa khoá. Nếu có, bạn nên có một chứng chỉ và một khoá duy nhất.
Lấy thông tin chi tiết về 2 chứng chỉ bằng API sau:
curl -s http://<management-IPaddress>:8080/v1/runtime/organizations/<org-name>/environments/<env-name>/keystores/<keystore-name>/certs/<cert-name>
Kiểm tra ngày hết hạn của từng chứng chỉ và xác định chứng chỉ đã hết hạn/cũ.
Xoá chứng chỉ đã hết hạn hoặc không mong muốn khỏi kho tin cậy "myTruststore".
Nếu vấn đề vẫn tiếp diễn hoặc nếu bạn thấy bất kỳ lỗi nào khác ngoài những lỗi được đề cập trong Bước 1 ở trên, hãy chuyển đến phần Phải thu thập thông tin chẩn đoán.
Nguyên nhân: Không thể truy cập vào các mục nhập của Trình xử lý tin nhắn cũ HOẶC Trình xử lý tin nhắn
Chẩn đoán
- Nếu giao diện người dùng Edge mất nhiều thời gian và không tạo được phiên theo dõi, thì sau đây là một số nguyên nhân có thể xảy ra:
- Máy chủ quản lý có thể đang tham chiếu đến Bộ xử lý tin nhắn không tồn tại (đã lỗi thời)
- (Các) Trình xử lý thư đã bị ngừng hoặc không thể truy cập được
- Bộ xử lý thư đang gặp tình trạng sử dụng bộ nhớ/CPU cao
- Kiểm tra nhật ký Máy chủ quản lý
/opt/apigee/var/log/edge-management-server/logs/system.log
và xem có lỗi nào trong quá trình tạo phiên theo dõi/gỡ lỗi hay không. Bạn có thể thấy một thông báo lỗi như "server <UUID> (máy chủ <UUID>) không hoạt động hoặc không truy cập được" trong quá trình tạo phiên theo dõi/gỡ lỗi như minh hoạ dưới đây:
2017-12-27 07:42:38,975 org:cocacola env:prod qtp2007599722-222063 INFO DISTRIBUTION - DebugSessionAPI.createDebugSession() : server 458b5910-2646-441c-a6e2-428b6d84e021 is either not up or reachable, skipping the server
Điều này có thể xảy ra sau một lỗi "Kết nối đã hết thời gian chờ" sau một chút thời gian như được hiển thị dưới đây:
2017-12-27 07:44:46.000 UTC org:cocacola env:prod qtp2007599722-222063 ERROR DISTRIBUTION - DebugSessionAPI.createDebugSession() : createDebugSession : Unable to connect to the server with UUID {}, skipping it458b5910-2646-441c-a6e2-428b6d84e021 org.apache.http.conn.HttpHostConnectException: Connect to 192.168.101.7:8080 [/192.168.101.7] failed: Connection timed out (Connection timed out) at org.apache.http.impl.conn.HttpClientConnectionOperator.connect(HttpClientConnectionOperator.java:140) ~[httpclient-4.3.5.jar:4.3.5] at org.apache.http.impl.conn.PoolingHttpClientConnectionManager.connect(PoolingHttpClientConnectionManager.java:318) ~[httpclient-4.3.5.jar:4.3.5] at org.apache.http.impl.execchain.MainClientExec.establishRoute(MainClientExec.java:363) ~[httpclient-4.3.5.jar:4.3.5] at org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:219) ~[httpclient-4.3.5.jar:4.3.5] …<snipped> Caused by: java.net.ConnectException: Connection timed out (Connection timed out) at java.net.PlainSocketImpl.socketConnect(Native Method) ~[na:1.8.0_144] at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350) ~[na:1.8.0_144] …<snipped>
Hai lỗi này có thể do(các) Trình xử lý thư cụ thể:
- Đã lỗi thời (không còn tồn tại)
- Bị ngừng hoạt động/không thể truy cập vì lý do nào đó
Vui lòng làm theo giải pháp phù hợp tuỳ theo tình huống gặp phải.
Độ phân giải
Tình huống 1: (Các) Bộ xử lý thư đã cũ (không tồn tại)
Lấy danh sách Trình xử lý thư bằng API quản lý bên dưới:
curl -u <sysadmin> "http://<management-server-host>:8080/v1/servers?pod=<podName>®ions=<regionName>"
Ghi lại địa chỉ IP hoặc tên máy chủ tương ứng với (các) mã nhận dạng duy nhất (UUID) của Bộ xử lý thư được đề cập trong thông báo lỗi trong nhật ký Máy chủ quản lý (bước 3 trong phần Chẩn đoán ở trên). Xác minh xem đây có phải là Trình xử lý thư hợp lệ hay không bằng một trong các cách sau:
- Sơ đồ thiết lập cấu trúc liên kết đám mây riêng tư mới nhất
- Địa chỉ IP mới nhất của máy chủ Edge – Bảng liên kết tên máy chủ lưu trữ
Nếu bạn thấy họ là các Trình xử lý thư hợp lệ thì hãy chuyển sang Tình huống 2 : Không thể truy cập (các) Trình xử lý thư.
Xoá Trình xử lý thông báo cũ (không tồn tại) bằng các API quản lý bên dưới:
Huỷ đăng ký Trình xử lý thư khỏi môi trường của tổ chức:
curl -X POST http://<management-server-host>:8080/v1/o/<orgName>/e/<envName>/servers -d "uuid={uuid}®ion=<regionName>&pod=<podName}&action=remove"
Huỷ đăng ký loại máy chủ:
curl http://<management-server-host>:8080/v1/servers -X POST -d "type={message-processor}®ion=<regionName>&pod=<podName>&uuid=<uuid>&action=remove"
Xoá máy chủ:
curl http://<management-ip>:8080/v1/servers/<uuid> -X DELETE
Lặp lại Bước 3 nếu bạn gặp sự cố tương tự trong bất kỳ môi trường nào khác trong tổ chức của mình.
Trường hợp 2: Không thể kết nối với(các) Bộ xử lý thư
- Đăng nhập vào từng Bộ xử lý thư bằng cách xác định địa chỉ IP/Tên máy chủ lưu trữ dựa trên UUID được ghi nhận trong thông báo lỗi trong nhật ký Máy chủ quản lý.
Khởi động lại Trình xử lý thư:
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
Kiểm tra lại xem bạn có thể tạo phiên theo dõi hay không. 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.
Nguyên nhân: Vấn đề về mức sử dụng tài nguyên cao
Chẩn đoán
Đăng nhập vào từng Bộ xử lý thư và kiểm tra xem có mức sử dụng tài nguyên cao – CPU, Bộ nhớ hoặc Tải hay không. Bạn có thể sử dụng lệnh
top
trên các hệ điều hành dựa trên Unix để lấy thông tin về mức sử dụng tài nguyên của quy trình Trình xử lý thư:top
Nếu(các) Trình xử lý thông báo không đạt mức sử dụng tài nguyên cao, hãy chuyển sang chế độ Phải thu thập thông tin chẩn đoán.
Nếu(các) Trình xử lý thư đang gặp phải tình trạng sử dụng CPU hoặc bộ nhớ cao, điều đó có thể khiến Trình xử lý thư không phản hồi kịp thời với Máy chủ quản lý. Cuối cùng, điều này sẽ ngăn bạn tạo phiên theo dõi.
Nếu có Trình xử lý thư đang gặp tình trạng sử dụng CPU cao, hãy tạo 3 tệp kết xuất luồng (thread dump) 30 giây một lần bằng lệnh sau:
sudo <JAVA_HOME>/bin/jstack -l <pid> > <filename>
Nếu Trình xử lý thư có mức sử dụng Bộ nhớ cao, hãy tạo một tệp báo lỗi bằng lệnh sau:
sudo -u apigee <JAVA_HOME>/bin/jmap -dump:live,format=b,file=<filename> <pid>
Chuyển đến mục Độ phân giải.
Độ phân giải
Khởi động lại Trình xử lý thư bằng lệnh bên dưới. Thao tác này sẽ làm giảm mức sử dụng CPU và bộ nhớ:
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
Giám sát các lệnh gọi API và xác nhận xem vấn đề còn tồn tại hay không.
Liên hệ với Bộ phận hỗ trợ Apigee Edge và cung cấp tệp kết xuất luồng, tệp báo lỗi và nhật ký Trình xử lý thư (
/opt/apigee/var/log/edge-message-processor/logs/system.log)
để giúp họ điều tra nguyên nhân dẫn đến mức sử dụng CPU/bộ nhớ cao).
Nguyên nhân: Proxy API không được triển khai trên một hoặc nhiều Bộ xử lý thư
Trong một số ít trường hợp, Proxy API có thể không được triển khai trên một hoặc nhiều Bộ xử lý thư. Điều này chủ yếu xảy ra do thiếu thông báo sự kiện từ Máy chủ quản lý tới Trình xử lý thông báo trong quá trình triển khai Proxy API cụ thể. Ngoài ra, trong trường hợp này, bạn sẽ không thể tạo phiên theo dõi trong giao diện người dùng Edge.
Chẩn đoán
Đă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 Proxy API có được triển khai hay không bằng lệnh sau đây:
curl -v localhost:8082/v1/runtime/organizations/<orgname>/environments/<envname>/apis/<apiname>/revisions
Kết quả mẫu:
Bạn sẽ thấy danh sách các bản sửa đổi dưới dạng kết quả của lệnh trên. Ví dụ: nếu triển khai bản sửa đổi 12, bạn sẽ thấy kết quả như sau:
[ "12" ]
Nếu bản sửa đổi cụ thể của Proxy API không xuất hiện ở dạng kết quả của lệnh được đề cập trong Bước 1 ở trên, hãy khởi động lại Trình xử lý tin nhắn cụ thể như được giải thích trong phần Giải pháp bên dưới.
Lặp lại các bước từ 1 đến 2 cho tất cả Trình xử lý thư.
Nếu bản sửa đổi cụ thể của Proxy API được triển khai trên tất cả Trình xử lý thông báo, thì đây không phải là nguyên nhân gây ra sự cố này. Chuyển đến mục Phải thu thập thông tin chẩn đoán.
Độ phân giải
Khởi động lại(các) Trình xử lý thư cụ thể mà trên đó bản sửa đổi API Proxy không được triển khai:
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
Nguyên nhân: Vấn đề với giao diện người dùng Edge
Chẩn đoán
- Kiểm tra nhật ký giao diện người dùng Edge
/opt/apigee/var/log/edge-ui/application.log
và/opt/apigee/var/log/edge-ui/edge-ui.log
rồi xem có lỗi nào không. - Hãy liên hệ với Bộ phận hỗ trợ Apigee Edge và chia sẻ các tệp này để điều tra thêm.
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 các hướng dẫn ở trên, hãy thu thập thông tin chẩn đoán sau đây. Hãy liên hệ và chia sẻ thông tin đó với Bộ phận hỗ trợ Apigee Edge:
Kết quả của lệnh:
curl -v <management-server-host>:8080/v1/runtime/organizations/<org-name>/environments/<env-name>/apis/<apiproxy-name>/revisions/<revision-number>/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ý Trình xử lý thư
/opt/apigee/var/log/edge-message-processor/logs/system.log.
Đầu ra của các lệnh telnet/nc từ Máy chủ quản lý đến Trình xử lý thư:
telnet <MessageProcessor_IP> 8082 nc -vz <MessageProcessor_IP> 8082
Đầu ra của lệnh netstat dưới đây trên(các) Trình xử lý thư:
netstat -an > netstat.txt
Nếu chúng tôi nhận thấy có vấn đề với giao diện người dùng Edge, hãy cung cấp nhật ký
/opt/apigee/var/log/edge-ui/application.log
và/opt/apigee/var/log/edge-ui/edge-ui.log.
của giao diện người dùng EdgeThông tin chi tiết về những phần trong Cẩm nang này đã được dùng thử cũng như mọi thông tin chi tiết khác sẽ giúp chúng tôi giải quyết nhanh vấn đề này.