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
Thiếu dữ liệu phân tích trong giao diện người dùng Edge do máy chủ Qpidd không chuyển thông báo phân tích sang PostgreSQL. Trong Edge, thành phần edge-qpid-server
tương ứng với máy chủ Qpidd.
Qpidd duy trì 2 hàng đợi cho mỗi nhóm số liệu phân tích:
ax-q-axgroup001-consumer-group-001
Hàng đợi này lưu giữ thông báo phân tích được đẩy từ Bộ định tuyến và Bộ xử lý thư. Thông báo được lấy từ đây bằng
edge-qpid-server
, giúp phân tích cú pháp thông báo và chèn vào PostgreSQL. Sau khi được xử lý thành công, thư sẽ được xoá khỏi hàng đợi.ax-q-axgroup001-consumer-group-001-dl
Hàng đợi này là hàng đợi chữ cái chết. Địa chỉ này đóng vai trò là đích đến cho các thông báo mà
edge-qpid-server
không xử lý được và do đó không muốn nhận nữa. Trường hợp này thường được điền sẵn khi vượt quá số lượng phân phối tối đa hoặc nếu PostgreSQL từ chối chèn dữ liệu mới do lỗi thời gian chạy.
Thông báo lỗi
Nguyên nhân gốc rễ có thể là do nhiều lỗi thời gian chạy từ thành phần edge-qpid-server
. Thông thường, nếu edge-qpid-server
gặp lỗi thời gian chạy từ PostgreSQL, thì nó sẽ tạo hàng đợi chữ cái chết nếu chưa có, sau đó gửi thông báo sau ở đó:
yyyy-MM-dd HH:mm:ss,SSS ax-q-axgroup001-consumer-group-001-persistpool-thread-6 WARN c.a.a.m.MessageConsumer - MessageConsumer.process() : Sending message batch to the DLQ.
Nguyên nhân có thể xảy ra
Nguyên nhân | Nội dung mô tả | Hướng dẫn khắc phục sự cố có thể áp dụng cho |
---|---|---|
Thư bị kẹt trong hàng đợi thư đã dừng của qpidd | edge-qpid-server không hiểu được các thông báo mà nó đọc từ nhà môi giới Qpidd hoặc không thể lưu giữ các thông báo đến PostgreSQL.
|
Người dùng đám mây riêng tư ở Edge |
Các bước chẩn đoán thông thường
Chạy lệnh sau để xem số liệu thống kê trong hàng đợi Qpidd:
qpid-stat -q
Kết quả trả về tập hợp các hàng đợi đã đăng ký với trình môi giới. Nếu hàng đợi có tên kết thúc bằng "-dl" có thư được điền thì có thư bị kẹt trong hàng đợi chữ cái cuối cùng.
Queues queue dur autoDel excl msg msgIn msgOut bytes bytesIn bytesOut cons bind ======================================================================================================================== ax-q-axgroup-001-consumer-group-001 Y 0 185 185 0 13.8m 13.8m 6 2 ax-q-axgroup-001-consumer-group-001-dl Y 0 70 70 0 3.9m 3.9m 0 2
Nguyên nhân: Thư bị treo trong hàng đợi chữ cái đã chết của qpidd
Chẩn đoán
Tình trạng này có thể xảy ra trong các trường hợp sau:
- Trước đây, chúng tôi đã từng nâng cấp một trình bổ trợ, nhưng vào thời gian đó, PostgreSQL ngừng hoạt động.
- Tạm thời ngừng hoạt động của PostgreSQL do vấn đề về mạng.
edge-qpid-server
đã cố gắng gửi một thông báo đến PostgreSQL nhưng PostgreSQL trả về lỗi thời gian chạy.
Độ phân giải
Ghi lại tên của hàng đợi trong phần Các bước chẩn đoán phổ biến. Ví dụ:
ax-q-axgroup-001-consumer-group-001
ax-q-axgroup-001-consumer-group-001-dl
Chạy lệnh
qpid-tool
để nhập lời nhắcqpid
mang tính tương tác:qpid-tool
comamnd này trả về như sau:
Management Tool for QPID qpid:
Chạy
list broker
để nhận danh sách các nhà môi giới đang hoạt động:list broker
comamnd này trả về như sau:
Object Summary: ID Created Destroyed Index ======================================= 125 21:00:00 - amqp-broker
Trong đó cột
ID
chỉ định mã nhận dạng của người môi giới.Ghi lại mã của nhà môi giới. Trong ví dụ, nó là 125.
Chạy lệnh sau để di chuyển các tin nhắn từ hàng đợi chữ cái không thành công trở lại hàng đợi thực tế:
call 125 queueMoveMessages ax-q-axgroup-001-consumer-group-001-dl ax-q-axgroup-001-consumer-group-001 100000 {}
comamnd này trả về như sau:
OK (0) - {}
Nếu không có kết quả thì không cần làm gì, không có thư cần di chuyển. Nếu không thấy
OK(0)
thì bạn nên liên hệ với Nhóm hỗ trợ Apigee.Thoát khỏi cửa sổ dòng lệnh qpid-tool.
quit
Chờ 5 phút, sau đó chạy lại các bước chẩn đoán từ Các bước chẩn đoán phổ biến. Xác minh rằng các thư trong hàng đợi thực tế đang được xử lý và đảm bảo rằng số lượng thư không còn hoạt động vẫn ở mức 0.
Nếu vấn đề vẫn tiếp diễn, hãy chuyển đến phần tiếp theo.
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 các thông tin chẩn đoán sau. Hãy liên hệ và chia sẻ thông tin với Nhóm hỗ trợ Apigee:
- Nhật ký đã đọc dữ liệu:
/opt/apigee/var/log/apigee-qpidd/apigee-qpidd.log
- Nhật ký Postgresql:
/opt/apigee/var/log/apigee-postgresql/apigee-postgresql.log
- Nhật ký Edge-qpid-server:
/opt/apigee/var/log/edge-qpid-server/logs/system.log
- Nhật ký Edge-postgres-server:
/opt/apigee/var/log/edge-postgres-server/logs/system.log
Số liệu thống kê trong hàng đợi đã đọc mã:
qpid-stat -q
Nhóm Analytics được trả về bằng lệnh curl sau đây:
curl -u sysadminEmail:password http://mgmt:8080/v1/analytics/groups/ax