로그 스키마 필드 목록 검색

로그 스키마를 작성할 때 참조할 수 있도록, 키워드를 통해 기존 로그 스키마의 필드명(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=ip"
요청 매개변수
필수타입설명비고
localeO문자열언어en, ko, zh 중 하나
limitX32비트 정수최대 갯수기본값: 10, 최소값: 0
typeO문자열검색 대상 타입field_name, display_name 중 하나
keywordsO문자열검색 키워드type으로 지정한 필드에서 검색할 문자열

정상 응답

{
  "total_count": 2,
  "schema_names": {
    "session": { "en": "Session", "ko": "세션" }
  },
  "schema_fields": [
    {
      "schema_code": "session",
      "name": "src_ip",
      "display_name": "Source IP",
      "type": "IP",
      "ordinal": 1
    },
    {
      "schema_code": "session",
      "name": "src_port",
      "display_name": "Source Port",
      "type": "PORT",
      "ordinal": 2
    }
  ]
}
응답 필드
필드타입설명
total_count32비트 정수검색 조건과 일치하는 전체 건수
schema_names객체언어별 로그 스키마 이름
schema_fields배열로그 스키마 필드 목록
schema_fields[].schema_code문자열스키마 코드
schema_fields[].name문자열필드 이름
schema_fields[].display_name문자열화면 표시 이름
schema_fields[].type문자열필드 유형. DATE, STRING, IP, PORT, SHORT, INT, LONG, FLOAT, DOUBLE, BOOL, COUNTRY, MD5, SHA1, SHA256, URL, DOMAIN 중 하나
schema_fields[].ordinal32비트 정수필드 표시 순서 (선택적)

오류 응답

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"
}