로그 스키마 필드 목록 검색
로그 스키마를 작성할 때 참조할 수 있도록, 키워드를 통해 기존 로그 스키마의 필드명(field_name) 또는 표시명(display_name)을 검색합니다.
필요 권한
사용자 이상의 계정으로 이용할 수 있습니다.
HTTP 요청
GET /api/sonar/log-schema-assist/fields
cURL 예시
curl -H "Authorization: Bearer <API_KEY>" \
"https://HOSTNAME/api/sonar/log-schema-assist/fields?locale=ko&type=field_name&keywords=country"
요청 매개변수
| 키 | 필수 | 타입 | 설명 | 비고 |
|---|---|---|---|---|
| locale | O | 문자열 | 언어 | en, ko, zh 중 하나 |
| limit | X | 32비트 정수 | 최대 갯수 | 기본값: 10, 최솟값: 0 |
| type | O | 문자열 | 검색 대상 타입 | field_name, display_name 중 하나 |
| keywords | O | 문자열 | 검색 키워드 | type으로 지정한 필드에서 검색할 문자열 |
정상 응답
아래는 keywords=country로 필드 이름을 검색한 예시입니다. 기본 스키마의 이름과 표시 이름은 설치 언어와 무관하게 한국어입니다.
{
"total_count": 3,
"schema_names": {
"session": { "neutral": "세션" },
"logpresso-cti-ip": { "neutral": "로그프레소 CTI IP" }
},
"schema_fields": [
{
"schema_code": "session",
"name": "src_country",
"display_name": "출발지국가",
"type": "COUNTRY",
"ordinal": 21
},
{
"schema_code": "session",
"name": "dst_country",
"display_name": "목적지국가",
"type": "COUNTRY",
"ordinal": 22
},
{
"schema_code": "logpresso-cti-ip",
"name": "country",
"display_name": "국가",
"type": "STRING",
"ordinal": 4
}
]
}
응답 필드
| 필드 | 타입 | 설명 |
|---|---|---|
| total_count | 32비트 정수 | 검색 조건과 일치하는 전체 건수 |
| schema_names | 객체 | 스키마 코드별 이름 맵. neutral 키에 기본 이름, 번역이 등록된 로케일 키에 번역 이름 |
| schema_fields | 배열 | 로그 스키마 필드 목록 |
| schema_fields[].schema_code | 문자열 | 스키마 코드 |
| schema_fields[].name | 문자열 | 필드 이름 |
| schema_fields[].display_name | 문자열 | 화면 표시 이름. locale에 해당하는 번역이 등록되어 있으면 번역된 이름 |
| schema_fields[].type | 문자열 | 필드 유형. DATE, STRING, IP, PORT, SHORT, INT, LONG, FLOAT, DOUBLE, BOOL, COUNTRY, MD5, SHA1, SHA256, URL, DOMAIN 중 하나 |
| schema_fields[].ordinal | 32비트 정수 | 필드 표시 순서 (선택적) |
오류 응답
locale: 지원하지 않는 언어 로케일
HTTP 상태 코드 400 응답
{
"error_code": "invalid-argument",
"error_msg": "unsupported-locale: ru"
}
type: 유효하지 않은 값
HTTP 상태 코드 400 응답
{
"error_code": "invalid-argument",
"error_msg": "invalid-type: wrong-parameter"
}
keywords: 매개변수 누락
HTTP 상태 코드 400 응답
{
"error_code": "invalid-argument",
"error_msg": "keywords-required"
}
limit: 잘못된 타입
HTTP 상태 코드 400 응답
{
"error_code": "invalid-argument",
"error_msg": "'limit' parameter should be int type"
}
limit: 음수값
HTTP 상태 코드 400 응답
{
"error_code": "invalid-argument",
"error_msg": "'limit' must be greater than or equal to 0."
}
권한: 스키마 조회 권한 없음
HTTP 상태 코드 500 응답
{
"error_code": "illegal-state",
"error_msg": "no-permission"
}