RMT 업그레이드: 기술 참조

이 섹션은 업그레이드 프로세스 중에 검사되는 작동 임계값, 시스템 경로 및 네트워크 포트에 대한 기술 참조 가이드입니다. 다음 테이블을 사용하여 유효성 검사 오류를 신속하게 진단하고 환경을 필요한 RMT 기준선에 맞게 조정할 수 있습니다.

참고: '평등'이라는 회사 가치에 부합하기 위해 RMT 마스터라는 명칭을 RMT 서버로 업데이트했습니다. 일부 경우 RMT 서버 설치 경로 및 명령에서 '서버' 대신 '마스터'라는 용어를 사용할 수 있습니다. 따라서 CLI 명령 및 옵션, 설치 폴더, 구성 파일 및 기타 인스턴스에는 계속해서 이러한 용어가 표시될 수 있습니다. 자세한 내용은 Tableau 도움말 정보(링크가 새 창에서 열림)를 참조하십시오.

업그레이드 전 상태 검사

업그레이드 전 상태 검사는 기존 설치가 아직 존재하는 동안 RMT 서버 또는 Agent 호스트를 검사하여 서비스가 실행 중인지, 데이터베이스에 액세스할 수 있는지 등을 확인하고 자세한 PASS/FAIL/WARN 보고서를 생성합니다. 시스템 리소스, 계정, 파일 사용 권한, PostgreSQL, RabbitMQ, 네트워킹, 구성 파일 및 RMT 서비스 전반에 걸쳐 80개 이상의 개별 검사를 실행합니다. 다음 표에는 업그레이드 전에 수행되는 검사가 나와 있습니다. FAIL 상태(Exit Code 2)를 반환하는 항목이 있으면 업그레이드가 취소됩니다.

시스템 및 하드웨어

검사 ID이름 플랫폼실패(FAIL)/경고(WARN) 조건
#1운영 체제Linux, WindowsWARN OS 버전이 사전 검사 허용 목록에 없습니다. 지원되는 목록은 RHEL 8.x/9.x, Ubuntu 20.04/22.04/24.04, CentOS Stream 8/9, Oracle Linux 8.x/9.x, AlmaLinux 8.x/9.x, Rocky Linux 8.x/9.x, Amazon Linux 2023, Windows Server 2019/2022입니다.
#2디스크 공간Linux, WindowsFAIL 여유 공간이 RMT 서버에서 20GB 미만이거나 Agent에서 5GB 미만인 경우 실패. WARN 여유 공간이 RMT 서버에서 50GB 미만이거나 Agent에서 10GB 미만인 경우 경고
#2a디스크 유형Linux, WindowsINFO 드라이브가 SSD인지 HDD인지를 보고함
#3

RAM

Linux, WindowsWARN RMT 서버가 8GB(최소) 미만인 경우 또는 Agent가 4GB(최소) 미만인 경우 경고
#4CPU 코어Linux, WindowsWARN RMT 서버가 8GB(최소) 미만인 경우 또는 Agent가 4GB(최소) 미만인 경우 경고
#4aCPU 명령어Linux, WindowsFAIL(Linux): sse4_2 또는 popcnt가 없는 경우 실패. WARN(Windows): 오래된 CPU가 감지된 경우 경고.
#4bVC++ RedistWindowsFAIL Visual Studio 2022 C++ Redistributable 가능 패키지가 없는 경우 실패.
#4cOpenSSL DLLsWindowsINFO libcrypto-3-x64.dll 및 libssl-3-x64.dll을 확인함
#5시스템 가동 시간Linux, WindowsINFO: 10분 미만인 경우(최근 재부팅) 또는 90일 초과인 경우(패치 대기 중) 알림
#6Systemd 실행 중LinuxFAIL systemd가 실행되고 있지 않은 경우 실패, PASS: 실행 중이거나 성능이 저하된 경우 통과
#7FIPS 모드Linux, WindowsFAIL(Windows): 레지스트리에서 사용하는 경우 실패, PASS FIPS를 사용 안 하는 경우 통과. WARN(Linux) config.json과 일치하지 않는 경우 경고. PASS OS 및 구성이 일치하는 경우 통과
#7aPowerShell 버전WindowsINFO PowerShell 버전
#7b시스템 로캘WindowsINFO 시스템 로캘 정보
#7cWMI 상태WindowsWARN WMI 리포지토리가 일관되지 않는 경우 경고

 

