RUM Agent 설치
1. 모듈 설명
Real User Monitoring(RUM)은 모니터링 대상 서버에 에이전트를 직접 설치하지 않고, 모니터링하려는 HTML 파일의 head 태그에 JavaScript를 삽입하여 사용자 경험 데이터를 모니터링합니다.
2. 지원 환경
| 항목 | 내용 |
|---|---|
| Platform | Browser JavaScript (SDK) |
| Protocol | HTTPS → 수집 서버 (브라우저에서 직접 전송) |
| Target | Chrome 103 이상 Edge 103 이상 Firefox 114 이상 Safari 16 이상 Opera 89 이상 |
| Prereq | 수집 서버 HTTPS 지원 (Receiver v3.0.504.15.7 이상) 또는 HTTPS 프록시 구성 신뢰 인증서 적용 CORS(Cross-Origin Resource Sharing) 설정 세션 리플레이 크로스 도메인 허용 |
3. 사전 설정
3-1. exemone-receiver RUM 데이터 수집 설정
데이터 수집을 위한 포트 및 브라우저에 전송할 JS 파일 경로(receiver:rum:helper:path)를 설정해야 합니다. 기본으로 설정되어 있으나, RUM 패치 시 xm_js_helper.js 파일을 교체해야 합니다.
- Docker 설치 환경 파일 위치:
$EXEMONE_HOME/containers/exemone-receiver/configs/receiver.yaml - Binary 설치 환경 파일 위치:
$EXEMONE_HOME/services/exemone-receiver/configs/receiver.yaml
receiver:
grpc-port: 9009
intermax-port: 9010
http-port: 9008 #포트 설정
rum: #mx_js_helper.js 파일 위치 설정
helper:
path: /home/exemone/helper/xm_js_helper.js
Docker 설치 환경일 경우 docker-compose.yml 파일에 helper 경로와 포트가 정의되어 있어야 합니다.

3-2. HTTPS 세션 모니터링 설정
HTTPS 세션 데이터를 모니터링하려면 다음 절차를 진행하세요.
인증서 발급: 엑셈원 접속 IP를 대상으로
server.crt와server.key인증서를 발급하여 준비합니다.인증서 저장:
$EXEMONE_HOME/containers/exemone-receiver/certs경로에certs폴더를 생성한 후, 발급받은 인증서를 저장합니다.exemone-receiver에 인증서 설정:
receiver.yaml파일에 인증서 정보를 설정합니다.- Docker 설치 환경 파일 위치:
$EXEMONE_HOME/containers/exemone-receiver/configs/receiver.yaml - Binary 설치 환경 파일 위치:
$EXEMONE_HOME/services/exemone-receiver/configs/receiver.yaml
receiver:
rum:
tls:
enabled: true #tls 적용 여부
cert-file: /home/exemone/certs/server.crt #인증서 파일(브라우저에서 신뢰 가능한 인증서)
key-file: /home/exemone/certs/server.key #키 파일- Docker 설치 환경 파일 위치:
exemone-receiver 서비스 재시작: 다음 명령어를 사용하여
exemone-receiver서비스를 재시작합니다.#Docker 환경
sh $EXEMONE_HOME/scripts/restart.sh exemone-receiver
#Binary 환경
$EXEMONE_HOME/onctl restart exemone-receiverexemone-https에 인증서 설정:
http.conf파일에ssl_certificate와ssl_certificate_key를 추가합니다.- Docker 설치 환경 파일 위치:
$EXEMONE_HOME/containers/exemone-https/conf.d/http.conf - Binary 설치 환경 파일 위치:
$EXEMONE_HOME/services/exemone-https/conf.d/http.conf
server {
client_max_body_size 1G;
# listen port information
listen 8443 ssl http2;
# ssl information
ssl_certificate "../../../certs/server.crt"; # 추가
ssl_certificate_key "../../../certs/server.key"; # 추가
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 10m;
ssl_prefer_server_ciphers on;
# proxy
proxy_buffer_size 8k;
proxy_buffers 16 8k;
proxy_busy_buffers_size 32k;
# server information
add_header Strict-Transport-Security "max-age=61436000; includeSubDomains; preload;";
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers 'TLS_AES_128_GCM_SHA256:TLS_AES_256_GCM_SHA384:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256';
location / {
proxy_pass http://127.0.0.1:8080;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-Fr $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}Docker 설치 환경일 경우
docker-compose.yml파일에certs폴더 경로가 정의되어 있어야 합니다.- Docker 설치 환경 파일 위치:

exemone-https 서비스 재시작: 다음 명령어를 사용하여
exemone-https서비스를 재시작합니다.#Docker 환경
sh $EXEMONE_HOME/scripts/restart.sh exemone-https
#Binary 환경
$EXEMONE_HOME/onctl restart exemone-https
4. 설치 방법
4-1. RUM 애플리케이션 추가
- 좌측 메뉴에서 환경설정 > 애플리케이션 > RUM 메뉴로 이동합니다.
- RUM 애플리케이션 추가 버튼을 클릭합니다.

4-2. 애플리케이션 설정
애플리케이션을 식별할 수 있도록 이름 및 배포 환경 정보를 작성합니다.

4-3. 연결 설정
모니터링 대상과 연결할 exemone-receiver를 설정합니다.
- 프로토콜:
http,https중 선택합니다. - IP:
exemone-receiver접속 IP를 입력합니다. - 포트: RUM 기본 포트는
9008입니다.

4-4. 세션 설정
수집 세션을 설정합니다.

4-5. 연동 스크립트 복사
RUM 애플리케이션 저장 시 연동 스크립트가 팝업됩니다. 해당 스크립트를 복사하여 모니터링하려는 모든 HTML 페이지의 head 태그에 추가합니다.

연동 스크립트는 RUM 애플리케이션 목록의 Script for Connection 칼럼에 있는 보기 버튼을 클릭하여 다시 확인할 수 있습니다.

4-6. HTML 파일에 연동 스크립트 삽입
모니터링하려는 서버의 HTML 파일 내 head 태그에 5번 과정에서 복사한 연동 스크립트를 삽입합니다.

5. RUM 데이터 모니터링
애플리케이션 > 사용자 모니터링 화면으로 이동하면 액티브 세션 카운트 및 세션 로그에 대한 정보를 모니터링할 수 있습니다.
