수집 모델 수정

지정한 수집 모델을 수정합니다. 수집 유형(logger_factory_name)은 생성 시점에 고정되며 수정할 수 없습니다. 새 모델은 수집 모델 생성 API로 생성할 수 있습니다.

필요 권한

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

HTTP 요청

PUT /api/sonar/logger-models/:guid
cURL 예시
curl -H "Authorization: Bearer <API_KEY>" \
     -d name=NGINX \
     -d description=demo \
     -d 'rules=[{"name": "Web log", "log_schema_code": "web", "stream_query": "parse kv", "stream_interval": 60}]' \
     -X PUT \
     https://HOSTNAME/api/sonar/logger-models/cd09ae6f-fbc3-11ed-9320-02d178f999a6
요청 매개변수
경로 매개변수
타입설명비고
guid문자열수집 모델 GUID36자 GUID
요청 본문 매개변수
필수타입설명비고
nameO문자열수집 모델 이름최대 50자
descriptionX문자열수집 모델 설명최대 2,000자
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비트 정수): 스트림 쿼리 새로 고침 주기(초)

정상 응답

{}

오류 응답

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 model not found: 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"
}