콘텐츠로 이동

기본 인덱스 유형 생성



POST /api/v1/log_index_cfg/add

개요

기본 스토리지 유형의 인덱스 구성을 생성합니다.

Body 요청 파라미터

파라미터명 유형 필수 설명
name string Y 인덱스 이름
예시: xxx
빈 값 허용: False
최대 길이: 256
desc string 인덱스 설명
예시: xxx
빈 값 허용: False
빈 문자열 허용: True
최대 길이: 1024
extend json 프론트엔드 사용자 정의 데이터
빈 값 허용: True
duration string 데이터 보존 기간
빈 값 허용: False
예시: 7d
storagePolicy json 장기 스토리지 정책, 로그가 scopedb 스토리지인 워크스페이스만 활성화 가능; pay, enterprise, unlimited는 로그 장기 스토리지 지원, enterprise/unlimited의 logging 최대 1800d; enterprise/unlimited의 rp는 사용자 정의 장기 스토리지 기간 지원(최대 3600d), unlimited는 BossAccountSet 활성화 시 metric_point_total 과금 유형만 지원, 비활성화 시 metric_point_total로 처리; longStorageEnabled 및 longStorageDuration 포함
예시: {'longStorageEnabled': True, 'longStorageDuration': '180d'}
빈 값 허용: False
directIndex boolean 원시 직접 쓰기 인덱스, 기본값 false, 2025-06-25 릴리즈에서 추가됨
빈 값 허용: False
isFullLineIndex int 전체 행 인덱스 여부; 0/false는 message 필드 인덱스 유지, 1/true는 전체 행 인덱스, 기본값 0; 로그 스토리지가 scopedb인 워크스페이스만 1로 설정 가능
빈 값 허용: False
setting json 관련 설정 정보
빈 값 허용: False
setting.hot_retention int Volcengine 스토리지, 표준 스토리지-핫 스토리지
빈 값 허용: False
setting.cold_retention int Volcengine 스토리지, 저빈도 스토리지-콜드 데이터
빈 값 허용: False
setting.archive_retention int Volcengine 스토리지, 아카이브 스토리지-아카이브 데이터
빈 값 허용: False

파라미터 추가 설명

1. 요청 파라미터 설명

파라미터명 유형 필수 설명
name String 필수 인덱스 이름
desc String 인덱스 설명
extend Json 프론트엔드 표시용 확장 정보
duration Json 인덱스 총 스토리지 기간, 예시: 60d
directIndex Boolean 원시 직접 쓰기 인덱스, 기본값 false, 2025-06-25 릴리즈에서 추가됨
setting Json 로그가 Volcengine 스토리지인 경우 인덱스 설정 정보

2. setting 내 파라미터 설명

파라미터명 유형 필수 설명
hot_retention int 필수 표준 스토리지 - 핫 데이터, 전체 일수에 해당하는 시간 단위: 시간 h
cold_retention int 저빈도 스토리지 - 콜드 데이터, 전체 일수에 해당하는 시간 단위: 시간 h
archive_retention int 아카이브 스토리지 - 아카이브 데이터, 전체 일수에 해당하는 시간 단위: 시간 h

2.1, Volcengine 스토리지 기간 제한:
표준 스토리지: 핫 데이터 스토리지, 데이터 범위: 1-1800일. 저빈도 스토리지가 있는 경우 데이터 범위: 7-1800일; 아카이브 스토리지가 있는 경우 데이터 범위: 30-1800일.
저빈도 스토리지: 콜드 데이터 스토리지, 데이터 범위: 30-1800일.
아카이브 스토리지: 아카이브 데이터 등 스토리지, 데이터 범위: 60-1800일.
2.2, Volcengine 스토리지 기간 제한:
총 스토리지 기간(표준 스토리지 + 저빈도 스토리지 + 아카이브 스토리지)은 1800일을 초과할 수 없습니다.


3. extend 내 파라미터 설명

파라미터명 유형 필수 설명
matchMode String 매칭 모드, 가능한 값: basic, advanced; 기본값은 basic
filters Array[dict] 일반 매칭 필터 조건 목록, 원시 직접 쓰기 인덱스는 구성 불필요, advanced 모드에서는 빈 배열 전달 권장
advancedFilter Dict 고급 매칭 조건 트리, matchMode=advanced일 때 적용
extendFields Array 인덱스 확장 필드 정보
extendFields[*].tag String 필수 키 필드 이름
extendFields[*].alias String 키 필드 별칭
services String 매칭 서비스

4. extend.filters 본문 구조 설명

파라미터명 유형 필수 설명
condition string 이전 필터 조건과의 관계, 가능한 값: and, or; 기본값: and
name string 필터링할 필드 이름
operation string 연산자, 가능한 값: in, not_in
value array 값 목록
value[#] string/int/boolean 문자열/숫자/불리언 유형 가능

5. extend.advancedFilter 본문 구조 설명

파라미터명 유형 필수 설명
type string 필수 루트 노드는 고정적으로 group
condition string 필수 현재 그룹 내 하위 노드 관계, 가능한 값: and, or
filters array 필수 하위 노드 목록, 요소는 rule 또는 group 가능
filters[#].type string 필수 노드 유형, 가능한 값: rule, group
filters[#].name string rule 필수 로그 필드 이름
filters[#].operation string rule 필수 연산자, 가능한 값: =, !=, in, not_in, match, not_match, wildcard, not_wildcard, regexp, not_regexp, >, <, >=, <=, exist, not_exist
filters[#].value array rule 필수 값 목록, exist / not_exist는 빈 배열 사용

matchMode=advanced인 경우, 백엔드는 DQL where 스타일로 conditions를 생성합니다(예: IN, NOT IN, = match('xxx'), = wildcard('xxx')). 일반 filters는 기존 생성 형식을 유지합니다.


요청 예시

curl 'https://openapi.guance.com/api/v1/log_index_cfg/add' \
-H 'Accept: application/json, text/plain, */*' \
-H 'Accept-Language: zh' \
-H 'Content-Type: application/json;charset=UTF-8' \
-H 'DF-API-KEY: <DF-API-KEY>' \
--data-raw '{"name":"test_index","duration":"14d","isFullLineIndex":0,"extend":{"filters":[{"condition":"and","name":"host","operation":"in","value":["custom_host1"]}]}}' \
--compressed

응답

{
    "code": 200,
    "content": {
        "conditions": "{  `host` in [ 'custom_host1' ] }",
        "createAt": 1698751853,
        "creator": "xxx",
        "deleteAt": -1,
        "duration": "14d",
        "extend": {
            "filters": [
                {
                    "condition": "and",
                    "name": "host",
                    "operation": "in",
                    "value": [
                        "custom_host1"
                    ]
                }
            ]
        },
        "exterStoreName": "",
        "exterStoreProject": "",
        "externalResourceAccessCfgUUID": "",
        "id": null,
        "isBindCustomStore": 0,
        "isFullLineIndex": 0,
        "isPublicNetworkAccess": 0,
        "name": "test_index",
        "queryType": "logging",
        "region": "",
        "setting": {},
        "sortNo": 3,
        "status": 0,
        "storeType": "",
        "updateAt": 1698751853,
        "updator": "xxx",
        "uuid": "lgim_xxxx32",
        "workspaceUUID": "wksp_xxxx32"
    },
    "errorCode": "",
    "message": "",
    "success": true,
    "traceId": "TRACE-600346C3-6C89-4391-9CA3-2152D10149D8"
}

문서 평가

이 페이지가 도움이 되었나요?