수집 모델 생성

새 수집 모델을 생성합니다. 기존 모델의 설정은 수집 모델 수정 API로 변경할 수 있습니다.

필요 권한

관리자 이상의 계정으로 이용할 수 있습니다.

HTTP 요청

POST /api/sonar/logger-models
cURL 예시
curl -H "Authorization: Bearer <API_KEY>" \
     -d name=NGINX \
     -d logger_factory_name=dirwatch \
     -d 'rules=[{"name": "Web log", "log_schema_code": "web", "stream_query": "parse kv", "stream_interval": 60}]' \
     -X POST \
     https://HOSTNAME/api/sonar/logger-models
요청 매개변수
필수타입설명비고
guidX문자열수집 모델 GUID36자. 미지정 시 무작위 생성
nameO문자열수집 모델 이름최대 50자
descriptionX문자열수집 모델 설명최대 2,000자
logger_factory_nameO문자열수집 유형 식별자
parser_codeX문자열파서 식별자
common_stream_queryX문자열공통 스트림 쿼리최대 10,000자. 각 정규화 규칙의 스트림 쿼리 뒤에 공통 적용
rulesX객체 배열정규화 규칙 목록하단 참조

rules의 각 객체는 아래의 속성을 포함합니다:

  • guid (문자열): 정규화 규칙 GUID. 미지정 시 무작위 생성
  • name (문자열): 정규화 규칙 이름
  • log_schema_code (문자열): 로그 스키마 식별자
  • parser_code (문자열): 파서 식별자
  • filter (문자열): 필터 조건
  • stream_query (문자열): 기본 스트림 쿼리
  • extended_stream_query (문자열): 확장 스트림 쿼리
  • stream_interval (32비트 정수): 스트림 쿼리 새로 고침 주기(초)

정상 응답

{
  "guid": "cd09ae6f-fbc3-11ed-9320-02d178f999a6"
}
  • guid (문자열): 생성된 수집 모델 GUID

오류 응답

name 또는 logger_factory_name이 누락된 경우

HTTP 상태 코드 400 응답

{
  "error_code": "null-argument",
  "error_msg": "name should be not null"
}
name 값의 길이가 잘못된 경우

HTTP 상태 코드 400 응답

{
  "error_code": "invalid-argument",
  "error_msg": "'name' must be shorter than or equal to 50 characters."
}
description 값의 길이가 잘못된 경우

HTTP 상태 코드 400 응답

{
  "error_code": "invalid-argument",
  "error_msg": "'description' must be shorter than or equal to 2000 characters."
}
common_stream_query 값의 길이가 잘못된 경우

HTTP 상태 코드 400 응답

{
  "error_code": "invalid-argument",
  "error_msg": "'common_stream_query' must be shorter than or equal to 10000 characters."
}
guid가 GUID 형식이 아닌 경우

HTTP 상태 코드 400 응답

{
  "error_code": "invalid-param-type",
  "error_msg": "guid should be guid type."
}
파서가 존재하지 않는 경우

HTTP 상태 코드 500 응답

{
  "error_code": "illegal-state",
  "error_msg": "parser not found: nginx"
}
수집 유형이 존재하지 않는 경우

HTTP 상태 코드 500 응답

{
  "error_code": "illegal-state",
  "error_msg": "logger factory not found: unknown"
}
guid가 중복된 경우

HTTP 상태 코드 500 응답

{
  "error_code": "illegal-state",
  "error_msg": "duplicated logger model guid: cd09ae6f-fbc3-11ed-9320-02d178f999a6"
}
name이 중복된 경우

HTTP 상태 코드 500 응답

{
  "error_code": "illegal-state",
  "error_msg": "duplicated logger model name: NGINX"
}
권한이 없는 경우

HTTP 상태 코드 500 응답

{
  "error_code": "illegal-state",
  "error_msg": "no-permission"
}