계정 및 사용 권한

검사 ID이름 플랫폼실패(FAIL)/경고(WARN) 조건
#8서비스 계정Linux, WindowsFAIL RMT 서비스 계정 또는 Windows 서비스를 찾을 수 없는 경우 실패
#9그룹 멤버십LinuxFAIL 필수 서비스 그룹(예: rmtmasterapp, rmtmasterconfig 등)이 없는 경우 실패
#10사용자 SystemdLinuxFAIL 사용자 systemd daemon/링거가 활성 상태가 아닌 경우 실패
#44pamtester 설치됨LinuxWARN 설치되지 않은 경우 경고. 이 문제를 해결하려면 yum install pamtester 또는 apt install libpam-runtime을 설치해야 함

Linux에 대한 디렉터리 소유권 및 사용 권한

검사 ID디렉터리 Expected Owner:Group예상 모드
#11구성 디렉터리tabrmt-master:rmtmasterconfig2775
#12로그 디렉터리tabrmt-master:rmtmasterlogs2775
#13데이터 디렉터리(+ PG/RMQ 하위 디렉터리)구성 요소별로 다름2775
#14필수 요건 디렉터리root 또는 구성 요소 사용자755
#14arabbitmq-defaults 파일그룹 쓰기 가능 권한 필요g+w
#15SSL 인증서 디렉터리tabrmt-master:rmtopenssl2775
#15a홈 디렉터리구성 요소 사용자770
#15b/etc/profile.d/tabrmt-*.shroot기본값
#15c구성 디렉터리 setgid 비트--2xxx 필수
#16environment.bash구성 요소 사용자group-writable

