본문으로 건너뛰기

exemONE 데이터 보관 설정 / Custom Stat / 수집 주기 관리 기능 가이드


데이터 관리

1. 데이터 보관 설정

1-1. 개요

메뉴 경로: 환경설정 > 데이터 > 보관 주기 탭

플랫폼별 데이터 테이블 목록을 확인하고, 보관 주기 및 테이블 보관 용량을 설정하여 수집 서버 디스크 용량을 관리합니다.


1-2. 기본 뷰 화면 설명

항목설명
Platform플랫폼 종류
Table Name테이블 이름
Description테이블 설명
Size테이블이 사용하고 있는 현재 크기
Retention (Day)보관 주기
Average Daily Usage (GB)하루 평균 사용 크기
Maximum Daily Usage (GB)하루 최대 사용 크기
Size Limit테이블의 Limit 정보

1-3. 신규 설치 및 패치 시 기본값

항목내용
신규 설치 기본값보관 주기 90일, 테이블 보관 용량 10GB
패치 시기존 테이블 설정값 유지, 신규 생성 테이블은 기본값 적용
메타데이터 테이블등록정보 및 메타데이터 성격의 테이블은 보관 주기 기본값이 "제한 없음" 으로 적용

메타테이블 목록 (영구 보존 대상 주요 예시):

altibase_literal_sql_text / altibase_normalized_sql_text
application_db_info / application_jvm_info / application_properties
aws_alarm / aws_ec2 / aws_rds
clickhouse_literal_sql_text / clickhouse_normalized_sql_text
database_host_history / database_info
infra_system_info / inserted_sql_stat / inserted_sql_stat_v2
redis_cluster_info / redis_info
target_status / tibero_sql_text_v2 외 다수

1-4. 보관 주기 설정

메뉴 경로: 환경설정 > 데이터 > 보관 주기 > 테이블 목록

설정하고자 하는 테이블을 체크 후 오른쪽 상단 [Retention Setting] 버튼을 클릭하여 설정합니다.

보관 주기를 변경할 테이블의 체크박스를 선택 후 [Retention Setting] 버튼을 클릭합니다.

보관 주기를 입력하여 변경합니다.

순번항목내용
1Platform플랫폼 종류
2Table Name테이블 이름
3Description테이블 설명
4Size테이블이 사용하고 있는 현재 크기
5Retention (Day)보관 주기
6Average Daily Usage (GB)하루 평균 사용 크기
7Maximum Daily Usage (GB)하루 최대 사용 크기
8Size Limit테이블의 Limit 정보
9ButtonCancel: 보관 주기 설정 취소 / Apply: 보관 주기 설정 적용

설정 관련 주요 사항:

항목내용
설정 방법날짜를 직접 지정하거나 "제한 없음" 토글 활성화로 무제한 설정 가능
변경 후 적용 소요 시간변경 후 적용까지 약 1분 소요
보관 주기 체크 주기기본 1분

1-5. 테이블 보관 용량 설정

전제 조건: 테이블 보관 용량 설정은 "로깅" 플랫폼인 경우만 설정 가능하며, 설정 불가능한 테이블의 경우 "제한 없음"이 기본값으로 적용됩니다.

항목내용
설정 단위MB / GB 단위로 직접 설정 또는 "제한 없음" 설정
"제한 없음" 설정 시테이블 용량을 체크하지 않음
테이블 보관 용량 체크 주기기본 1시간
용량 초과 시 동작테이블 크기가 설정값을 초과하는 경우 가장 오래된 데이터부터 삭제 진행, 설정된 Size Limit이 될 때까지 반복


1-6. 테이블 관계 규칙

특정 테이블의 경우 아래와 같이 생성 및 변경 규칙이 적용됩니다.

규칙 1: _1, _2 테이블

연계 테이블의 설정값을 상속하며, 해당 테이블 변경 시 상위 테이블 변경이 필요합니다.

항목내용
예시alert_history_agg_10min 보관 주기 변경 시 alert_history_agg_10min_1 테이블도 같이 변경
단독 변경_1, _2 테이블 단독 변경 불가 (변경 시 관련 테이블 일괄 변경 필요)

규칙 2: _v2, _v3 테이블

연계 테이블과 동일한 Merge 엔진인 경우만 설정값이 상속됩니다.

