수집 모델 생성
새 수집 모델을 추가합니다. 이 작업은 관리자 권한을 요구합니다.
필요 권한
관리자 이상의 계정으로 이용할 수 있습니다.
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": "rex field=line \"(?<src_ip>\\S+) \\S+ \\S+ \\[(?<event_time>\\S+ \\S+)\\] \\\"\\S+ \\S+ \\S+\\\" (?<status>\\d+) (?<sc_bytes>\\d+) \\S+ \\\"(?<user_agent>[^\\\"]+)\" | eval event_time = date(event_time, \"dd/MMM/yyyy:HH:mm:ss Z\"), src_ip = ip(src_ip), sc_bytes = long(sc_bytes)", "stream_interval": 0}]' \
-X POST https://HOSTNAME/api/sonar/logger-models
요청 매개변수
| 키 | 필수 | 타입 | 설명 | 비고 |
|---|---|---|---|---|
| guid | X | 문자열 | 수집 모델 식별자 | 36자 GUID. 미설정 시 무작위 생성 |
| name | O | 문자열 | 수집 모델 이름 | 최소 1자, 최대 50자 |
| description | X | 문자열 | 수집 모델 설명 | 최대 2,000자 |
| logger_factory_name | O | 문자열 | 수집 유형 식별자 | |
| parser_code | X | 문자열 | 파서 식별자 | |
| rules | X | 객체 배열 | 정규화 규칙 목록 | 하단 참조 |
rules 속성
- guid (문자열): 정규화 규칙 식별자. 미설정 시 무작위 식별자 부여.
- name (문자열): 정규화 규칙 이름
- log_schema_code (문자열): 로그 스키마 식별자
- stream_query (문자열): 스트림 쿼리 문자열
- stream_interval (32비트 정수): 스트림 쿼리 새로고침 주기
정상 응답
{}
오류 응답
필수 매개변수가 누락된 경우
HTTP 상태 코드 400 응답.
{
"error_code": "null-argument",
"error_msg": "name should be not null"
}
매개변수 값의 길이가 잘못된 경우
HTTP 상태 코드 400 응답.
{
"error_code": "invalid-argument",
"error_msg": "'name' must be less than or equal to 50 characters."
}
파서가 존재하지 않는 경우
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"
}
수집 모델 이름이 중복된 경우
HTTP 상태 코드 500 응답.
{
"error_code": "illegal-state",
"error_msg": "duplicated logger model name: NGINX"
}
관리 권한이 없는 경우
HTTP 상태 코드 500 응답.
{
"error_code": "illegal-state",
"error_msg": "no-permission"
}