로그 인덱스¶
시스템은 설정된 필터 조건에 따라 로그 데이터를 자동으로 해당 인덱스에 보관합니다. 여러 개의 로그 인덱스를 생성하여 다음을 수행할 수 있습니다.
- 비즈니스 라인, 환경 또는 프로젝트별로 로그 데이터 격리
- 인덱스별로 차별화된 스토리지 정책 구성
- 쿼리 성능 최적화 및 불필요한 데이터 스캔 감소
참고
❗️ 기본적으로 로그 인덱스는 생성할 수 없습니다. 고객 담당자에게 문의하여 이 기능을 활성화해 주세요.
생성¶
- 인덱스 생성 > 로그 인덱스 페이지로 이동합니다.
- 인덱스 이름을 입력합니다.
- 필요에 따라 설명을 추가합니다.
- 일치 조건을 추가합니다.
-
데이터 스토리지 정책을 구성합니다. 로그 보존 기간을 선택하면 기간 만료 후 자동으로 삭제됩니다.
- 배포 플랜 사용자는 보존 기간을 1일~1,800일 범위 내에서 사용자 정의할 수 있습니다.
-
필요에 따라 클론 인덱스를 구성합니다.
-
클론 구성에는 이름, 보존 기간, 클론 조건이 포함됩니다.
- 필요에 따라 고급 옵션을 구성합니다.
- 확인합니다.
일치 조건¶
일치 조건은 현재 인덱스에 로그가 포함될 필터 규칙을 정의합니다. 현재 일반 일치와 고급 일치 두 가지 구성 모드를 지원합니다.
일반 일치¶
일반 일치는 기존 구성 방식을 그대로 사용하며, 필터 로직이 비교적 간단한 시나리오에 적합합니다.
-
조건 관계를 선택합니다.
- 모든 조건 충족: 로그가 모든 필터 조건을 동시에 충족해야 현재 인덱스에 포함됩니다.
- 하나의 조건 충족: 로그가 하나의 필터 조건이라도 충족하면 현재 인덱스에 포함됩니다.
-
필터 조건을 추가합니다.
- 필드 이름:
source,service,host등 로그 필드를 선택합니다. - 연산자: 일치 방식을 선택합니다.
- 일치 값: 필드 값을 입력합니다. 여러 값은 쉼표로 구분합니다.
- 필드 이름:
일반 일치는 고정 필드를 사용하여 인덱스 분기를 빠르게 구성하는 데 적합합니다.
고급 일치¶
고급 일치는 보다 유연하게 일치 규칙을 조합해야 하는 시나리오에 적합합니다. 고급 일치를 활성화하면 로그 데이터가 Pipeline으로 전달되어 일치 여부를 판단하며, 이에 따라 비용이 발생합니다.
고급 일치에서는 여러 개의 필터 조건을 구성할 수 있으며, 각 조건에는 다음이 포함됩니다.
- 필드 이름: 판단할 로그 필드를 입력합니다.
- 일치 방식:
=,!=,in,not in,match,not match,wildcard,not wildcard를 지원합니다. - 일치 값: 필드에 해당하는 일치 값을 입력합니다.
필터 추가를 클릭하여 조건을 더 추가할 수 있으며, 모든 조건 지우기를 클릭하여 현재 구성된 모든 조건을 제거할 수 있습니다.
페이지 하단에는 표현식 미리보기가 표시되어 현재 필터 조건으로 최종 생성된 일치 표현식을 확인할 수 있습니다. 조건이 불완전하거나 표현식이 유효하지 않은 경우 페이지에 "필터 조건을 완성하거나 수정해 주세요"라는 메시지가 표시되며, 이때 필드 이름, 일치 방식 또는 일치 값을 보충한 후 저장해야 합니다.
참고
로그는 인덱스 목록 순서대로 일치하며, 일반 인덱스 일치 단계에서 최초로 일치하는 일반 인덱스에만 기록됩니다. 해당 일반 인덱스에 클론 규칙이 구성되어 있고 로그가 클론 조건을 충족하면 시스템이 추가로 비동기적으로 로그를 복사하여 해당 클론 인덱스에 기록합니다.
고급 옵션¶
고급 옵션은 기본적으로 펼쳐져 있으며, 여기에서 전체 텍스트 검색 인덱스 필드를 선택할 수 있습니다.
전체 텍스트 검색 인덱스 필드¶
-
message인덱스 필드만 사용(기본값): 전체 텍스트 검색은 원본message필드만 일치하며, 시스템은message에 대해 전체 텍스트 인덱스를 생성합니다. -
전체 라인 인덱스: 전체 텍스트 검색은 로그의 모든 비즈니스 필드(시스템 필드 제외)를 일치합니다. 시스템은 모든 비즈니스 필드를
variant에 통합하여 기록하고,variant에 대해서만 전체 텍스트 인덱스를 생성합니다.
로그에 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의 전체 데이터 스캔을 줄일 수 있습니다.
클론 인덱스 구성¶
일반 로그 인덱스를 생성하거나 편집할 때 필요에 따라 클론 인덱스를 구성할 수 있습니다.
- 로그 > 인덱스로 이동합니다.
- 로그 인덱스를 생성하거나 기존 일반 로그 인덱스를 편집합니다.
- 클론 인덱스 구성을 찾습니다.
- 클론 인덱스를 활성화합니다.
- 클론 인덱스 이름을 입력합니다.
- 클론 인덱스의 데이터 보존 기간을 설정합니다.
- 클론 조건을 추가합니다.
- 인덱스 구성을 저장합니다.
각 일반 인덱스는 최대 하나의 클론 인덱스만 구성할 수 있습니다.
클론 인덱스 이름¶
클론 인덱스 이름은 인덱스 목록과 로그 탐색기에서 해당 인덱스를 식별하는 데 사용됩니다.
이름 구성 시 다음 사항에 유의하세요.
- 클론 인덱스 이름은 현재 워크스페이스 내에서 고유해야 합니다.
- 클론 인덱스는 기존 일반 인덱스, 네이티브 다이렉트 인덱스, 외부 인덱스 또는 다른 클론 인덱스와 이름이 중복될 수 없습니다.
- 생성 후 클론 인덱스는 소스 인덱스의 하위 행으로 표시됩니다.
- 클론 인덱스는 다른 클론 인덱스의 소스가 될 수 없습니다.
보존 기간¶
클론 인덱스는 독립적인 데이터 보존 기간을 설정할 수 있지만, 소스 인덱스의 보존 기간을 초과할 수 없습니다.
| 소스 인덱스 보존 기간 | 클론 인덱스에 설정 가능한 보존 기간 |
|---|---|
| 7일 | 7일 이하 |
| 14일 | 14일 이하 |
| 30일 | 30일 이하 |
소스 인덱스의 보존 기간을 수정하는 경우 클론 인덱스의 보존 기간이 여전히 제한을 충족하는지 확인해야 합니다.
클론 인덱스의 로그는 보존 기간이 지나면 자동으로 삭제되며, 소스 인덱스의 원본 로그에는 영향을 미치지 않습니다.
클론 조건¶
클론 조건은 소스 인덱스의 로그를 클론 인덱스로 복사해야 하는지 여부를 판단하는 데 사용됩니다.
로그 필드를 기반으로 필터 규칙을 설정할 수 있습니다. 예를 들면 다음과 같습니다.
sourceserviceenvstatushost- 기타 로그 필드
다음 조건을 모두 충족하는 로그만 클론 인덱스에 포함됩니다.
- 로그가 소스 일반 인덱스에 성공적으로 기록되었습니다.
- 로그가 현재 구성된 클론 조건을 충족합니다.
- 클론 규칙이 해당 로그 기록 전에 이미 적용되었습니다.
클론 조건을 충족하지 않는 로그는 소스 인덱스에 정상적으로 계속 저장되지만 클론 인덱스로 복사되지는 않습니다.
데이터 내용¶
클론 인덱스는 소스 로그의 필드와 태그를 완전히 보존하며, 클론 조건에 사용된 필드만 보존하지는 않습니다.
복사된 로그에는 다음 내용이 포함됩니다.
- 원본 로그의 비즈니스 필드
- 원본 로그의 태그
- 원본 로그에 존재하는
message - 로그 쿼리 및 표시에 필요한 관련 정보
클론 작업은 소스 인덱스의 로그를 수정하거나 삭제하지 않습니다.
적용 범위¶
클론 규칙은 규칙이 적용된 후 소스 인덱스에 새로 기록된 로그에 대해서만 처리됩니다.
다음 작업이 완료된 후 시스템은 작업 적용 시간부터 후속 로그를 처리하기 시작합니다.
- 클론 규칙 생성
- 클론 규칙 활성화
- 클론 조건 수정
- 클론 인덱스 관련 구성 수정
시스템은 소스 인덱스를 자동으로 스캔하여 과거 데이터를 소급 적용하지 않습니다. 따라서 규칙이 적용되기 전에 소스 인덱스에 기록된 로그는 자동으로 클론 인덱스로 복사되지 않습니다.
예를 들어 2026-08-19 10:00:00에 클론 규칙을 활성화한 경우:
10:00:00이후에 새로 기록되고 조건을 충족하는 로그는 클론 인덱스에 포함될 수 있습니다.10:00:00이전에 존재하는 기존 로그는 자동으로 소급 적용되지 않습니다.
클론 인덱스 보기¶
클론 인덱스는 인덱스 목록에서 소스 인덱스의 하위 행으로 표시됩니다.
목록 표시는 다음 규칙을 따릅니다.
- 일반 인덱스는 1차 행으로 표시됩니다.
- 클론 인덱스는 소스 인덱스 아래에 위치합니다.
- 클론 인덱스는 일반 인덱스 정렬에 참여하지 않습니다.
- 클론 인덱스는 일반 인덱스 페이지 매김 수에 포함되지 않습니다.
- 일반 인덱스 순서를 조정하면 클론 인덱스는 소스 인덱스를 따라 이동합니다.
로그 > 탐색기로 이동하면 인덱스 목록에서 클론 인덱스를 명시적으로 선택하여 로그를 쿼리할 수 있습니다.
전체 로그의 쿼리 범위
전체 로그는 기본적으로 일반 인덱스만 쿼리하며, 클론 인덱스는 자동으로 포함되지 않습니다.
클론 데이터를 쿼리하려면 인덱스 목록에서 해당 클론 인덱스를 명시적으로 선택해야 합니다. 소스 일반 인덱스를 선택하는 경우에도 해당 클론 인덱스가 자동으로 함께 쿼리되지는 않습니다.
편집 및 활성화/비활성화¶
일반 인덱스를 편집할 때 해당 클론 규칙을 수정할 수 있습니다.
클론 규칙을 수정하거나 다시 활성화한 후에는:
- 새 규칙은 적용 시간 이후에 새로 기록된 로그에만 적용됩니다.
- 이미 클론 인덱스에 기록된 기존 로그는 새 규칙에 따라 다시 처리되지 않습니다.
- 이미 소스 인덱스에 기록된 기존 로그는 자동으로 소급 적용되지 않습니다.
- 규칙을 수정해도 소스 인덱스의 기존 로그 데이터는 변경되지 않습니다.
클론 규칙을 비활성화하면 이후 로그가 더 이상 클론 인덱스로 복사되지 않습니다. 클론 인덱스 내 보존 기간이 남아 있는 기존 로그는 계속 쿼리할 수 있습니다.
제한 사항¶
| 제한 항목 | 설명 |
|---|---|
| 소스 인덱스 | 일반 로그 인덱스만 클론 인덱스를 구성할 수 있습니다. |
| 클론 수량 | 각 일반 인덱스는 최대 하나의 클론 인덱스를 구성할 수 있습니다. |
| 클론 계층 | 클론 인덱스는 다른 클론 인덱스를 구성할 수 없습니다. |
| 보존 기간 | 클론 인덱스의 보존 기간은 소스 인덱스를 초과할 수 없습니다. |
| 데이터 범위 | 클론 규칙이 적용된 후 새로 기록된 로그에 대해서만 처리됩니다. |
| 기존 데이터 | 소스 인덱스의 기존 로그는 자동으로 소급 적용되지 않습니다. |
| 데이터 내용 | 원본 로그의 필드와 태그를 완전히 보존합니다. |
| 예외 처리 | 클론 실패는 소스 인덱스 기록에 영향을 미치지 않습니다. |
| 목록 정렬 | 클론 인덱스는 일반 인덱스 정렬 및 페이지 매김에 참여하지 않습니다. |
| 탐색기 쿼리 | 전체 로그는 클론 인덱스를 자동으로 포함하지 않으므로 명시적으로 선택해야 합니다. |
참고
- 클론 인덱스는 고빈도 쿼리의 데이터 범위를 좁히는 데 사용되며, 소스 일반 인덱스를 대체하지는 않습니다.
- 동일한 로그가 소스 인덱스와 클론 인덱스에 동시에 존재할 수 있습니다.
- 클론 조건을 수정해도 이미 기록된 기존 로그는 다시 처리되지 않습니다.
- 클론 데이터를 쿼리할 때는 로그 탐색기에서 해당 클론 인덱스를 명시적으로 선택하세요.
인덱스 제한¶
| 제한 항목 | 설명 |
|---|---|
| 총 개수 상한 | 6개(default 기본 인덱스 포함). 즉, 사용자 정의 인덱스는 최대 5개까지 생성할 수 있습니다. |
| 일치 메커니즘 | 순서대로 일치하며, 최초 일치하는 인덱스가 적용되고 이후 인덱스는 더 이상 일치하지 않습니다. |
| 보존 기간 | 배포 플랜은 1일~1,800일, SaaS 플랜은 페이지에서 선택 가능한 범위를 따릅니다. |
| 클론 인덱스 | 일반 인덱스당 최대 1개의 클론 인덱스; 클론 계층은 최대 1단계; 클론 보존 기간은 소스 인덱스를 초과할 수 없음; 일치 조건을 변경해도 기존 데이터는 소급 적용되지 않습니다. |
