Tableau Resource Monitoring Tool용 외부 메시지 큐 서비스(RabbitMQ)
Tableau Resource Monitoring Tool는 RabbitMQ를 메시지 큐 서비스로 사용하여 에이전트에서 데이터를 수집하고 RMT 서버로 가져옵니다. 큐에서 이 정보가 처리되고 결국 RMT 리포지토리(PostgreSQL 데이터베이스)에 저장됩니다.
2022.3 릴리스 이전에는 RMT 서버와 함께 RabbitMQ 메시지 큐 서비스가 자동으로 설치되었으며 이 구성은 사용 가능한 유일한 구성이었습니다. RMT 버전 2022.3부터는 외부에서 호스팅되는 RabbitMQ 서비스를 사용하도록 RMT 서버를 다시 구성할 수 있습니다. 외부에서 호스팅되는 메시지 큐 서비스를 사용하도록 RMT 서버를 구성한 경우 이를 외부 메시지 큐 서비스라고 합니다.
버전 2022.3에 추가된 이 새로운 옵션을 사용하면 다음과 같은 방법으로 RMT 서버를 구성할 수 있습니다.
- 로컬에 설치된 메시지 큐 서비스를 계속 사용: 즉, RMT 서버와 함께 동일한 컴퓨터에 자동으로 설치된 RabbitMQ가 RMT 서버의 메시지 서비스로 사용되며 이 구성은 더는 변경되지 않습니다.
- 외부 메시지 큐 서비스를 사용하도록 RMT 서버를 구성: 즉, RMT에서 사용하는 RAbbitMQ가 RMT 서버 외부에서 호스팅됩니다. 현재 RabbitMQ의 호스팅 플랫폼은 AWS AMQ만 지원됩니다. 에이전트의 모든 메시지는 RabbitMQ를 통과하기 때문에 이를 외부에서 호스팅하면 RMT 서버가 설치된 컴퓨터에서 리소스를 확보하여 다른 작업에 활용할 수 있습니다.
외부 메시지 큐 서비스를 설정하고 관리하려면 AWS AMQ 플랫폼에 대해 잘 알고 있어야 합니다. AWS 사이트에서 설명서를 검토하는 것이 좋습니다. 또한 RMT에 대한 외부 메시지 큐 서비스를 구성하고 관리하는 방법도 알아야 합니다. 해당 정보는 이 항목의 아래 섹션에서 제공됩니다.
Resource Monitoring Tool의 새 설치
이 섹션에 제공된 지침은 Resource Monitoring Tool를 새로 설치하는 경우에 적용됩니다. 기존 설치가 있고 로컬 RabbitMQ를 외부에서 호스팅되는 구성으로 이동하려면 이 항목에서 Tableau Resource Monitoring Tool의 기존 설치 섹션을 참조하십시오.
다음 단계에 따라 Tableau Resource Monitoring Tool을 설치하고 외부 메시지 큐 서비스를 사용하도록 RMT 서버를 다시 구성하십시오.
Rabbit MQ용 Amazon AMQ를 생성하여 다음 권장 사항에 따라 외부 메시지 큐 서비스를 호스팅합니다.
엔진 유형의 경우 RabbitMQ 엔진을 사용합니다. Rabbit MQ의 버전은 제품 호환성 섹션을 참조하십시오.
RabbitMQ를 로컬로 설치할 때 사용되는 것과 동일한 기본 버전을 사용합니다. 자세한 내용은 제품 호환성 표를 참조하십시오.
단일 인스턴스 브로커를 사용합니다.
인스턴스 사양: mq.m5.large, 2개의 vCPU/8GiB RAM
RabbitMQ 사용자 이름/비밀번호를 생성합니다.
자세한 내용은 AWS 설명서 사이트에서 Rabbit MQ용 Amazon MQ 작업을 참조하십시오.
AWS MQ 페이지에서 RabbitMQ 웹 콘솔 URL을 복사하고 RMT 서버의 웹 브라우저에 붙여 넣어 RMT 서버에서 메시지 브로커로의 연결을 테스트합니다. 브로커를 설정할 때 생성한 사용자 이름과 비밀번호로 로그인합니다.
이 항목의 지침에 따라 RMT 서버를 설치하되 환경 생성 단계는 건너뜁니다. 환경 생성 작업은 외부 리포지토리를 사용하도록 RMT 서버를 구성한 후 나중에 수행합니다.
다음과 같이 rmtadmin setup을 실행하여 외부 Rabbit MQ 메시지 큐 서비스를 구성합니다.
rmtadmin master-setup --mq-config=external --mq-server=aws_amq_servername --mq-vhost='/' --mq-port=5671 --mq-username=aws_amq_username --mq-password='aws_amq_password' --mq-tls-certificate-host=aws_amq_servername
이제 환경을 생성하고 부트스트랩 파일을 다운로드합니다.
다음 명령을 실행하여 환경을 생성합니다.
rmtadmin create-env --name=<myenvironment> --api-username=<TableauServer API user name> --api-password=<password for the Tableau Server API user account>
부트스트랩 파일을 다운로드하여 에이전트를 등록합니다.
rmtadmin bootstrap-file --env=<myenvironment> --filename<The absolute or relative path including the file name>
이 단계는 명령줄을 사용하여 RMT 서버 설치 항목에 자세히 설명되어 있습니다.
명령줄을 사용하여 에이전트 설치 항목의 지침에 따라 Tableau Server 노드에 에이전트를 다시 등록합니다.
Tableau Resource Monitoring Tool의 기존 설치
현재 로컬 메시지 큐 서비스를 사용하고 있는 기존 RMT 설치를 외부 메시지 큐 서비스로 마이그레이션하는 방법은 두 가지가 있습니다.
환경을 다시 생성하는 마이그레이션: 여기에는 외부 Rabbit MQ 서비스 생성, 외부 메시지 큐 서비스를 사용하도록 RMT 서버 구성, 환경 재생성, 인시던트 임계값과 같은 모든 사용자 지정 구성 다시 수행, 에이전트 다시 등록 등이 포함됩니다.
이 방법을 사용할 경우 하드웨어 메트릭, TS 로그, 비주얼리제이션 로드, 큐에서 아직 처리되지 않은 hyper 쿼리 등 에이전트의 모든 것이 마이그레이션 중에 손실됩니다. 이 경우 RMT를 설치하지 않는다는 점만 제외하고 위 섹션에서 설명한 RMT를 새로 설치하는 것과 매우 유사합니다.
데이터 손실을 최소화하면서 수동 마이그레이션: 이 방법은 지침을 독립적으로 구현할 수 있고 환경 다시 생성, 인시던트 임계값 다시 생성 등의 작업을 원하지 않는 고객을 위해 특별히 고안되었습니다. 이 방법은 전환 중에 이벤트 데이터가 손실되지 않도록 유지하지만 전환 중에 Tableau Server 노드 하드웨어에서 캡처한 프로세스 카운터 정보는 보존되지 않습니다. 이 마이그레이션은 수동 마이그레이션이며 Resource Monitoring Tool에 기본 제공되는 마이그레이션 기능이 아닙니다.
이 작업을 수행하는 지침은 아래에 설명되어 있습니다.
외부 AWS AMQ로 마이그레이션
1단계: Rabbit MQ용 Amazon AMQ를 생성하여 다음 권장 사항에 따라 외부 메시지 큐 서비스를 호스팅
- RabbitMQ 엔진 유형을 사용합니다.
- 기본 버전(3.9.13)은 RMT 22.2 번들 버전과 같습니다.
- 단일 인스턴스 브로커를 사용합니다.
- 기본 인스턴스 크기(mq.m5.large, 2개의 vCPU/8GiB RAM)를 사용합니다.
- RabbitMQ 사용자 이름/비밀번호를 설정합니다.
자세한 내용은 AWS 설명서 사이트에서 Rabbit MQ용 Amazon MQ 작업을 참조하십시오.
2단계: RMT 서버의 연결 테스트
AWS MQ 페이지에서 RabbitMQ 웹 콘솔 URL을 복사하고 RMT 서버의 웹 브라우저에 붙여 넣습니다. 브로커를 설정할 때 생성한 사용자 이름과 비밀번호로 로그인합니다.
3단계: RMT 에이전트 서비스를 중지하고 에이전트 등록을 취소
에이전트가 실행되는 각 노드에서 다음 명령을 실행합니다. RMT 서버를 중지하지 마십시오. 계속 실행해야 합니다.
rmtadmin stop
rmtadmin deregister
4단계: 큐 확인
RMT 서버에서 rmtadmin status
를 실행하고 출력을 검토합니다. 각 큐의 총계 열에 있는 모든 값이 0(또는 거의 0)에 도달하고 이 값을 그대로 유지하는 경우 다음 단계를 진행합니다.
5단계: 새 Amazon MQ 서비스를 사용하도록 RMT 서버를 구성
aws_amq_servername 값은 Amazon MQ 페이지에 나열된 끝점과 동일합니다. 단, 끝에 있는 프로토콜 접두사 및 포트를 제거해야 합니다. 다음 예를 확인하십시오.
변경 전: “amqps://b-9512e888-a4a3-4b79-a9c0-07418c101941.mq.us-west-2.amazonaws.com:5671
” 변경 후: “B-9512e888-a4a3-4b79-a9c0-07418c101941.mq.us-west-2.amazonaws.com
”
이제 rmtadmin master-setup
을 실행하여 Amazon MQ에 대해 생성한 사용자 이름과 비밀번호를 대체합니다.
rmtadmin master-setup --mq-config=external --mq-server=aws_amq_servername --mq-vhost='/' --mq-port=5671 --mq-username=aws_amq_username --mq-password=<aws_amq_password> --mq-tls-certificate-host=<aws_amq_servername>
다음에 유의하십시오.
- 자체 가상 호스트를 생성한 경우에만 아래 --mq-vhost 인수의 이름을 바꾸십시오(이렇게 하는 것은 선택 사항).
- 서비스가 기본 포트가 아닌 포트에서 실행되도록 설정된 경우에도 마찬가지로 포트를 변경합니다.
- --mq-tls-certificate-host 값은 앞서 --mq-server 인수에 사용된 대로 AWS MQ 인스턴스의 서버 이름이어야 하지만 유연성을 높이기 위해 와일드카드를 사용할 수 있습니다.
6단계: RMT 서버 시작
RMT 서버 설치 폴더로 이동합니다. cd 'c:\Program Files\Tableau\Tableau Resource Monitoring Tool\master\'
RMT 서버 설치 폴더로 이동합니다. sudo /var/opt/tableau/tabrmt/master
RMT 서버를 시작합니다. rmtadmin start
7단계: 에이전트 다시 등록
- RMT 서버에서 새 부트스트랩 파일을 다운로드합니다.
- http://localhost:9002/setup/register로 이동하여 에이전트 웹 인터페이스에 액세스하고 부트스트랩 파일을 가져옵니다.
- Test Message Queue(메시지 큐 테스트)를 클릭합니다. 오류가 발생하면 이전 입력을 검토합니다.
- Connect to Message Queue(메시지 큐에 연결)을 클릭합니다.
- Server(서버) 섹션에서 "New Environment Server(새 환경 서버)"가 미리 선택되어 있는 드롭다운을 클릭하고, 기본값을 적용하지 않고 목록에서 등록하려는 서버를 선택합니다. 맨 아래로 스크롤하여 "Register Agent(에이전트 등록)" 단추를 클릭합니다.
8단계: RMT 서버가 실행 중인지 확인
RMT 서버 웹 인터페이스 도구에 로그인하여 새 데이터가 처리되고 있는지 확인합니다.
업그레이드 모범 사례
다음은 버전 2022.3 이상으로 업그레이드하고 동시에 외부 메시지 큐 서비스를 사용하여 마이그레이션하려는 경우에 따라야 하는 일반적인 단계입니다.
환경을 다시 생성하는 마이그레이션:
- RMT 서버 및 모든 에이전트를 2022.3 이상으로 업그레이드합니다.
- Amazon AMQ 브로커 서비스를 생성합니다.
- 외부 메시지 큐 서비스를 사용하도록 RMT 서버를 구성합니다.
- 환경을 다시 생성하고 모든 에이전트를 다시 등록합니다.
- 사용자 지정 구성을 다시 생성합니다.
참고: 일부 이벤트 및 하드웨어 처리 데이터가 손실되며 인시던트 임계값도 다시 구성해야 합니다.
데이터 손실을 최소화하면서 수동 마이그레이션:
- RMT 서버 및 모든 에이전트를 버전 2022.3 이상으로 업그레이드합니다.
- 이 항목의 마이그레이션 섹션에 설명된 단계를 따릅니다. 여기에는 주로 외부 메시지 큐 서비스를 가리키는 RMT 서버와 Amazon AMQ 브로커 서비스를 생성하는 작업이 포함됩니다.
- 에이전트를 다시 등록합니다.
RabbitMQ에서 TLS를 사용할 때의 업그레이드 단계
2022.3 이전 버전의 에이전트는 암호화되지 않은 연결을 사용하여 RabbitMQ 메시지 큐 서비스와 통신하기 때문에 버전 2022.3 이상으로 업그레이드할 때 새로운 보안 연결 세부 정보를 사용하도록 이러한 에이전트를 업데이트해야 합니다. 이 작업을 수행하기 위한 단계는 다음과 같습니다.
위의 섹션에 설명된 업그레이드 단계를 완료한 후 다음 명령을 실행하여 모든 에이전트를 중지합니다.
rmtadmin stop --agent
다음 명령을 실행하여 환경의 부트스트랩 파일을 다운로드합니다.
rmtadmin bootstrap-file --env<myenvironment> --filename <The absolute or relative path including the file name>
에이전트가 설치된 각 컴퓨터에서 다음 명령을 실행합니다.
rmtadmin rotate-mq-certificate <BOOTSTRAP_FILE> --username=<RMT Server Username> --password-file=<RMT Server Password file name>
rmtadmin rotate-mq-certificate
명령을 실행한 후 각 에이전트 컴퓨터를 다시 시작합니다.
제품 호환성
외부 메시지 큐는 버전 2022.3 이상에서만 사용할 수 있으므로 이 표에는 RMT 버전 2022.3 이상만 나열되어 있습니다.
RMT 버전 | RMT와 함께 제공되는 RabbitMQ 버전 | 외부 메시지 큐 서비스를 위한 Supoort RabbitMQ 버전 |
22.3 | 3.10.5 | 3.10.5 |
이 작업을 수행할 수 있는 사용자
Resource Monitoring Tool를 설치하려면 다음이 모두 필요합니다.
- Resource Monitoring Tool를 설치하는 컴퓨터에 대한 관리자 사용 권한
- Tableau Server 관리자 사이트 역할
- Resource Monitoring Tool 관리자 계정