로그 인덱스¶
시스템은 설정된 필터 조건에 따라 로그 데이터를 자동으로 해당 인덱스에 보관합니다. 로그 인덱스를 여러 개 생성하면 다음과 같은 작업을 할 수 있습니다.
- 비즈니스 라인, 환경 또는 프로젝트별로 로그 데이터를 격리
- 인덱스별로 차별화된 저장 정책 구성
- 쿼리 성능을 최적화하고 불필요한 데이터 스캔 최소화
주의
❗️ 기본적으로 로그 인덱스는 새로 만들 수 없습니다. 이 기능 사용을 원하시면 고객 담당자에게 신청하세요.
생성¶
- 인덱스 생성 > 로그 인덱스 페이지로 이동합니다.
- 인덱스 이름을 직접 입력합니다.
- 필요에 따라 설명을 추가합니다.
- 매칭 조건을 추가합니다.
-
데이터 저장 정책을 구성합니다. 로그 보존 기간을 선택하고 기간 만료 후 자동으로 삭제하도록 설정합니다.
- 배포 플랜 사용자는 저장 기간을 1일 ~ 1,800일 범위에서 직접 지정할 수 있습니다.
-
필요에 따라 클론 인덱스를 구성합니다.
-
클론 구성에는 이름, 저장 기간, 클론 조건이 포함됩니다.
-
필요에 따라 고급 옵션을 구성합니다.
- 확인합니다.
매칭 조건¶
매칭 조건은 로그가 현재 인덱스로 들어오는 기준(필터 규칙)을 정의하는 데 사용됩니다. 현재 일반 매칭과 고급 매칭 두 가지 구성 모드를 지원합니다.
일반 매칭¶
일반 매칭은 기존 구성 방식을 그대로 사용하며, 비교적 단순한 필터 로직에 적합합니다.
-
조건 관계를 선택합니다.
- 모든 조건 충족: 로그가 모든 필터 조건을 동시에 충족해야 현재 인덱스로 들어옵니다.
- 하나 이상의 조건 충족: 로그가 필터 조건 중 하나라도 충족하면 현재 인덱스로 들어옵니다.
-
필터 조건을 추가합니다.
- 필드 이름:
source,service,host등 로그 필드를 선택합니다. - 연산자: 매칭 방식을 선택합니다.
- 매칭 값: 필드 값을 입력합니다. 여러 값은 쉼표(,)로 구분합니다.
- 필드 이름:
일반 매칭은 고정 필드를 기준으로 인덱스 분기를 빠르게 구성할 때 적합합니다.
고급 매칭¶
고급 매칭은 매칭 규칙을 더 유연하게 조합해야 하는 시나리오에 적합합니다. 고급 매칭을 활성화하면 로그 데이터가 Pipeline으로 전달되어 매칭 판정이 수행되며 관련 비용이 발생합니다.
고급 매칭에서는 여러 필터 조건을 구성할 수 있으며, 각 조건에는 다음이 포함됩니다.
- 필드 이름: 판정할 로그 필드를 입력합니다.
- 매칭 방식:
=,!=,in,not in,match,not match,wildcard,not wildcard를 지원합니다. - 매칭 값: 필드에 해당하는 매칭 값을 입력합니다.
필터 추가를 클릭하면 조건을 계속 추가할 수 있고, 전체 조건 지우기를 클릭하면 현재 구성된 모든 조건을 제거할 수 있습니다.
페이지 하단에는 표현식 미리보기가 표시되어 현재 필터 조건이 최종 생성하는 매칭 표현식을 확인할 수 있습니다. 조건이 불완전하거나 표현식이 유효하지 않으면 페이지에 "필터 조건을 보완하거나 수정하세요"라는 안내가 표시되며, 이 경우 필드 이름, 매칭 방식 또는 매칭 값을 채운 뒤 저장해야 합니다.
주의
로그는 인덱스 목록 순서대로 매칭되며, 일반 인덱스 매칭 단계에서는 첫 번째로 매칭된 일반 인덱스에만 기록됩니다. 해당 일반 인덱스에 클론 규칙이 구성되어 있고 로그가 클론 조건을 충족하면 시스템은 해당 로그를 클론 인덱스에 비동기로 추가 복사합니다.
고급 옵션¶
고급 옵션은 기본적으로 펼쳐져 있으며, 여기에서 전체 텍스트 인덱스 필드를 확인하거나 선택할 수 있습니다.
전체 텍스트 인덱스 필드¶
-
전체 행 인덱스(새로 생성 시 기본값): 전체 텍스트 검색이 로그의 모든 비즈니스 필드를 매칭합니다. 시스템 필드는 포함되지 않습니다. 시스템은 비즈니스 필드를
variant로 통합하여 기록하며,variant에 대해서만 전체 텍스트 인덱스를 생성합니다. -
message인덱스 필드 전용(기존 구성 호환): 전체 텍스트 검색은 원본message필드만 매칭하며, 시스템은message에 대해 전체 텍스트 인덱스를 생성합니다.
새로 생성하는 로그 인덱스는 기본적으로 전체 행 인덱스를 사용합니다. 이미 message 인덱스 필드를 사용하는 기존 로그 인덱스는 계속 사용할 수 있으며, 전체 행 인덱스로 전환할 수도 있습니다. 이 전환은 단방향 작업으로, 전체 행 인덱스로 전환하면 더 이상 message 전용 인덱스로 되돌릴 수 없습니다.
전체 행 인덱스 로그에 message가 존재하는 경우 시스템은 해당 필드를 삭제하지 않고 일반 비즈니스 필드로 variant에 기록합니다. 시스템은 message와 variant에 대해 전체 텍스트 인덱스를 중복 생성하지 않으므로 중복 인덱스로 인한 추가 저장 비용이 발생하지 않습니다.
전체 행 인덱스의 데이터 처리 방식
message가 없는 경우:
비즈니스 필드 → variant → 전체 텍스트 인덱스
message가 있는 경우:
message + 기타 비즈니스 필드 → variant → 전체 텍스트 인덱스
message 존재 여부는 클라이언트 또는 Pipeline의 실제 처리 결과에 따라 달라집니다. 동일한 로그 인덱스에 message가 있는 로그와 없는 로그가 함께 포함될 수 있습니다.
DataKit JSON 필드 추출을 구성하거나 Pipeline에서 필드를 추출한 후 원본 message를 삭제해야 하는 경우 전체 행 인덱스를 참조하세요.
기존 "매칭 서비스" 기능은 로그 인덱스 매핑으로 이동했습니다.
클론 인덱스¶
클론 인덱스는 일반 로그 인덱스에서 특정 로그 데이터를 추가로 필터링하여 복사하는 데 사용됩니다. 쿼리 빈도가 높고 데이터 범위가 명확한 로그는 전용 클론 인덱스에 복사하면 쿼리 시 스캔해야 하는 데이터 양을 줄이고 로그 검색 효율을 높일 수 있습니다.
로그는 먼저 일반 인덱스의 정렬 순서에 따라 매칭되어 첫 번째로 매칭된 일반 인덱스에 기록됩니다. 기록이 완료되면 시스템은 해당 인덱스에 구성된 클론 조건에 따라 로그를 클론 인덱스로 복사해야 하는지 비동기로 판정합니다.
로그 업로드
↓
일반 인덱스를 순서대로 매칭
↓
첫 번째로 매칭된 일반 인덱스에 기록
↓
클론 규칙 구성 여부 판정
↓
클론 조건 충족 ──→ 클론 인덱스로 비동기 복사
클론 조건 미충족 ──→ 클론 실행 안 함
클론 작업은 비동기로 실행됩니다. 클론에 실패하더라도 로그가 소스 인덱스에 기록되는 데는 영향을 주지 않습니다.
사용 사례¶
클론 인덱스는 다음과 같은 시나리오에 적합합니다.
- 고빈도 쿼리가 일반 인덱스의 일부 로그만 대상으로 하는 경우
- 서비스, 환경, 상태, 비즈니스 유형 등 조건으로 쿼리 범위를 좁혀야 하는 경우
- 일반 인덱스의 데이터 양이 많아 자주 사용하는 쿼리의 스캔 양을 줄이고자 하는 경우
- 고빈도 쿼리 데이터에 더 짧은 보존 기간을 설정하고자 하는 경우
- 소스 인덱스의 전체 로그를 유지하면서 일상적인 문제 해결에 더 적합한 간결한 데이터 세트를 만들고자 하는 경우
예를 들어 일반 인덱스 application에 모든 애플리케이션 로그가 저장되어 있고, 일상적인 문제 해결에서 주로 프로덕션 환경의 오류 로그를 확인한다고 가정해 보겠습니다. 이때 application에 대해 클론 인덱스 application_error를 구성하고 다음과 같은 클론 조건을 설정할 수 있습니다.
조건을 충족하는 새 로그는 다음 위치에 함께 저장됩니다.
- 소스 인덱스:
application - 클론 인덱스:
application_error
프로덕션 환경의 오류 로그를 조회할 때는 application_error를 직접 선택하여 application 전체 데이터를 스캔하는 부담을 줄일 수 있습니다.
클론 인덱스 구성¶
일반 로그 인덱스를 새로 만들거나 편집할 때 필요에 따라 클론 인덱스를 구성할 수 있습니다.
- 로그 > 인덱스로 이동합니다.
- 로그 인덱스를 새로 만들거나 기존 일반 로그 인덱스를 편집합니다.
- 클론 인덱스 구성을 찾습니다.
- 클론 인덱스를 활성화합니다.
- 클론 인덱스 이름을 입력합니다.
- 클론 인덱스의 데이터 보존 기간을 설정합니다.
- 클론 조건을 추가합니다.
- 인덱스 구성을 저장합니다.
각 일반 인덱스에는 클론 인덱스를 최대 1개만 구성할 수 있습니다.
클론 인덱스 이름¶
클론 인덱스 이름은 인덱스 목록과 로그 탐색기에서 해당 인덱스를 식별하는 데 사용됩니다.
이름을 구성할 때 다음 사항에 유의하세요.
- 클론 인덱스 이름은 현재 워크스페이스 내에서 고유해야 합니다.
- 클론 인덱스는 기존 일반 인덱스, 네이티브 직접 쓰기 인덱스, 외부 인덱스 또는 다른 클론 인덱스와 이름이 같을 수 없습니다.
- 생성 후 클론 인덱스는 소스 인덱스의 하위 행으로 표시됩니다.
- 클론 인덱스는 다른 클론 인덱스의 소스가 될 수 없습니다.
보존 기간¶
클론 인덱스는 독립적인 데이터 보존 기간을 설정할 수 있지만, 소스 인덱스의 보존 기간을 초과할 수 없습니다.
| 소스 인덱스 보존 기간 | 클론 인덱스에 설정할 수 있는 보존 기간 |
|---|---|
| 7일 | 7일 이하 |
| 14일 | 14일 이하 |
| 30일 | 30일 이하 |
소스 인덱스의 보존 기간을 수정하는 경우 클론 인덱스의 보존 기간도 제한 조건을 여전히 충족하는지 확인해야 합니다.
클론 인덱스의 로그는 보존 기간이 만료되면 자동으로 삭제되며, 소스 인덱스의 원본 로그에는 영향을 주지 않습니다.
클론 조건¶
클론 조건은 소스 인덱스의 로그를 클론 인덱스로 복사해야 하는지 판정하는 데 사용됩니다.
로그 필드를 기준으로 필터 규칙을 설정할 수 있습니다. 예:
sourceserviceenvstatushost- 기타 로그 필드
다음 조건을 모두 충족하는 로그만 클론 인덱스로 들어옵니다.
- 로그가 소스 일반 인덱스에 성공적으로 기록되었습니다.
- 로그가 현재 구성된 클론 조건을 충족합니다.
- 클론 규칙이 해당 로그 기록 전에 이미 적용된 상태입니다.
클론 조건을 충족하지 못한 로그는 소스 인덱스에 정상적으로 저장되지만 클론 인덱스로는 복사되지 않습니다.
데이터 내용¶
클론 인덱스는 소스 로그의 필드와 태그를 완전히 유지하며, 클론 조건에 사용된 필드만 보관하지 않습니다.
복사된 로그에는 다음이 포함됩니다.
- 원본 로그의 비즈니스 필드
- 원본 로그의 태그
- 원본 로그에 존재하는
message - 로그를 쿼리하고 표시하는 데 필요한 관련 정보
클론 작업은 소스 인덱스의 로그를 수정하거나 삭제하지 않습니다.
적용 범위¶
클론 규칙은 규칙이 적용된 이후 소스 인덱스에 새로 기록되는 로그만 처리합니다.
다음 작업이 완료된 후 시스템은 모두 작업 적용 시점부터 이후의 로그를 처리합니다.
- 클론 규칙 새로 만들기
- 클론 규칙 활성화
- 클론 조건 수정
- 클론 인덱스 관련 구성 수정
시스템은 소스 인덱스를 자동으로 스캔하여 과거 데이터를 백필하지 않습니다. 따라서 규칙 적용 전에 소스 인덱스에 이미 기록된 로그는 클론 인덱스로 자동 복사되지 않습니다.
예를 들어 2026-08-19 10:00:00에 클론 규칙을 활성화한 경우:
10:00:00이후 새로 기록되고 조건을 충족하는 로그는 클론 인덱스로 들어올 수 있습니다.10:00:00이전에 이미 존재하는 기록 로그는 자동으로 백필되지 않습니다.
클론 인덱스 조회 및 사용¶
클론 인덱스는 소스 인덱스의 하위 노드로 표시됩니다. 소스 인덱스가 부모 노드이고 클론 인덱스가 자식 노드이며, 클론 인덱스가 있으면 인덱스 트리는 기본적으로 펼쳐집니다.
클론 인덱스에는 일반 인덱스와 구분할 수 있는 전용 아이콘 또는 표시가 나타납니다.
인덱스를 검색할 때:
- 소스 인덱스 이름으로 검색하면 해당 소스 인덱스와 클론 인덱스가 함께 표시됩니다.
- 클론 인덱스 이름으로 검색하면 해당 소스 인덱스가 상위 노드로 유지되어 인덱스 관계를 확인할 수 있습니다.
조회 시 다음 사항에 유의하세요.
- 소스 인덱스와 클론 인덱스는 동시에 선택할 수 없습니다.
- 소스 인덱스를 선택해도 해당 클론 인덱스가 자동으로 조회되지는 않습니다.
- 클론 인덱스를 선택하면 해당 클론 인덱스의 데이터만 조회됩니다.
- 와일드카드
*는 기본 인덱스와 모든 일반 인덱스를 포함하지만 클론 인덱스는 포함하지 않습니다. - 클론 인덱스를 조회할 때는 해당 클론 인덱스를 명시적으로 선택해야 합니다.
클론 인덱스는 다음 조회 항목에서 선택할 수 있습니다.
- 로그 탐색기
- 메트릭 분석
- 시나리오 차트 및 대시보드의 로그 DQL 편집기
- 대시보드 로그 보기 변수
- 로그 모니터 쿼리
클론 인덱스는 다음 구성 항목에서 독립 인덱스로 표시되지 않습니다.
- 인덱스 구성
- Pipeline
- 필드 매핑
- 데이터 라우팅
- 데이터 액세스 규칙
- 로그 정렬
- 데이터 소스 인덱스 선택기
편집 및 활성화/비활성화¶
일반 인덱스를 편집할 때 해당 클론 규칙을 수정할 수 있습니다.
클론 규칙을 수정하거나 다시 활성화한 후:
- 새 규칙은 적용 시점 이후 새로 기록되는 로그에만 적용됩니다.
- 이미 클론 인덱스에 기록된 기록 로그는 새 규칙에 따라 다시 처리되지 않습니다.
- 이미 소스 인덱스에 기록된 기록 로그는 자동으로 백필되지 않습니다.
- 규칙을 수정해도 소스 인덱스의 기존 로그 데이터는 변경되지 않습니다.
클론 규칙을 비활성화하면 이후 로그는 더 이상 클론 인덱스로 복사되지 않습니다. 클론 인덱스에 아직 보존 기간 내에 있는 기록 로그는 계속 조회할 수 있습니다.
제한 사항¶
| 제한 항목 | 설명 |
|---|---|
| 소스 인덱스 | 일반 로그 인덱스만 클론 인덱스를 구성할 수 있음 |
| 클론 수 | 각 일반 인덱스에 클론 인덱스 최대 1개 |
| 클론 계층 | 클론 인덱스는 클론 인덱스를 더 구성할 수 없음 |
| 보존 기간 | 클론 인덱스 보존 기간은 소스 인덱스를 초과할 수 없음 |
| 데이터 범위 | 클론 규칙 적용 후 새로 기록되는 로그만 처리 |
| 기록 데이터 | 소스 인덱스의 기록 로그는 자동으로 백필되지 않음 |
| 데이터 내용 | 원본 로그의 필드와 태그를 완전히 유지 |
| 예외 처리 | 클론 실패는 소스 인덱스 쓰기에 영향을 주지 않음 |
| 목록 정렬 | 클론 인덱스는 일반 인덱스 정렬 및 페이징에 참여하지 않음 |
| 탐색기 조회 | "전체 로그"는 클론 인덱스를 자동으로 포함하지 않으며 명시적으로 선택해야 함 |
주의
- 클론 인덱스는 고빈도 쿼리의 데이터 범위를 줄이기 위한 것이며, 소스 일반 인덱스를 대체하지 않습니다.
- 동일한 로그는 소스 인덱스와 클론 인덱스에 동시에 존재할 수 있습니다.
- 클론 조건을 수정해도 이미 기록된 기록 로그는 다시 처리되지 않습니다.
- 클론 데이터를 조회할 때는 로그 탐색기에서 해당 클론 인덱스를 명시적으로 선택하세요.
인덱스 제한¶
| 제한 항목 | 설명 |
|---|---|
| 총 개수 상한 | 6개(default 기본 인덱스 포함). 즉 사용자 정의 인덱스는 최대 5개 생성 가능 |
| 매칭 메커니즘 | 순서대로 매칭되며, 첫 번째로 매칭된 인덱스가 적용되고 이후 인덱스는 더 이상 매칭되지 않음 |
| 보존 기간 | 배포 플랜은 1일 ~ 1,800일 지원, SaaS 플랜은 페이지에서 선택 가능한 범위를 따름 |
| 클론 인덱스 | 일반 인덱스당 최대 1개 클론 인덱스, 클론 계층 최대 1단계, 클론 보존 기간은 소스 인덱스 이하, 매칭 조건 변경 시 기록 데이터는 백필되지 않음 |
