15672)를 통해 사용자 이름과 비밀번호로 인증합니다 — RabbitMQ 관리 UI와 동일한 API를 사용하므로 별도의 AMQP 클라이언트 설정이 필요하지 않습니다.
지원 플랫폼
| 플랫폼 | 지원 |
|---|---|
| 자체 호스팅 RabbitMQ | management 플러그인이 활성화된 3.8 이상 |
| 매니지드 RabbitMQ | CloudAMQP 및 Management HTTP API를 제공하는 기타 공급자 |
사전 요구 사항
- CloudThinker에서 management 포트(기본값
15672, HTTPS의 경우15671)로 접근 가능한 RabbitMQ 브로커. - management 플러그인 활성화. 자체 호스팅 브로커의 경우:
- Management HTTP API에서 큐, 노드, 클러스터 데이터를 반환하도록
monitoring또는administrator태그가 지정된 브로커 사용자.
monitoring 태그는 모든 읽기 및 상태 확인 기능에 충분합니다. 에이전트가 게이트된 쓰기 작업(큐/익스체인지 삭제, 정의 업데이트)을 실행하도록 하려는 경우에만 administrator를 부여하세요 — 이러한 작업은 항상 앱 내 승인이 필요합니다. 필요 권한을 참고하세요.설정
management 플러그인 활성화
자체 호스팅 브로커에서 management 플러그인을 활성화하고 수신 중임을 확인합니다:CloudAMQP와 같은 매니지드 공급자는 Management HTTP API를 기본으로 제공합니다 — 다음 단계로 건너뛰세요.
모니터링 사용자 생성
CloudThinker 전용 사용자를 생성하고
monitoring 태그를 지정합니다:monitoring 태그는 모든 가상 호스트의 큐, 익스체인지, 노드, 클러스터 상태에 대한 읽기 접근 권한을 부여합니다.네트워크 접근 확인
CloudThinker가
<host>:15672(또는 TLS의 경우 <host>:15671)에서 브로커에 접근할 수 있는지 확인합니다. CloudThinker의 이그레스를 위해 방화벽 또는 보안 그룹에서 management 포트를 엽니다.CloudThinker에 연결 추가
Connections → RabbitMQ로 이동하여 다음을 입력합니다:
- Username: 브로커 사용자 (예:
cloudthinker) - Password: 사용자 비밀번호
- Host: 브로커 호스트명 또는 IP (스킴 및 포트 제외)
- Management Port: management API 포트 (기본값
15672) - Use TLS: HTTPS management API 및 AMQPS 사용 시 활성화
- Log Level: 커넥터 로그 상세도 (기본값
info)
연결 세부 정보
| 필드 | 설명 | 기본값 |
|---|---|---|
| RABBITMQ_USERNAME | monitoring 또는 administrator 태그가 있는 브로커 사용자 | — |
| RABBITMQ_PASSWORD | 브로커 사용자 비밀번호 | — |
| RABBITMQ_HOST | 브로커 호스트명 또는 IP (스킴 및 포트 제외) | — |
| RABBITMQ_MANAGEMENT_PORT | Management HTTP API 포트 | 15672 |
| RABBITMQ_USE_TLS | HTTP + AMQP는 Disabled, HTTPS + AMQPS는 Enabled | Disabled |
| LOG_LEVEL | 커넥터 로그 상세도: debug, info, warn, error | info |
management API는 HTTP의 경우
15672, HTTPS의 경우 15671에서 수신합니다. Use TLS를 활성화할 때는 Management Port를 TLS management 포트로 설정하세요.필요 권한
연결 사용자는 HTTP API가 브로커 데이터를 반환하도록 management 태그가 필요합니다:| 태그 | 활성화 기능 |
|---|---|
monitoring | 큐, 익스체인지, 바인딩, 연결, 채널, 노드, 클러스터, 상태 확인에 대한 읽기 접근 — 모든 모니터링 및 진단 기능 포함. |
administrator | monitoring의 모든 기능에 더해 게이트된 쓰기 작업(큐 삭제/비우기, 익스체인지 삭제, 정의 업데이트). |
쓰기 작업은 승인 필요
이 연결에는 네 가지 변경 도구가 활성화되어 있습니다. 이 도구들은 항상 앱 내 승인을 통해 게이트됩니다 — 에이전트가 실행하기 전에 확인을 요청해야 합니다:delete_queue— 큐 삭제purge_queue— 큐의 모든 메시지 삭제delete_exchange— 익스체인지 삭제update_definition— 브로커 정의 수정
administrator 태그를 갖고 있어야 합니다.
에이전트 기능
연결 후 Tony는 다음을 수행할 수 있습니다:| 기능 | 설명 |
|---|---|
| 큐 깊이 및 메시지 속도 | 큐 깊이, 준비/미확인 메시지, 게시/전달 속도 스냅샷 |
| 컨슈머 지연 | 높은 컨슈머 지연 또는 컨슈머가 없는 큐 식별 |
| 데드 레터 분석 | 포이즌 메시지 및 오류 패턴에 대한 데드 레터 큐 검사 |
| 클러스터 및 노드 상태 | 노드 상태, 로컬 및 글로벌 알람, 쿼럼 크리티컬 큐 확인 |
| 알람 및 인증서 확인 | 알람 상태의 브로커 및 만료 임박한 인증서 감지 |
| 게이트된 쓰기 작업 | 큐 비우기 또는 삭제, 익스체인지 삭제, 정의 업데이트 — 각 작업은 앱 내 승인 필요 |
연결 확인
예시 프롬프트
문제 해결
연결 거부 또는 타임아웃
연결 거부 또는 타임아웃
<host>:15672(또는 TLS management 포트)에서 CloudThinker가 브로커에 접근할 수 있는지 확인합니다.- 방화벽 또는 보안 그룹에서 AMQP 포트
5672가 아닌 management 포트가 열려 있는지 확인합니다. - 자체 호스팅 브로커의 경우, RabbitMQ가
127.0.0.1이 아닌 접근 가능한 인터페이스에 바인딩되어 있는지 확인합니다.
management API에서 404 Not Found
management API에서 404 Not Found
management 플러그인이 활성화되지 않았습니다.
rabbitmq-plugins enable rabbitmq_management를 실행하고 다시 시도하세요. 매니지드 공급자의 경우, 해당 인스턴스에 Management HTTP API가 제공되는지 확인하세요.401 Unauthorized
401 Unauthorized
TLS 핸드셰이크 또는 인증서 오류
TLS 핸드셰이크 또는 인증서 오류
- Use TLS가 브로커 설정과 일치하는지 확인합니다: management API가 HTTPS를 제공할 때(일반적으로 포트
15671)만 활성화합니다. - Use TLS가 활성화되어 있지만 포트가 일반 HTTP를 제공하는 경우(또는 그 반대), 연결이 실패합니다 — 토글과 Management Port를 맞추세요.
빈 결과 또는 부분 결과
빈 결과 또는 부분 결과
monitoring사용자가 일부 가상 호스트에 권한이 없을 수 있습니다. 조회할 vhost에 대해 읽기 권한을 부여하세요:rabbitmqctl set_permissions -p <vhost> <user> "" "" ".*".
보안
- 최소 권한 — 에이전트가 사용 사례에 필요한 권한만 부여하세요. 읽기 전용으로 시작한 후 필요에 따라 확장하세요.
- 기본 읽기 전용 — 에이전트가 이 연결을 통해 변경 작업을 수행하게 할 것이 아니라면 읽기 전용 자격증명을 사용하세요.
- 자격증명 교체 — 정기 일정에 따라 키와 토큰을 교체하세요. 연결을 업데이트하면 CloudThinker가 새 값을 자동으로 반영합니다.
- 오프보딩 시 취소 — 연결을 삭제하거나 팀원이 퇴사할 때 프로바이더에서 자격증명을 제거하세요.
- 전용 사용자 — 별도의
cloudthinker브로커 사용자를 생성하고,guest또는 관리자 계정을 재사용하지 마세요. - 전송 중 TLS — Use TLS를 활성화하여 CloudThinker와 브로커 간의 management API 트래픽을 암호화합니다.
관련 항목
Tony 에이전트
데이터베이스 중심 모니터링 및 최적화 에이전트
Kafka 연결
Apache Kafka 스트리밍 설정 가이드