로그 스키마 필드 목록 조회
지정한 로그 스키마의 필드 목록을 조회합니다.
필요 권한
사용자 이상의 계정으로 이용할 수 있습니다.
HTTP 요청
GET /api/sonar/log-schemas/:code/fields
cURL 예시
curl -H "Authorization: Bearer <API_KEY>" \
"https://HOSTNAME/api/sonar/log-schemas/session/fields?locale=ko"
요청 매개변수
| 키 | 필수 | 타입 | 설명 | 비고 |
|---|---|---|---|---|
| code | O | 문자열 | 코드 | 스키마 식별자 |
| field | X | 문자열 | 필드명 검색 패턴 | field_name에 포함된 문자열로 검색 |
| locale | X | 문자열 | 언어 | en, ko, zh 중 하나. 미지정 시 세션 언어 적용 |
| limit | X | 32비트 정수 | 최대 갯수 | field 미입력 시 전체 조회, 입력 시 기본값: 20 |
| offset | X | 32비트 정수 | 건너뛸 갯수 | 기본값: 0 |
| keywords | X | 문자열 | 통합 검색 키워드 | field_name, display_name, display_name_trans(로케일별)를 대상으로 검색 |
참고: field와 keywords 매개변수의 차이점
field: 필드 이름만 검색 (예:field=ip→src_ip,dst_ip등)keywords: 필드 이름 + 표시 이름 + 로케일별 표시 이름을 모두 검색 (예:keywords=IP→ 필드 이름src_ip, 표시 이름출발지IP, 등록된 번역Source IP모두 일치)
정상 응답
기본 스키마의 표시 이름은 설치 언어와 무관하게 한국어입니다. 번역이 등록된 필드는 display_name_trans도 함께 반환합니다.
field 매개변수가 없는 경우
스키마의 모든 필드를 조회합니다.
{
"schema_fields": [
{
"name": "_time",
"display_name": "시각",
"type": "DATE",
"ordinal": 1
},
{
"name": "src_ip",
"display_name": "출발지IP",
"type": "IP",
"ordinal": 2
}
]
}
field 매개변수가 있는 경우
필드명에 특정 문자열이 포함된 필드(예: field=ip)를 검색합니다.
{
"total_count": 4,
"schema_names": {
"session": { "neutral": "세션" }
},
"schema_fields": [
{
"schema_code": "session",
"name": "src_ip",
"display_name": "출발지IP",
"type": "IP",
"ordinal": 2
},
{
"schema_code": "session",
"name": "dst_ip",
"display_name": "목적지IP",
"type": "IP",
"ordinal": 4
},
{
"schema_code": "session",
"name": "nat_src_ip",
"display_name": "NAT출발지IP",
"type": "IP",
"ordinal": 9
},
{
"schema_code": "session",
"name": "nat_dst_ip",
"display_name": "NAT목적지IP",
"type": "IP",
"ordinal": 11
}
]
}
- total_count (32비트 정수): 검색 조건과 일치하는 전체 건수 (
field매개변수가 있을 때만 반환) - schema_names (맵): 스키마 코드별 이름 맵.
neutral키에 기본 이름, 번역이 등록된 로케일 키(en,ja등)에 번역 이름 (field매개변수가 있을 때만 반환) - schema_fields (배열): 로그 스키마 필드 목록
- schema_code (문자열): 스키마 코드 (
field매개변수가 있을 때만 반환) - name (문자열): 필드 이름
- display_name (문자열): 화면 표시 이름.
field매개변수가 있을 때locale에 해당하는 번역이 등록되어 있으면 번역된 이름 - display_name_trans (맵): 로케일별 표시 이름 번역.
field매개변수가 없고 번역이 등록된 경우에만 반환 - type (문자열): 유형.
DATE,STRING,IP,PORT,SHORT,INT,LONG,FLOAT,DOUBLE,BOOL,COUNTRY,MD5,SHA1,SHA256,URL,DOMAIN중 하나 - ordinal (32비트 정수): 필드 표시 순서
- schema_code (문자열): 스키마 코드 (
오류 응답
로그 스키마 조회 권한이 없는 경우
HTTP 상태 코드 500 응답
{
"error_code": "illegal-state",
"error_msg": "no-permission"
}
로그 스키마가 존재하지 않는 경우
HTTP 상태 코드 500 응답
{
"error_code": "illegal-state",
"error_msg": "cannot get log schema {code}"
}
지원하지 않는 언어를 지정한 경우
HTTP 상태 코드 400 응답
{
"error_code": "invalid-argument",
"error_msg": "unsupported-locale: ru"
}
offset, limit 값이 정수가 아닌 경우
HTTP 상태 코드 400 응답
{
"error_code": "invalid-argument",
"error_msg": "'offset' parameter should be int type"
}
offset, limit 값이 음수인 경우
HTTP 상태 코드 400 응답
{
"error_code": "invalid-argument",
"error_msg": "'offset' must be greater than or equal to 0."
}