로그 스키마 필드 목록 조회
지정한 로그 스키마의 정규화 필드 목록을 조회합니다. 스키마 자체의 정의는 로그 스키마 조회 API로 확인할 수 있습니다.
필요 권한
사용자 이상의 계정으로 이용할 수 있습니다.
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 | 문자열 | 로그 스키마 코드 |
쿼리 매개변수
| 키 | 필수 | 타입 | 설명 | 비고 |
|---|---|---|---|---|
| field | X | 문자열 | 필드명 검색 패턴 | field_name에 포함된 문자열로 검색 |
| locale | X | 문자열 | 언어 | en, ko, zh 중 하나. 미지정 시 세션 언어 적용 |
| offset | X | 32비트 정수 | 건너뛸 갯수 | 0 이상. 기본값: 0 |
| limit | X | 32비트 정수 | 최대 갯수 | 0 이상. field 미지정 시 전체 조회 |
| keywords | X | 문자열 | 통합 검색 키워드 | field_name, display_name, 로케일별 표시 이름을 대상으로 검색 |
Note
field는 필드 이름만 검색하고, keywords는 필드 이름과 화면 표시 이름, 로케일별 표시 이름을 함께 검색합니다.
정상 응답
field 매개변수가 없는 경우
스키마의 모든 필드를 조회합니다.
{
"schema_fields": [
{
"name": "src_ip",
"display_name": "출발지IP",
"type": "IP",
"ordinal": 2
},
{
"name": "src_port",
"display_name": "출발지포트",
"type": "PORT",
"ordinal": 3
}
]
}
- schema_fields (배열): 로그 스키마 필드 목록
- name (문자열): 필드 이름
- display_name (문자열): 화면 표시 이름
- display_name_trans (맵, 선택적): 로케일별 표시 이름. 로케일별 표시 이름이 지정된 경우에만 출력됨.
- type (문자열): 필드 유형.
DATE,STRING,IP,PORT,SHORT,INT,LONG,COUNTRY,FLOAT,DOUBLE,BOOL,MD5,SHA1,URL,SHA256,DOMAIN중 하나. - ordinal (32비트 정수): 필드 표시 순서
field 매개변수가 있는 경우
필드명에 특정 문자열이 포함된 필드(예: field=ip)를 검색합니다.
{
"total_count": 2,
"schema_names": {
"session": { "en": "Session", "ko": "세션" }
},
"schema_fields": [
{
"schema_code": "session",
"name": "src_ip",
"display_name": "Source IP",
"type": "IP",
"ordinal": 2
},
{
"schema_code": "session",
"name": "dst_ip",
"display_name": "Destination IP",
"type": "IP",
"ordinal": 4
}
]
}
- total_count (32비트 정수): 검색 조건과 일치하는 전체 건수
- schema_names (맵): 스키마 코드별 로케일 이름
- schema_fields (배열): 로그 스키마 필드 목록
- schema_code (문자열): 스키마 코드
- name (문자열): 필드 이름
- display_name (문자열): 화면 표시 이름
- type (문자열): 필드 유형.
DATE,STRING,IP,PORT,SHORT,INT,LONG,COUNTRY,FLOAT,DOUBLE,BOOL,MD5,SHA1,URL,SHA256,DOMAIN중 하나. - ordinal (32비트 정수, 선택적): 필드 표시 순서
오류 응답
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."
}
권한이 없는 경우
HTTP 상태 코드 500 응답
{
"error_code": "illegal-state",
"error_msg": "no-permission"
}
지원하지 않는 언어를 지정한 경우
locale에 ko, en, zh 외의 값을 지정하면 발생합니다.
HTTP 상태 코드 500 응답
{
"error_code": "unsupported-locale: fr",
"error_msg": null
}