AWS MQ¶
AWS MQ (for RabbitMQ)는 업계 표준 API와 프로토콜을 지원하며, 메시지 브로커의 관리와 유지보수를 처리하고 고가용성을 위한 인프라를 자동으로 제공합니다.
구성¶
Func 설치¶
Guance 통합 - 확장 - 관리형 Func 사용을 권장합니다. 사전 조건은 모두 자동으로 설치됩니다. 계속해서 스크립트를 설치하세요.
Func를 직접 배포하려면 Func 직접 배포
설치 스크립트¶
팁: 요구 사항에 맞는 Amazon AK를 미리 준비해 주세요. (간단히 하려면 전역 읽기 전용 권한
ReadOnlyAccess를 바로 부여해도 됩니다)
관리형 개통 스크립트¶
- Guance 콘솔에 로그인합니다.
- [통합] 메뉴를 클릭하고 [클라우드 계정 관리]를 선택합니다.
- [클라우드 계정 추가]를 클릭하고 [AWS]를 선택한 뒤 화면에 필요한 정보를 입력합니다. 이전에 클라우드 계정 정보를 설정했다면 이 단계는 건너뜁니다.
- [테스트]를 클릭합니다. 테스트가 성공하면 [저장]을 클릭합니다. 실패하면 관련 설정이 올바른지 확인한 뒤 다시 테스트합니다.
- [클라우드 계정 관리] 목록에서 추가된 클라우드 계정을 확인할 수 있습니다. 해당 클라우드 계정을 클릭하여 상세 페이지로 들어갑니다.
- 클라우드 계정 상세 페이지의 [통합] 버튼을 클릭한 뒤
미설치목록에서AWS MQ를 찾아 [설치] 버튼을 클릭하면 설치 화면이 나타나며, 설치하면 됩니다.
수동 개통 스크립트¶
-
Func 콘솔에 로그인하고 [스크립트 마켓]을 클릭하여 Guance 스크립트 마켓에 들어간 뒤
integration_aws_mq를 검색합니다. -
[설치]를 클릭한 뒤 필요한 매개변수인 AWS AK ID, AK Secret 및 계정 이름을 입력합니다.
-
[시작 스크립트 배포]를 클릭하면 시스템이 자동으로
Startup스크립트 세트를 생성하고 해당 시작 스크립트를 자동으로 구성합니다. -
활성화한 뒤에는 「관리 / 자동 트리거 설정」에서 해당 자동 트리거 설정을 확인할 수 있습니다. [실행]을 클릭하면 예약 시간을 기다리지 않고 즉시 한 번 실행할 수 있습니다. 잠시 후 실행 작업 기록과 해당 로그를 확인할 수 있습니다.
검증¶
- 「관리 / 자동 트리거 설정」에서 해당 작업에 대한 자동 트리거 설정이 존재하는지 확인하고, 작업 기록과 로그를 함께 확인하여 이상이 있는지 점검합니다.
- Guance의 「기반 시설 / 사용자 정의」에서 자산 정보가 있는지 확인합니다.
- Guance의 「지표」에서 해당 모니터링 데이터가 있는지 확인합니다.
지표¶
아마존 클라우드 모니터링을 구성하면 기본 지표 세트는 다음과 같습니다. 구성 방식으로 더 많은 지표를 수집할 수 있습니다:
AWS MQ for RabbitMQ¶
| 지표 이름 | 단위 | 설명 |
|---|---|---|
| ExchangeCount | 계수 | 브로커에 구성된 교환기의 총 수입니다. |
| QueueCount | 계수 | 브로커에 구성된 큐의 총 수입니다. |
| ConnectionCount | 계수 | 브로커에 설정된 연결의 총 수입니다. |
| ChannelCount | 계수 | 브로커에 설정된 채널의 총 수입니다. |
| ConsumerCount | 계수 | 브로커에 연결된 소비자의 총 수입니다. |
| MessageCount | 계수 | 큐의 총 메시지 수입니다. 생성된 숫자는 브로커에서 준비됨과 확인되지 않음 메시지의 합계입니다. |
| MessageReadyCount | 계수 | 큐에 준비된 메시지의 총 수입니다. |
| MessageUnacknowledgedCount | 계수 | 큐에서 확인되지 않은 메시지의 총 수입니다. |
| PublishRate | 계수 | 브로커에 메시지를 게시하는 속도입니다. 생성된 숫자는 샘플링 시 초당 수집된 메시지 수를 나타냅니다. |
| ConfirmRate | 계수 | RabbitMQ 서버가 게시된 메시지를 확인하는 속도입니다. 이 지표를 PublishRate와 비교하면 브로커의 성능을 더 잘 이해할 수 있습니다. 생성된 숫자는 샘플링 시 초당 수집된 메시지 수를 나타냅니다. |
| AckRate | 계수 | 소비자가 메시지를 확인하는 속도입니다. 생성된 숫자는 샘플링 시 초당 수집된 메시지 수를 나타냅니다. |
| SystemCpuUtilization | 퍼센트 | 브로커가 현재 사용 중인 할당된 Amazon EC2 컴퓨팅 단위의 비율입니다. 클러스터 배포의 경우 이 값은 세 RabbitMQ 노드의 해당 지표 값의 합계를 나타냅니다. |
| RabbitMQMemLimit | 바이트 | RabbitMQ 브로커의 RAM 제한입니다. 클러스터 배포의 경우 이 값은 세 RabbitMQ 노드의 해당 지표 값의 합계를 나타냅니다. |
| RabbitMQMemUsed | 바이트 | RabbitMQ 브로커가 사용하는 RAM 용량입니다. 클러스터 배포의 경우 이 값은 세 RabbitMQ 노드의 해당 지표 값의 합계를 나타냅니다. |
| RabbitMQDiskFreeLimit | 바이트 | RabbitMQ 브로커의 디스크 제한입니다. 클러스터 배포의 경우 이 값은 세 RabbitMQ 노드의 해당 지표 값의 합계를 나타냅니다. 이 지표는 인스턴스 크기에 따라 다릅니다. AWS MQ 인스턴스 유형에 대한 자세한 내용은 AWS MQ for RabbitMQ 인스턴스 유형을 참조하세요. |
| RabbitMQDiskFree | 바이트 | RabbitMQ 브로커에서 사용 가능한 무료 디스크 공간의 총량입니다. 디스크 사용량이 한도를 초과하면 클러스터는 모든 생산자 연결을 차단합니다. 클러스터 배포의 경우 이 값은 세 RabbitMQ 노드의 해당 지표 값의 합계를 나타냅니다. |
| RabbitMQFdUsed | 계수 | 사용된 파일 디스크립터 수입니다. 클러스터 배포의 경우 이 값은 세 RabbitMQ 노드의 해당 지표 값의 합계를 나타냅니다. |
RabbitMQIOReadAverageTime |
계수 | RabbitMQ가 한 번의 읽기 작업을 수행하는 평균 시간(밀리초)입니다. 이 값은 메시지 크기에 비례합니다. |
RabbitMQIOWriteAverageTime |
계수 | RabbitMQ가 한 번의 쓰기 작업을 수행하는 평균 시간(밀리초)입니다. 이 값은 메시지 크기에 비례합니다. |