15672) — cùng API mà giao diện quản lý RabbitMQ sử dụng, nên không cần thiết lập AMQP client.
Nền tảng hỗ trợ
| Nền tảng | Hỗ trợ |
|---|---|
| Self-hosted RabbitMQ | 3.8+ với management plugin đã bật |
| Managed RabbitMQ | CloudAMQP và các nhà cung cấp khác có expose Management HTTP API |
Điều kiện tiên quyết
- Một RabbitMQ broker có thể truy cập từ CloudThinker trên management port (mặc định
15672, hoặc15671cho HTTPS). - Management plugin đã được bật. Trên broker tự lưu trữ:
- Một broker user với tag
monitoringhoặcadministrator, để Management HTTP API trả về dữ liệu queue, node và cluster.
Tag
monitoring là đủ cho tất cả các khả năng đọc và kiểm tra sức khỏe. Chỉ cấp administrator nếu bạn muốn agent chạy các thao tác ghi có kiểm soát (purge/xóa queue, xóa exchange, cập nhật definition) — những thao tác này luôn yêu cầu phê duyệt trong ứng dụng. Xem Quyền yêu cầu.Thiết lập
Bật management plugin
Trên broker tự lưu trữ, bật management plugin và xác nhận nó đang lắng nghe:Các nhà cung cấp managed như CloudAMQP đã expose Management HTTP API theo mặc định — bỏ qua và đến bước tiếp theo.
Tạo user giám sát
Tạo user riêng cho CloudThinker và gán tag Tag
monitoring:monitoring cấp quyền đọc tất cả queue, exchange, node và sức khỏe cluster trên các virtual host.Xác nhận quyền truy cập mạng
Đảm bảo CloudThinker có thể kết nối đến broker tại
<host>:15672 (hoặc <host>:15671 cho TLS). Mở management port trên firewall hoặc security group cho egress của CloudThinker.Thêm kết nối trong CloudThinker
Điều hướng đến Connections → RabbitMQ và nhập:
- Username: broker user (ví dụ:
cloudthinker) - Password: mật khẩu của user
- Host: tên máy chủ hoặc IP của broker (chỉ host — không có scheme hoặc port)
- Management Port: port của management API (mặc định
15672) - Use TLS: bật để dùng HTTPS management API và AMQPS
- Log Level: độ chi tiết log của connector (
infotheo mặc định)
Chi tiết kết nối
| Trường | Mô tả | Mặc định |
|---|---|---|
| RABBITMQ_USERNAME | Broker user với tag monitoring hoặc administrator | — |
| RABBITMQ_PASSWORD | Mật khẩu cho broker user | — |
| RABBITMQ_HOST | Tên máy chủ hoặc IP của broker (không có scheme, không có port) | — |
| RABBITMQ_MANAGEMENT_PORT | Port của Management HTTP API | 15672 |
| RABBITMQ_USE_TLS | Disabled cho HTTP + AMQP, Enabled cho HTTPS + AMQPS | Disabled |
| LOG_LEVEL | Độ chi tiết log connector: debug, info, warn, error | info |
Management API lắng nghe trên
15672 cho HTTP và 15671 cho HTTPS. Khi bật Use TLS, đặt Management Port thành port management TLS của bạn.Quyền yêu cầu
User kết nối cần có management tag để HTTP API trả về dữ liệu broker:| Tag | Tính năng mở khóa |
|---|---|
monitoring | Quyền đọc queue, exchange, binding, connection, channel, node, cluster và health check — bao gồm tất cả khả năng giám sát và chẩn đoán. |
administrator | Tất cả những gì monitoring cung cấp, cộng thêm các thao tác ghi có kiểm soát (purge/xóa queue, xóa exchange, cập nhật definition). |
Các thao tác ghi yêu cầu phê duyệt
Kết nối này có bốn công cụ mutative được bật. Chúng luôn được kiểm soát bởi phê duyệt trong ứng dụng — agent phải yêu cầu xác nhận của bạn trước khi chạy bất kỳ thao tác nào trong số đó:delete_queue— xóa một queuepurge_queue— xóa tất cả message trong một queuedelete_exchange— xóa một exchangeupdate_definition— sửa đổi broker definition
administrator với quyền ghi trên virtual host mục tiêu.
Khả năng của agent
Sau khi kết nối, Tony có thể:| Khả năng | Mô tả |
|---|---|
| Độ sâu queue & tốc độ message | Snapshot độ sâu queue, ready vs. unacked, và tốc độ publish/deliver |
| Consumer lag | Xác định queue có consumer lag cao hoặc không có consumer |
| Phân tích dead-letter | Kiểm tra dead-letter queue để tìm poison message và mẫu lỗi |
| Sức khỏe cluster & node | Kiểm tra trạng thái node, alarm cục bộ và toàn cục, và queue quan trọng cho quorum |
| Kiểm tra alarm & certificate | Phát hiện broker trong trạng thái alarm và certificate gần hết hạn |
| Thao tác ghi có kiểm soát | Purge hoặc xóa queue, xóa exchange và cập nhật definition — mỗi thao tác yêu cầu phê duyệt trong ứng dụng |
Xác minh kết nối
Ví dụ prompt
Xử lý sự cố
Kết nối bị từ chối hoặc timeout
Kết nối bị từ chối hoặc timeout
- Xác minh broker có thể truy cập từ CloudThinker tại
<host>:15672(hoặc management port TLS của bạn). - Xác nhận management port — không phải AMQP port
5672— đang mở trên firewall hoặc security group. - Với broker tự lưu trữ, đảm bảo RabbitMQ được bind vào interface có thể truy cập, không chỉ
127.0.0.1.
404 Not Found trên management API
404 Not Found trên management API
Management plugin chưa được bật. Chạy
rabbitmq-plugins enable rabbitmq_management và thử lại. Với nhà cung cấp managed, xác nhận Management HTTP API được expose cho instance của bạn.401 Unauthorized
401 Unauthorized
Lỗi TLS handshake hoặc certificate
Lỗi TLS handshake hoặc certificate
- Đảm bảo Use TLS khớp với broker: chỉ bật khi management API phục vụ HTTPS (thường là port
15671). - Nếu Use TLS được bật nhưng port phục vụ HTTP thuần (hoặc ngược lại), kết nối sẽ thất bại — căn chỉnh nút bật/tắt và Management Port.
Kết quả rỗng hoặc không đầy đủ
Kết quả rỗng hoặc không đầy đủ
- User
monitoringcó thể thiếu quyền trên một số virtual host. Cấp quyền đọc trên các vhost bạn muốn hiển thị:rabbitmqctl set_permissions -p <vhost> <user> "" "" ".*".
Bảo mật
- Quyền tối thiểu — chỉ cấp các quyền mà agent cần cho trường hợp sử dụng của bạn; bắt đầu với quyền chỉ đọc và mở rộng sau.
- Chỉ đọc theo mặc định — sử dụng thông tin xác thực chỉ đọc trừ khi bạn muốn agent thực hiện thay đổi qua kết nối này.
- Xoay vòng thông tin xác thực — xoay vòng khóa và token theo lịch trình thông thường của bạn; CloudThinker sẽ lấy giá trị mới khi bạn cập nhật kết nối.
- Thu hồi khi bàn giao — xóa thông tin xác thực tại nhà cung cấp khi bạn xóa một kết nối hoặc khi đồng nghiệp rời nhóm.
- User riêng biệt — tạo broker user
cloudthinkerriêng; không bao giờ dùng lại tài khoảnguesthoặc admin - TLS trong truyền tải — bật Use TLS để mã hóa lưu lượng management API giữa CloudThinker và broker
Liên quan
Agent Tony
Agent giám sát và tối ưu hóa tập trung vào cơ sở dữ liệu
Kết nối Kafka
Hướng dẫn thiết lập Apache Kafka streaming