심각도: 데이터 디렉터리 집합(#13 및 #15)에 대한 소유권에만 FAIL이 발생합니다. 다른 모든 Linux 디렉터리 검사(#11, #12, #14, #14a, #15a–c, #16)는 설치 프로그램의 사후 설치 단계에서 업그레이드 중에 소유권을 다시 적용하기 때문에 소유권/모드 불일치 시 WARN이 발생합니다. 사용 권한 모드가 잘못되었지만 소유권이 올바른 경우 WARN이 발생합니다.

Windows에 대한 디렉터리 소유권 및 사용 권한

검사 이름심각도
#11구성 디렉터리 ACLFAIL 서비스 사용자에게 FullControl이 없는 경우 실패
#12로그 디렉터리 ACLFAIL 서비스 사용자에게 수정 권한이 없는 경우 실패
#13데이터 디렉터리 ACL(RMT 서버)FAIL 서비스 사용자에게 PG/RMQ 데이터 디렉터리에 대한 FullControl이 없는 경우 실패
#14필수 요건 디렉터리 ACL(RMT 서버)WARN ReadAndExecute가 없는 경우 경고(권고 - 모든 업그레이드는 필수 요건 MSI를 다시 설치하고 설치 후 동작은 ACL을 다시 적용함)
#15SSL 인증서 디렉터리 ACL(RMT Server)FAIL 서비스 사용자에게 FullControl이 없는 경우 실패
#16a서비스 사용자 IDPASS(정보 제공용 -- 서비스를 실행하는 사용자를 표시)
#16bSeServiceLogonRight 권한있는 경우 INFO를 제공하고, 없거나 secedit가 실패하는 경우 WARN 경고가 발생
#16cRMT 디렉터리의 서비스 사용자 ACLFAIL 서비스 사용자에게 필요한 권한이 없는 경우 실패

 

데이터베이스(PostgreSQL)

모든 PostgreSQL 검사는 RMT 서버에서만 실행됩니다.

검사 ID이름 --db-password 옵션 필요실패(FAIL)/경고(WARN) 조건
#17PG 서비스아니요FAIL 로컬 서비스가 중지되어 사용 안 함으로 설정된 경우 실패
#18포트 5555 수신 대기아니요WARN(보안 그룹 / VPC / RDS 힌트) 수신 대기 안 하는 경우 경고
#19DB ConnectionWARN 내부 DB에 연결할 수 없는 경우 경고(SSL, 비밀번호 또는 네트워크 문제)

 

메시징(RabbitMQ)

메시징(RabbitMQ) 검사는 RMT 서버에서만 실행됩니다.

검사 ID이름 실패(FAIL)/경고(WARN) 조건
#22RMQ 서비스FAIL 로컬 서비스가 중지되어 사용 안 함으로 설정된 경우 실패
#24큐 백로그WARN 메시지가 10,000개를 초과하는 큐가 있는 경우 경고
#25RabbitMQ 사용자WARN 기본 guest 사용자가 여전히 존재하는 경우 경고
#26활성 연결INFO만 해당. 활성 연결 수를 보고함
#27Erlang 쿠키 액세스 가능WARN 쿠키 파일이 없는 경우, 사용 권한이 잘못된 경우 경고(모드 400 또는 600이어야 함)
#27aERLANG_HOME 집합WARN(Windows만 해당) `ERLANG_HOME`가 설정되지 않았거나 경로가 없는 경우 경고.
#27bSSL 유효성FAIL 인증서가 만료된 경우 실패
#27c디스크 경보FAIL RMQ 파티션에 여유 공간이 10GB 미만인 경우 실패(업그레이드 중단됨)
#45인증서 디렉터리가 채워짐WARN 인증서 디렉터리가 있지만 비어 있는 경우 또는 필요한 인증서 파일(서버 인증서, 키, CA 인증서)이 없는 경우 경고

네트워크 및 구성

검사 ID이름 실패(FAIL)/경고(WARN) 조건
#28a/bAgent-마스터 통신WARN Agent가 5671, 5672, 80 또는 443에서 마스터에 연결할 수 없는 경우 경고
#33-35JSON/Bash ConfigFAIL config.json, setup.json 또는 environment.bash가 없거나 잘못된 경우 실패
#36a알려진 결함이 있는 버전FAIL 현재 버전은 2025.3.0임(회귀 문제로 인한 업그레이드 차단)

서비스 및 백업

검사 ID이름 실패(FAIL)/경고(WARN) 조건
#38모든 RMT 서비스가 실행 중임WARN 중지된 각 서비스에 대해 경고
#38a중단된 프로세스FAIL 서비스가 중지된 후에도 남아 있는 tabrmt-* 프로세스가 있는 경우 실패
#39백그라운드 프로세서 실행 중WARN 호스트 프로세스가 실행되고 있지 않는 경우 경고
#40업그레이드 전 백업 미리 알림WARN 업그레이드 전에 구성을 백업하도록 미리 알림으로 경고
#41토폴로지INFO만 해당. 마스터/Agent 노드 유형 및 활성 에이전트 수(DB 포함)를 보고함
#42구성 요소 버전 인벤토리INFO만 해당. RMT, PostgreSQL, RabbitMQ, OpenSSL 버전을 보고함
#43컴퓨터 사양 요약INFO만 해당. OS, CPU 코어, RAM, 디스크 여유 공간을 보고함

 

업그레이드 후 상태 검사

이러한 검사는 업그레이드 후에 실행됩니다. 이는 차단되지 않으며 실패가 발생해도 업그레이드가 중지되지는 않지만 설치 후 문제가 발생함을 나타냅니다.

검사 ID이름 구성 요소실패(FAIL)/경고(WARN) 조건
#1a-d서비스 및 프로세스RMT Server, AgentFAIL 주, PG 또는 RMQ 서비스가 실행되고 있지 않는 경우 실패
#2호스트 프로세스 감독자RMT Server, AgentWARN 호스트 감독자 프로세스가 없는 경우 경고(자동 복구 없음)
#3a-b구성 파일 무결성RMT Server, AgentFAIL JSON이 없거나 잘못된 경우 실패
#4a-b파일 사용 권한RMT Server, AgentFAIL 서비스 계정으로 구성/로그 디렉터리를 읽거나 쓸 수 없는 경우 실패
#5a-d포트 수신 대기RMT ServerFAIL Web(443), AMQP(5672) 또는 DB(5555)가 수신 대기 중에 있지 않는 경우 실패
#6PostgreSQL 연결RMT ServerFAIL PostgreSQL이 연결을 허용하지 않는 경우 실패
#7RabbitMQ 상태RMT 서버SKIP 외부인 경우 건너뜁니다. FAIL 모든 재시도가 소진된 후 실패합니다.
#8a큐 소비자RMT ServerWARN 백로그가 있지만 활성 소비자가 없는 경우 경고(마스터 작업자 연결 끊김)
#9RMQ 경보RMT ServerFAIL 활성 메모리 또는 디스크 리소스 경보가 감지되는 경우 실패
#10RabbitMQ SSL 인증서RMT 서버FAIL 인증서가 만료된 경우 실패. WARN 인증서가 30일 이내에 만료되는 경우 경고
#11FIPS 일치RMT Server, AgentFAIL OS FIPS 상태가 isFIPSEnabled 구성과 불일치하는 경우 실패
#12웹 서버 HTTP 응답RMT 서버HTTP GET을 `https://localhost:<port>/authentication/login`으로 설정합니다. PASS 200 또는 302인 경우 통과. FAIL 연결 거부/시간 초과인 경우 실패. WARN 그 외 다른 오류인 경우 경고.
#13HTTPS 인증서 유효성RMT ServerFAIL 웹 서버 TLS 인증서가 만료된 경우 실패
#14a-d디스크 공간RMT Server, AgentFAIL 여유 공간이 1GB 미만인 경우 실패. WARN: 여유 공간이 5GB 미만인 경우 경고
#15최근 로그 오류RMT Server, AgentFAIL 로그에 FATAL 오류가 있는 경우 실패. WARN: CRITICAL 오류가 있는 경우 경고
#16RMT 상태RMT Server, AgentFAIL rmtadmin 상태가 오류 패턴을 반환하면 실패
#17Agent 로그 기록AgentAgent 데이터 디렉터리에서 로그 추적 파일(.history, .json)을 검사합니다. WARN 파일을 읽을 수 없거나 손상된 경우 경고
#18a-f인벤토리 버전RMT Server, AgentINFO RMT 버전, PostgreSQL 버전, RabbitMQ 버전, Erlang/OTP 버전, .NET Runtime(Windows) / OS(Linux), OS 버전(Windows) / 커널(Linux)에 대한 정보 제공

상태 검사 종료 코드

다음 종료 코드를 사용하여 업그레이드 전 및 업그레이드 후 상태 검사 스크립트의 결과를 해석할 수 있습니다.

업그레이드 전 스크립트

종료 코드상태 업그레이드 동작
0READY TO UPGRADE업그레이드 진행
1UPGRADE WITH CAUTION업그레이드가 진행되지만 경고를 검토해야 함
2Do not upgrade업그레이드가 취소됨
3Script Error실행 환경 검사

업그레이드 후 스크립트

종료 코드상태
0ALL PASSED
1WARNINGS PRESENT
2CRITICAL FAILURES

InstallerContext 심각도 변경

자동 Windows MSI 업그레이드 중에 -InstallerContext를 사용하여 실행하는 경우 다음 검사는 수동 기본값과 다르게 동작합니다. 기본(InstallerContext가 아닌) 동작은 'stopped but not Disabled' / 'port not listening' 상태에 대해 *이미* WARN으로 설정되어 있으며, FAIL은 `Stopped+Disabled` 상태에 한해 사용됩니다. `-InstallerContext`에서는 'Disabled' 분기조차도 WARN으로 보고되므로, 설치 프로그램이 곧 수정할 일시적인 상태 때문에 진행 중인 설치 프로그램 기반 업그레이드가 차단되는 일은 절대 없습니다.

검사 이름 기본값InstallerContext
#17PG 서비스WARN 중지된 경우 경고, FAIL 중지 및 비활성화된 경우 실패, INFO 모두 중지된 경우 정보 제공WARN
#18PG 포트WARN 수신 대기 중이 아닌 경우 경고, INFO 모든 서비스가 중지된 경우 정보 제공WARN
#22RabbitMQ 서비스WARN 중지된 경우 경고, FAIL 중지+비활성화된 경우 실패, INFO 모두 중지된 경우 정보 제공WARN
#23Port 5672 (AMQP)WARN 수신 대기 중이 아닌 경우 경고, INFO 모든 서비스가 중지된 경우 정보 제공WARN
#38a중단된 RMT 프로세스(검사 설명 참조)SKIP(설치 프로그램이 프로세스 수명 주기를 관리함)

업그레이드 전 임계값

임계값 RMT Server Agent단위
디스크 공간 FAIL205GB 여유 공간
디스크 공간 WARN5010GB 여유 공간
임시 디렉터리 FAIL55GB 여유 공간
임시 디렉터리 WARN1010GB 여유 공간
RAM FAIL84GB
RAM WARN168GB
CPU FAIL42코어
CPU WARN84코어
데이터베이스 크기 FAIL500-GB
데이터베이스 크기 WARN200-GB
Hangfire 스키마 FAIL10-GB
Hangfire 스키마 WARN1-GB
WAL 디렉터리 FAIL(Windows)10-GB
WAL 디렉터리 FAIL(Windows)2-GB
WAL 디렉터리 FAIL(Linux)10-GB
Mnesia 디렉터리 WARN5-GB
RabbitMQ 디스크 경보 FAIL10-GB 여유 공간
큐 백로그 WARN10,000-메시지
인증서 만료 WARN3030
정리 보존 WARN180-
데드 튜플 비율 WARN20-퍼센트
Agent 하트비트 시간 경과15-
네트워크 드라이버 사용 기간 WARN3-
로그 디렉터리 크기 WARN55GB
로그 디렉터리 크기 WARN(심각)2020GB

업그레이드 후 임계값

임계값단위
디스크 공간 FAIL1GB 여유 공간
디스크 공간 WARN5GB 여유 공간
인증서 만료 WARN30
큐 백로그 WARN10,000메시지
로그 검사 기간60
RabbitMQ 시작 재시도6회 시도 x 5초총 30초

 

지원되는 최소 구성 요소 버전

구성 요소최소 버전
RabbitMQ3.10.10 이상
Agent 버전2023.1.0 이상

자동화 및 CI/CD 통합

Linux의 경우:

```base
# Linux
sudo bash rmt-pre-upgrade-check.sh --component master --db-password "$DB_PASSWORD"
EXIT_CODE=$?
if [ $EXIT_CODE -eq 2 ]; then
echo "BLOCKED: Fix critical issues before upgrading"
exit 1
fi
```

Windows의 경우:

```powershell
# Windows
.\rmt-pre-upgrade-check.ps1 -Component master
if ($LASTEXITCODE -eq 2) {
Write-Error "BLOCKED: Fix critical issues before upgrading"
exit 1
}
```

 

설치 디렉터리 참조서

기초 진단 유틸리티를 수동으로 호출하거나 설치 구조를 확인하려면 플랫폼별 디렉터리 경로를 참조하십시오.

Linux 디렉터리 구조

```

/opt/tableau/tabrmt/ # Install root

+-- master/ # Master application binaries

+-- agent/ # Agent application binaries

+-- prerequisites/ # Bundled dependencies

/var/opt/tableau/tabrmt/ # Data root

+-- master/config/ # config.json, setup.json

+-- master/logs/ # Application logs

+-- data/postgresql15/ # PostgreSQL data files

+-- data/rabbitmq313/ # RabbitMQ data/mnesia

+-- data/ssl/ # TLS certificates

/etc/opt/tableau/tabrmt/

+-- master/environment.bash # Master environment variables

+-- agent/environment.bash # Agent environment variables

```

Windows 디렉터리 구조

```

C:\Program Files\Tableau\Tableau Resource Monitoring Tool\ # Install root

C:\ProgramData\Tableau\Tableau Resource Monitoring Tool\ # Data root

```

필수 네트워크 포트

포트서비스 방향
80RMT 웹 UI(HTTP)인바운드
443RMT 웹 UI(HTTPS)인바운드
5672RabbitMQ AMQPRMT 서버에서 인바운드
5671TLS를 통한 RabbitMQ AMQPRMT 서버에서 인바운드
15672RabbitMQ 관리 UI로컬
25672RabbitMQ 상호 노드로컬
5555내부 PostgreSQL로컬
피드백을 제공해 주셔서 감사합니다!귀하의 피드백이 제출되었습니다. 감사합니다!