항목내용
예시oracle_sql_plan, oracle_sql_plan_v2는 MergeTree 엔진으로, oracle_sql_plan 설정값 변경 시 oracle_sql_plan_v2도 같이 변경
단독 변경동일 Merge 엔진인 경우 단독 변경 불가
엔진 확인 방법xm_meta_clickhouse_table 테이블에서 확인 가능

규칙 3: Merge 그룹 신규 테이블 추가

항목내용
동작Merge 그룹에 새로운 테이블 추가 시, Merge 그룹 테이블 중 가장 큰 보관 주기로 동기화
예시table_v1, table_v1_1, table_v1_2가 각각 30, 60, unlimited(0)일이면 새로 추가되는 테이블과 table_v1은 unlimited로 동기화

1-7. 보관 주기 체크 주기 변경

테이블 보관 주기 체크 주기를 빠르게 적용하려면 CORE 환경 변수 설정을 통해 변경 가능합니다.

(도커 설치 기준) $EXEMONE_HOME/docker-compose.yml 파일 내 core 항목에 환경변수를 추가합니다.

# $EXEMONE_HOME/docker-compose.yml 파일 중 core 설정
environment:
HOST_UID: ${EXEMONE_USER_UID}
HOST_GID: ${EXEMONE_USER_GID}
SIZE_RETENTION_INTERVAL: 2 # 2분 주기 체크

2. Custom Stat

2-1. 개요

메뉴 경로: Setting > Management > Custom Stat

SQL, Shell Script를 통해 사용자가 직접 지표를 생성하고 수집할 수 있는 기능입니다.

전제 조건:

항목내용
Shell Script 실행 조건Host Agent가 설치된 서버에서만 실행 가능
SQL 실행 조건Database 인스턴스가 등록된 경우에만 실행 가능
대상 OSLinux, Windows
수집 데이터 형식지표는 숫자로만 표현 가능
접근 권한Master, Admin만 접근 가능

순번항목내용
1Custom StatShell Script 또는 SQL Script를 통해 사용자 지표를 생성합니다.
2Collection Schedule ManagementCustom Stat에서 생성한 지표를 수집하는 스케줄을 생성합니다.

2-2. Scripts to Create Stat (스크립트 생성 화면)

스크립트 및 폴더를 생성하는 화면입니다.

순번항목내용
1New Script새로운 스크립트를 생성합니다.
2Create FolderScript Folder를 생성합니다.
3Search리스트에서 각 칼럼 정보로 Script를 검색합니다. 대소문자 구분 없이 입력합니다. 검색 결과가 없을 경우 'No data.'를 보여줍니다.
4Folder List저장된 Script 리스트를 출력합니다. Script가 실행 가능한 플랫폼을 아이콘으로 출력합니다. Schedule이 등록된 경우 아이콘을 출력합니다.

2-3. New Script (스크립트 생성)

순번항목내용
1New Script새로운 스크립트 생성
2Script TypeScript Type 선택 (Shell Script / SQL)
3Search리스트에서 각 칼럼 정보로 검색. 대소문자 구분 없음
4Select Test Target테스트를 실행할 타겟을 선택합니다.
5SelectedSelect Test Target에서 선택한 타겟 이름을 출력합니다.
6SaveScript를 저장합니다.
7Save AsScript를 다른 이름으로 저장합니다.
8ResetScript를 처음 상태로 되돌립니다.
9ScriptScript 작성 화면입니다.
10CopyScript 내용을 복사합니다.
11Your Recent Script최근 실행한 Script 리스트를 출력합니다. 현재 열려있는 Script Type과 동일한 Script만 출력합니다.
12DelimiterScript 결과 출력되는 지표 값 구분자입니다. 쉼표(,) 또는 탭(\t) 등 사용 가능합니다.
13Host Encoding TypeServer에서 Script 실행할 인코딩 타입입니다.
14Clear AllScript 내용을 초기화합니다.

2-4. Test Script / Define Stat

작성한 Script를 실행하여 결과값을 확인하고 지표를 정의하는 화면입니다.

순번항목내용
1Script Timeout설정된 Timeout 값 이상 Script 실행 시, 타임아웃이 발생됩니다.
2Run Test작성한 Script를 실행합니다.
3Test ResultRun Test 결과를 출력합니다.
4Define Stat수집 지표를 정의합니다. Data ID: Clickhouse DB > xmdatas 테이블에 저장될 data_id 정의 (`cm` Prefix 자동 추가) / Stat Name: 지표 선택 화면에서 출력될 지표 이름 / Description: 지표 설명 / Unit: 지표 단위

