Chúng tôi có một số nhà sản xuất và một số người tiêu dùng được kết nối thông qua Kafka - về cơ bản, đó là các công việc xử lý hàng loạt được tạo ra theo yêu cầu, được đặt trên Kafka trong nhiều hàng đợi và các nhà xử lý hàng loạt nhận chúng qua Kafka và xử lý từng cái một.

Tôi muốn hình dung và theo dõi độ dài của những hàng đợi này trong Kafka. Độ dài hàng đợi sẽ đóng vai trò là proxy cho "tải" của toàn bộ hệ thống. Càng nhiều công việc xếp hàng chờ, hệ thống càng “tải” nhiều hơn.

Kafka của chúng tôi là một cụm AWS MSK. Tôi đã bật tính năng giám sát Prometheus JMX và tôi sẽ rà soát tất cả các chỉ số sau mỗi 10 giây.

Nhìn vào các số liệu, không có gì xuất hiện rõ ràng ngay lập tức về độ dài hàng đợi. Thông số đó có được hiển thị dưới dạng chỉ số theo mặc định không?

Nếu độ dài hàng đợi không được hiển thị theo mặc định, thì cách tốt để thu thập số liệu đó là gì? Giả sử tôi có thể viết một tập lệnh Python với bất kỳ thư viện nào được cài đặt và tôi có toàn quyền truy cập vào các điểm cuối Kafka từ nó.

Lưu ý: Tôi hiểu các khái niệm cơ bản, nhưng tôi không có nhiều kinh nghiệm thực tế với Kafka (tôi chỉ sử dụng RabbitMQ trước đây), vì vậy xin lỗi nếu từ vựng của tôi không chính xác lắm. Ví dụ: cái mà tôi gọi là "hàng đợi" rõ ràng được gọi là "chủ đề".

no answer