Define Stat - Data ID 예시:

입력값실제 저장값
ogu_memory_usedcm_ogu_memory_used

Run Test Status 종류:

Status의미출력 메시지
Finished정상적으로 데이터가 수집됨-
Failed스크립트 오류 또는 타겟 연결 실패NOT FINISHED
Stopped사용자가 수동으로 중단The operation has stopped.
Timeout지정된 시간 내에 응답이 없음Timeout has occurred.

2-5. 사용자 지표 등록 단계별 방법

단계항목설명
Step 1새로운 스크립트 생성[New Script] 버튼 클릭 → 각 Script Type에 따른 기본 템플릿 출력
Step 2~3Script Type 선택SQL 또는 Shell Script 형식 선택 / Oracle, MySQL, PostgreSQL, SQL Server, Linux/Unix 등 타겟 타입 선택
Step 4스크립트를 실행할 타겟 선택MySQL 스크립트라면 MySQL 서버를, Linux 명령어라면 해당 OS를 실행 타겟으로 선택
Step 5스크립트 작성스크립트 결과값이 {결과값1}{구분자}{결과값2} 형식으로 출력되도록 작성 (구분자 간 빈 칸이나 다른 문자 없이)
Step 6Delimiter 작성스크립트 결과값의 구분자를 입력합니다.
Step 7스크립트 실행 테스트[Run Test] 클릭 → 선택한 Target과 작성한 Script 실행
Step 8~10데이터 정의 (Define Stat)Data ID, Stat Name, Unit 정의

스크립트 작성 예제:

sleep 10
ifstat | grep en | awk '{print $2 "," $3}'

2-6. 사용자 지표 모니터링 방법

Dashboard > Metric 위젯으로 등록하여 사용 가능합니다.

커스텀 지표로 사용 시:

순서방법
1'쿼리 정의 지표 사용' 옵션 적용
2지표 설정 클릭
3카테고리 하단에 [Custom] Custom Stat_{사용자 지표 타입}에서 지표 선택

참조 변수 설정:

변수설명
fromTime, toTime시간 구간
targetIds타겟

일반 지표로 사용 시:

순서방법
1지표 설정 클릭
2카테고리 하단에 [Custom] Custom Stat_{사용자 지표 타입}에서 지표 선택
3사용자 지표 타입(DB, OS 타입)에 따라 스케줄에서 적용한 타겟 혹은 동일한 플랫폼의 타겟을 선택

3. 수집 주기 관리

수집 주기 관리는 크게 2가지로 구분됩니다.


3-1. Metric Collection Cycle Management (지표 수집 주기 관리)

메뉴 경로: Setting > Management > Data > Metric Collection Cycle Management

Categories 영역

순번항목내용
1SearchCategories 이름을 검색합니다.
2CategoriesCategories List입니다.

Metric Collection List 영역 (카테고리 선택 시 표시)

순번항목내용
1Setting Add메트릭 수집 설정을 추가합니다.
2Delete선택한 설정을 삭제합니다.
3Search컬럼의 데이터를 검색합니다.
4Check Box목록을 선택합니다. 기본 목록과 대상이 설정된 목록은 삭제할 수 없습니다.
5Collection Name설정 이름입니다.
6Target메트릭 수집 설정을 사용하고 있는 대상 정보입니다.
7Description메트릭 수집 설정에 대한 상세 설명 정보입니다.

Metric Collection Setting 상세 (Collection Detail Slide)

순번항목내용
1TitleCollection 타이틀을 보여줍니다.
4Information컬렉션 기본 정보 (Metric Collection Setting Name, Description)
5Set Targets메트릭 수집 설정(컬렉션)을 사용하고 있는 타겟 목록
6Metric Setting메트릭 컬렉션에 설정된 메트릭 정보 (Collect Active / Metric / Timeout(sec) / Interval(sec))
7Metric Collection Setting메트릭 수집 설정 화면 (Metric Collection Setting Information / Applied to ~ targets / Metric Setting)

Interval 값 설정 가능 범위:

설정 가능 값
1초, 3초, 5초, 10초, 15초, 20초, 30초, 1분, 10분, 1시간, 1일

Database 플랫폼 지표 수집 주기 설정 방법 (2가지):

방법경로
방법 1Setting > Data > Metric Collection Cycle Management에서 데이터베이스 지표 수집 활성화 및 주기 관리 설정
방법 2Setting > Database > Target Instance Add/Edit > Database Metric Collection Setting에서 인스턴스별 지표 수집 활성화 및 주기 관리 설정


3-2. Custom Stat Collection Schedule Management (수집 스케줄 관리)

메뉴 경로: Setting > Management > Custom Stat > Collection Schedule Management

Custom Stat에서 등록한 데이터 지표를 수집하기 위한 스케줄을 등록하는 화면입니다.

순번항목내용
1Collection Schedule GroupCollection Schedule 그룹 목록을 보여줍니다.
2Collect Schedule ListCollection Schedule 목록을 보여줍니다.

Collection Schedule Group

순번항목내용
1SearchCollection Schedule 그룹을 검색합니다.
2Add Group그룹 추가 팝업창이 열립니다.
3Default기본 그룹입니다. 수정, 삭제 불가합니다. Collection Schedule 연결된 개수 / 전체 개수를 보여줍니다.
4User Group사용자가 등록한 목록을 보여줍니다. Edit: 수정 팝업창 / Delete: 삭제 팝업창

Add Collection Schedule Group:

순번항목내용
1Group Name그룹 이름을 입력합니다. 최대 50자까지 입력 가능합니다. 동일한 이름은 중복 설정 불가합니다.
2Description그룹 설명을 입력합니다.

Collection Schedule List

순번항목내용
1RefreshCollection Schedule 목록을 새로고침합니다.
2Search각 칼럼 정보로 Collection Schedule을 검색합니다.
3CheckboxCollection Schedule 목록 선택 시 'Move Group'이 활성화됩니다.
4View ModeAll: 모든 Collection Schedule 출력 / View Activated Only: 활성화 상태만 출력 / View Disabled Only: 비활성화 상태만 출력
5Add Schedule스케줄 추가 버튼
6Move Group그룹 이동 버튼
7Delete삭제 버튼
9Collection Schedule ListCollection Schedule Name / Collected Target / Deactivated Target / Collection Interval / Timeout(sec) / Last Collection Time / Collection Log / Last Edit Time / Activation / Description

Add/Edit Collection Schedule (스케줄 추가/수정)

순번항목내용
1Schedule NameSchedule 이름을 입력합니다.
2DescriptionSchedule 설명을 입력합니다.
3Schedule GroupSchedule 그룹을 선택합니다.
4Collection Interval수집 주기를 선택합니다.
5Timeout수집 타임아웃을 설정합니다. 해당 시간이 초과할 경우 데이터가 수집되지 않습니다.
6Custom StatCustom Stat에서 생성한 수집 지표를 선택합니다. Custom Stat에서 생성한 Stat Name이 출력됩니다.
7Target데이터를 수집할 대상을 선택합니다. (Host 서버 혹은 DB 인스턴스)
8Run Test데이터 수집 테스트를 수행합니다. 하단 그리드에 수집 결과가 출력됩니다. (Collection Time / Collection Target / Script Execution Result / Message / Metric Validity / Metric Mapping Value)
9Activate collection데이터 수집 활성화 여부를 설정합니다.


4. 주요 주의사항

항목내용
데이터 보관 주기 미설정 시데이터가 영구 저장되어 디스크 Full이 발생할 수 있습니다.
보관 주기 변경 후 적용변경 후 적용까지 약 1분 소요되며, 실제 데이터 삭제는 Merge 작업 속도에 따라 시간이 소요됩니다.
_1, _2 테이블 변경연계 테이블과 함께 일괄 변경이 필요하며, 단독 변경이 불가합니다.
테이블 보관 용량 설정 대상로깅 플랫폼만 설정 가능합니다.
Custom Stat Shell Script반드시 Host Agent가 설치된 서버에서만 실행됩니다.
Custom Stat 수집 데이터숫자(Number)만 가능하며, 문자열은 수집되지 않습니다.
Collection Schedule 활성화Activate collection을 반드시 활성화해야 실제 데이터가 수집됩니다.
기본 목록 삭제 불가기본 목록 및 대상이 설정된 목록은 삭제 불가합니다.
데이터 수집 미동작 시타임아웃 시간을 늘린 후 데이터 수집을 확인합니다.
Windows Custom StatCollection Interval은 10초 이상 권장합니다.

참고 문서: