생성¶
POST /api/v1/checker/add
개요¶
모니터를 생성합니다.
Body 요청 파라미터¶
| 파라미터명 | 타입 | 필수 | 설명 |
|---|---|---|---|
| queryType | string | extend.querylist를 전달하지 않을 때 사용 및 검증할 DQL 프론트엔드 표시 모드입니다. simple은 Studio가 구문 분석하여 간단 모드 필드를 주입하고, dql은 DQL 텍스트 모드임을 나타냅니다. 기본값은 dql입니다. extend.querylist를 명시적으로 전달하면 원본을 우선 사용하며 queryType의 주입 의미를 무시합니다. simple 변환 실패 시 자동으로 dql로 폴백하며, jsonScript.targets에서 실제 실행되는 DQL은 변경되지 않습니다.빈 값 허용: False 예시: simple |
|
| type | string | 모니터 유형, 기본값은 trigger입니다. trigger: 일반 모니터, smartMonitor: 지능형 모니터링 빈 값 허용: False 예시: smartMonitor |
|
| status | integer | 모니터 상태 필드, 0: 활성화 상태, 2: 비활성화 상태, 기본값은 활성화 상태입니다. (2025-02-19 반복 추가) 빈 값 허용: False 可选值: [0, 2] |
|
| extend | json | 추가 정보 (인시던트 관련 필드 및 프론트엔드 표시용 필드) 빈 값 허용: True |
|
| alertPolicyUUIDs | array | 알림 정책 UUID 빈 값 허용: False |
|
| dashboardUUID | string | 연결된 대시보드 ID 빈 값 허용: False |
|
| tags | array | 필터링에 사용할 태그 이름 빈 값 허용: False 예시: ['xx', 'yy'] |
|
| secret | string | Webhook 주소의 중간 고유 식별자 secret (일반적으로 무작위 uuid, 워크스페이스 내에서 고유해야 함) 빈 값 허용: False 예시: secret_xxxxx |
|
| jsonScript | json | 규칙 구성 빈 값 허용: False |
|
| jsonScript.targetWorkspaceUUID | string | 대상 워크스페이스, 크로스 워크스페이스 쿼리, 임계값 감지 유형만 지원 (2025-08-13 반복 추가) 빈 값 허용: False 빈 문자열 허용: False |
|
| jsonScript.type | string | Y | 검사 방법 유형 예시: simpleCheck 빈 값 허용: False |
| jsonScript.windowDql | string | window dql 빈 값 허용: False |
|
| jsonScript.title | string | Y | event 생성 제목 예시: 모니터: {{monitor_name}} 검사기:{{monitor_checker_name}} 트리거 값:{{M1}} 빈 값 허용: False 빈 문자열 허용: True 최대 길이: 256 |
| jsonScript.message | string | event 내용 예시: status: {{status}}, title: {{title}} 빈 값 허용: False 빈 문자열 허용: True |
|
| jsonScript.recoverTitle | string | 복구 event 제목 템플릿 출력 예시: 모니터: {{monitor_name}} 검사기:{{monitor_checker_name}} 트리거 값:{{M1}} 빈 값 허용: False 빈 문자열 허용: True |
|
| jsonScript.recoverMessage | string | 복구 event 정보 템플릿 출력 예시: status: {{status}}, title: {{title}} 빈 값 허용: False 빈 문자열 허용: True |
|
| jsonScript.noDataTitle | string | 데이터 없음 event 제목 템플릿 출력 예시: 모니터: {{monitor_name}} 검사기:{{monitor_checker_name}} 트리거 값:{{M1}} 빈 값 허용: False 빈 문자열 허용: True |
|
| jsonScript.noDataMessage | string | 데이터 없음 event 정보 템플릿 출력 예시: status: {{status}}, title: {{title}} 빈 값 허용: False 빈 문자열 허용: True |
|
| jsonScript.openNotificationMessage | boolean | event 알림 내용 활성화 여부, 기본값은 비활성화 (event 내용을 알림 내용으로 사용) 예시: False 빈 값 허용: False |
|
| jsonScript.notificationMessage | string | event 알림 내용 예시: 모니터: {{monitor_name}} 검사기:{{monitor_checker_name}} 트리거 값:{{M1}} 빈 값 허용: False 빈 문자열 허용: True |
|
| jsonScript.openNoDataNotificationMessage | boolean | 데이터 중단 event 알림 내용 활성화 여부, 기본값은 비활성화 (데이터 중단 event 내용을 알림 내용으로 사용) 예시: False 빈 값 허용: False |
|
| jsonScript.noDataNotificationMessage | string | 데이터 중단 event 알림 내용 예시: status: {{status}}, title: {{title}} 빈 값 허용: False 빈 문자열 허용: True |
|
| jsonScript.noDataRecoverTitle | string | 데이터 없음 복구 업로드 event 제목 템플릿 출력 예시: 모니터: {{monitor_name}} 검사기:{{monitor_checker_name}} 트리거 값:{{M1}} 빈 값 허용: False 빈 문자열 허용: True |
|
| jsonScript.noDataRecoverMessage | string | 데이터 없음 복구 업로드 event 정보 템플릿 출력 예시: status: {{status}}, title: {{title}} 빈 값 허용: False 빈 문자열 허용: True |
|
| jsonScript.every | string | 검사 빈도 예시: 1m 빈 값 허용: False |
|
| jsonScript.customCrontab | string | 사용자 정의 검사 빈도 예시: 0 */12 * * * 빈 값 허용: False |
|
| jsonScript.delaySeconds | integer | 일반 모니터의 데이터 대기 윈도우, 단위 초, 0은 대기하지 않음을 의미합니다. 지능형 모니터링은 이 구성을 지원하지 않습니다. 예시: 60 빈 값 허용: False 可选值: [0, 60, 120, 180, 300, 600, 900, 1800] |
|
| jsonScript.interval | integer | 쿼리 간격, 즉 한 번 쿼리의 시간 범위 차이 예시: 60 빈 값 허용: False |
|
| jsonScript.range | integer | 고급 감지, 변이 감지의 range 파라미터, 단위 s 예시: 3600 빈 값 허용: False |
|
| jsonScript.range_2 | integer | 고급 감지, 변이 감지의 range_2 파라미터, 단위 s, 특별 설명 (-1은 전월 대비, 0은 periodBefore 필드 사용) 예시: 600 빈 값 허용: False |
|
| jsonScript.periodBefore | integer | 고급 감지, 변이 감지의 (어제/1시간 전) 파라미터, 단위 s 예시: 600 빈 값 허용: False |
|
| jsonScript.recoverNeedPeriodCount | integer | 여러 검사 주기 후에 복구 event를 생성할지 지정합니다. 검사 빈도가 사용자 정의 customCrontab인 경우 이 필드는 시간 길이(단위 s)를 나타내고, 그렇지 않으면 검사 빈도 횟수를 나타냅니다. 예시: 60 빈 값 허용: False |
|
| jsonScript.noDataInterval | integer | 지정된 시간 내에 데이터가 없으면 데이터 없음 event를 생성합니다. 예시: 60 빈 값 허용: False |
|
| jsonScript.noDataAction | string | 데이터 없음 처리 작업 빈 값 허용: False 可选值: ['none', 'checkAs0', 'noDataEvent', 'fatalEvent', 'criticalEvent', 'errorEvent', 'warningEvent', 'okEvent', 'noData', 'recover'] |
|
| jsonScript.checkFuncs | array | 검사 함수 정보 목록 예시: [{'funcId': 'xxx', 'kwargs': {}}] 빈 값 허용: False |
|
| jsonScript.groupBy | array | 트리거 차원 예시: ['성별'] 빈 값 허용: False |
|
| jsonScript.targets | array | 검사 대상 예시: [{'dql': 'M:: 병사정보:(AVG(잠재력값)) [::auto] by 성별', 'alias': 'M1'}] 빈 값 허용: False |
|
| jsonScript.checkerOpt | json | 검사 조건 설정 빈 값 허용: False |
|
| jsonScript.checkerOpt.disableLargeScaleEventProtect | boolean | 대규모 event 보호 비활성화 여부, 기본값 false 예시: True |
|
| jsonScript.checkerOpt.script | string | 프로그래밍 가능 모니터의 스크립트 내용 빈 값 허용: False 빈 문자열 허용: True |
|
| jsonScript.checkerOpt.rules | array | 트리거 조건 목록 예시: [{'status': 'warning', 'conditions': [{'operands': [60], 'operator': '>', 'alias': 'M1'}], 'conditionLogic': 'and', 'matchTimes': 10}] 빈 값 허용: False |
|
| jsonScript.checkerOpt.openOkConditions | boolean | 단계적 복구 활성화, 기본값 비활성화 false 예시: True |
|
| jsonScript.checkerOpt.openMatchTimes | boolean | 연속 트리거 판단 활성화, 기본값 비활성화 false 예시: True |
|
| jsonScript.checkerOpt.infoEvent | boolean | 지속적으로 정상일 때 info 이벤트를 생성할지 여부, 기본값 false 예시: True |
|
| jsonScript.checkerOpt.infoEventCondition | json | 정보 이벤트 생성 조건, 임계값 모니터만 지원, 빈 객체는 조건 없이 생성함을 의미 예시: {'alias': 'M1', 'operator': '>=', 'operands': [60]} 빈 값 허용: False |
|
| jsonScript.checkerOpt.infoEventCondition.alias | string | 판단 객체 별칭 |
|
| jsonScript.checkerOpt.infoEventCondition.operator | string | 판단 연산자 |
|
| jsonScript.checkerOpt.infoEventCondition.operands | array | 판단 피연산자 목록 |
|
| jsonScript.checkerOpt.diffMode | string | 고급 감지의 변이 감지 차이 모드, 열거형 값, value, percent 예시: value 可选值: ['value', 'percent'] |
|
| jsonScript.checkerOpt.direction | string | 고급 감지의 변이 감지, 구간 감지 트리거 조건 방향 예시: up 可选值: ['up', 'down', 'both'] |
|
| jsonScript.checkerOpt.eps | float | 거리 파라미터, 범위: 0 ~ 3.0 예시: 0.5 |
|
| jsonScript.checkerOpt.threshold | json | 변이 감지의 트리거 전제 조건 설정 빈 값 허용: False |
|
| jsonScript.checkerOpt.threshold.status | boolean | Y | 변이 감지, 트리거 전제 조건 활성화 여부, 예시: True |
| jsonScript.checkerOpt.threshold.operator | string | Y | 변이 감지, 트리거 전제 조건 연산자 예시: |
| jsonScript.checkerOpt.threshold.value | float | Y | 변이 감지, 트리거 전제 조건 검사 값 예시: 90 빈 값 허용: True |
| jsonScript.checkerOpt.combineExpr | string | 조합 모니터링, 조합 방식 예시: A && B 빈 문자열 허용: False |
|
| jsonScript.checkerOpt.ignoreNodata | boolean | 조합 모니터링, 데이터 없음 결과 무시 여부 (true는 무시 필요), 예시: True |
|
| jsonScript.checkerOpt.confidenceInterval | integer | 구간 감지 V2 신규 파라미터, 신뢰 구간 범위 1-100, 예시: 10 |
|
| jsonScript.channels | array | 채널 UUID 목록 예시: ['이름1', '이름2'] 빈 값 허용: False |
|
| jsonScript.atAccounts | array | 정상 감지 시 @된 계정 UUID 목록 예시: ['xx1', 'xx2'] 빈 값 허용: False |
|
| jsonScript.atNoDataAccounts | array | 데이터 없음 시 @된 계정 UUID 목록 예시: ['xx1', 'xx2'] 빈 값 허용: False |
|
| jsonScript.subUri | string | OuterEventChecker의 Webhook 주소 접미사, 생성 시 필수, 고유할 필요 없음 예시: datakit/push 빈 값 허용: False |
|
| jsonScript.isChangeEvent | boolean | OuterEventChecker를 변경 이벤트로 처리할지 여부, 기본값 false, 기존 규칙에 누락된 경우 false로 처리 예시: False 빈 값 허용: False |
|
| jsonScript.disableCheckEndTime | boolean | 종료 시간 제한 비활성화 여부 예시: True 빈 값 허용: False |
|
| jsonScript.eventChartEnable | boolean | 이벤트 차트 활성화 여부, 기본값 비활성화 (주 저장 엔진 logging이 doris인 경우에만 적용) 예시: False 빈 값 허용: False |
|
| jsonScript.eventCharts | array | 이벤트 차트 목록 예시: True 빈 값 허용: False |
|
| jsonScript.eventCharts[*] | None | ||
| jsonScript.eventCharts[*].dql | string | 이벤트 차트의 쿼리문 예시: M:: cpu:(avg(load5s)) BY host 빈 값 허용: False |
|
| openPermissionSet | boolean | 사용자 정의 권한 구성 활성화, (기본값 false: 비활성화), 활성화 시 해당 규칙의 작업 권한은 permissionSet에 따름 빈 값 허용: False |
|
| permissionSet | array | 작업 권한 구성, (역할(소유자 제외), 멤버 uuid, 팀 uuid) 구성 가능 예시: ['wsAdmin', 'acnt_xxxx', 'group_yyyy'] 빈 값 허용: False |
파라미터 추가 설명¶
데이터 설명.
jsonScript 파라미터 설명
1. 검사 유형 jsonScript.type 설명
| key | 설명 |
|---|---|
| simpleCheck | 임계값 감지 |
| seniorMutationsCheck | 변이 감지 |
| seniorRangeCheck | 구간 감지 |
| seniorRangeV2Check | 구간 감지 V2 |
| outlierCheck | 이상치 감지 |
| loggingCheck | 로그 감지 |
| processCheck | 프로세스 이상 감지 |
| objectSurvivalCheck | 인프라 생존 감지 |
| objectSurvivalV2Check | 인프라 생존 감지 V2, doris 워크스페이스만 지원 |
| objectChangeCheck | 인프라 변경 감지 |
| apmCheck | APM 메트릭 감지 |
| rumCheck | RUM 메트릭 감지 |
| securityCheck | 보안 점검 이상 감지 |
| cloudDialCheck | 신서틱 테스트 이상 탐지 |
| networkCheck | 네트워크 데이터 감지 |
| OuterEventChecker | 외부 이벤트 감지 |
| smartHostCheck | 지능형 모니터링, 호스트 지능형 감지 |
| smartLogCheck | 지능형 모니터링, 로그 지능형 감지 |
| smartApmCheck | 지능형 모니터링, APM 지능형 감지 |
| smartRumCheck | 지능형 모니터링, RUM 지능형 감지 |
| smartKubeCheck | 지능형 모니터링, Kubernetes 지능형 감지 |
| smartCloudBillingCheck | 지능형 모니터링, 클라우드 청구 지능형 감지 |
| combinedCheck | 조합 모니터링 |
| programmableCheck | 프로그래밍 가능 모니터 |
2. 지원 중단된 검사 유형 jsonScript.type 설명
| key | 설명 |
|---|---|
| seniorCheck | 고급 검사, 지원 중단 |
| mutationsCheck | 변이 검사, 지원 중단, seniorMutationsCheck로 업데이트 |
| waterLevelCheck | 수위 검사, 지원 중단 |
| rangeCheck | 구간 검사, 지원 중단, seniorRangeCheck로 업데이트 |
3. 트리거 조건 비교 연산자 설명 (checkerOpt.rules의 파라미터 설명)
| 파라미터명 | type | 필수 | 설명 |
|---|---|---|---|
| conditions | Array[Dict] | 필수 | 조건 |
| conditions[#].alias | String | 필수 | 감지 대상 별칭, 위 targets[#].alias |
| conditions[#].operator | String | 필수 | 연산자. = , > , < 등 |
| conditions[#].operands | Array[Any] | 필수 | 피연산자 배열. (between, in 등 연산자는 여러 피연산자 필요) |
| conditionLogic | string | 필수 | 조건 사이의 논리. and, or |
| status | string | 필수 | 조건 충족 시 출력되는 event의 status. event의 status와 동일 |
| direction | string | 【구간/수위/변이 파라미터】 감지 방향, 값: "up", "down", "both" | |
| periodNum | integer | 【구간/수위/변이 파라미터】 최근 데이터 포인트 수 감지 | |
| checkPercent | integer | 【구간 파라미터】 이상 비율 임계값, 값: 1 ~ 100 | |
| checkCount | integer | 【수위/변이 파라미터】 연속 이상 포인트 수 | |
| strength | integer | 【수위/변이 파라미터】 감지 강도, 값: 1=약, 2=중, 3=강 | |
| matchTimes | integer | 연속 트리거 구성 활성화 시(checkerOpt.openMatchTimes) 연속 트리거 구성 횟수 [1,10] | |
| okConditions | Array[Dict] | 복구 조건 | |
| okConditions[#].alias | String | 감지 대상 별칭, 위 targets[#].alias | |
| okConditions[#].operator | String | 연산자. = , > , < 등 | |
| okConditions[#].operands | Array[Any] | 피연산자 배열. (between, in 등 연산자는 여러 피연산자 필요) |
4. 단순/로그/수위/변이/구간 검사 jsonScript.type in (simpleCheck, loggingCheck, waterLevelCheck, mutationsCheck, rangeCheck, securityCheck) 파라미터 정보
| 파라미터명 | type | 필수 | 설명 |
|---|---|---|---|
| title | string | Y | 장애 이벤트 제목 템플릿 출력 |
| message | string | N | 장애 이벤트 정보 템플릿 출력 |
| recoverTitle | string | N | 복구 이벤트 제목 템플릿 출력 |
| recoverMessage | string | N | 복구 이벤트 정보 템플릿 출력 |
| noDataTitle | string | N | 데이터 없음 이벤트 제목 템플릿 출력 |
| noDataMessage | string | N | 데이터 없음 이벤트 정보 템플릿 출력 |
| noDataRecoverTitle | string | N | 데이터 없음 복구 업로드 이벤트 제목 템플릿 출력 |
| noDataRecoverMessage | string | N | 데이터 없음 복구 업로드 이벤트 정보 템플릿 출력 |
| openNotificationMessage | boolean | N | 이벤트 알림 내용 활성화 여부 |
| notificationMessage | string | N | 이벤트 알림 내용 |
| openNoDataNotificationMessage | string | N | 데이터 중단 이벤트 알림 내용 활성화 여부 |
| noDataNotificationMessage | string | N | 데이터 중단 이벤트 알림 내용 |
| name | string | Y | 규칙명 |
| type | string | Y | 규칙 유형 |
| every | string | Y | 검사 빈도, 단위 (1m/1h/1d) |
| customCrontab | string | N | 사용자 정의 검사 빈도 crontab |
| delaySeconds | integer | N | 데이터 대기 윈도우, 단위 초, 0, 60, 120, 180, 300, 600, 900, 1800 지원, 기본값 0 |
| interval | integer | Y | 데이터 시간 범위 차이, 즉 time_range의 차이, 단위: 초 |
| recoverNeedPeriodCount | integer | Y | 지정된 검사 주기 횟수 초과 후 복구 이벤트 생성, 검사 빈도가 사용자 정의 customCrontab인 경우 이 필드는 시간 길이(단위 s)를 나타내고, 그렇지 않으면 검사 빈도 횟수를 나타냄 |
| noDataInterval | integer | N | 지정된 시간 내에 데이터가 없으면 데이터 없음 이벤트 생성 |
| noDataAction | string | N | 데이터 없음 처리 작업 |
| targets | array | Y | 단순 검사의 검사 대상 목록 |
| targets[*].dql | string | Y | DQL 쿼리문 |
| targets[*].alias | string | Y | 별칭 |
| targets[*].monitorCheckerId | string | Y | 조합 모니터링, 모니터 ID (rul_xxxxx) |
| checkerOpt | json | N | 검사 구성, 선택 사항 |
| checkerOpt.rules | array | Y | 검사 규칙 목록 |
| checkerOpt.openMatchTimes | boolean | N | 연속 트리거 판단 활성화 여부, 기본값 비활성화 false |
| checkerOpt.openOkConditions | boolean | N | 복구 조건 구성 활성화, 기본값 비활성화 false |
| checkerOpt.disableLargeScaleEventProtect | boolean | N | 대규모 이벤트 보호 비활성화 여부, 기본값 false |
5. jsonScript.noDataAction 파라미터 정보
| 파라미터명 | 설명 |
|---|---|
| none | 작업 없음 ([데이터 없음 관련 처리 비활성화]와 동일) |
| checkAs0 | 쿼리 결과를 0으로 간주 |
| noDataEvent | 복구 이벤트(noData) 트리거 |
| fatalEvent | 치명적 이벤트(fatal) 트리거 |
| criticalEvent | 긴급 이벤트(critical) 트리거 |
| errorEvent | 중요 이벤트(error) 트리거 |
| warningEvent | 경고 이벤트(warning) 트리거 |
| okEvent | 복구 이벤트(ok) 트리거 |
| noData | 데이터 없음 이벤트 생성, 이 파라미터는 2024-04-10에 지원 중단되었으며, 기능 로직은 noDataEvent와 동일하므로 noDataEvent로 직접 대체 가능 |
| recover | 복구 이벤트 트리거, 이 파라미터는 2024-04-10에 지원 중단되었으며, 기능 로직은 okEvent와 동일하므로 okEvent로 직접 대체 가능 |
6. 고급 검사 jsonScript.type in (seniorCheck) 파라미터 정보
| 파라미터명 | type | 필수 | 설명 |
|---|---|---|---|
| title | string | Y | 장애 이벤트 제목 템플릿 출력 |
| message | string | N | 장애 이벤트 정보 템플릿 출력 |
| recoverTitle | string | N | 복구 이벤트 제목 템플릿 출력 |
| recoverMessage | string | N | 복구 이벤트 정보 템플릿 출력 |
| noDataTitle | string | N | 데이터 없음 이벤트 제목 템플릿 출력 |
| noDataMessage | string | N | 데이터 없음 이벤트 정보 템플릿 출력 |
| noDataRecoverTitle | string | N | 데이터 없음 복구 업로드 이벤트 제목 템플릿 출력 |
| noDataRecoverMessage | string | N | 데이터 없음 복구 업로드 이벤트 정보 템플릿 출력 |
| type | string | Y | 규칙 유형 |
| every | string | Y | 검사 빈도, 단위 (1m/1h/1d) |
| customCrontab | string | N | 사용자 정의 검사 빈도 crontab |
| delaySeconds | integer | N | 데이터 대기 윈도우, 단위 초, 0, 60, 120, 180, 300, 600, 900, 1800 지원, 기본값 0 |
| checkFuncs | array | Y | 고급 검사 함수 목록, 단 하나의 요소만 가짐 |
| checkFuncs[#].funcId | string | Y | 함수 ID, [【외부 함수】목록] 인터페이스를 통해 funcTags=monitorType|custom의 사용자 정의 검사 함수 목록 조회 가능 |
| checkFuncs[#].kwargs | json | N | 해당 고급 함수에 필요한 파라미터 데이터 |
7. 변이 검사 seniorMutationsCheck 파라미터 설명
| 파라미터명 | type | 필수 | 설명 |
|---|---|---|---|
| jsonScript.range | integer | N | 검사 지표의 Result 시간 범위 1 |
| jsonScript.range_2 | integer | N | 검사 지표의 Result 시간 범위 2, 특별 설명: (-1은 전월 대비, 0은 periodBefore 필드 사용) |
| jsonScript.periodBefore | integer | N | jsonScript.range_2가 0일 때, 이 필드는 (어제/1시간 전)을 나타냄 |
| jsonScript.checkerOpt.diffMode | string | N | 변이 감지의 차이 모드 (차이 값: value, 차이 비율: percent) |
| jsonScript.checkerOpt.threshold.status | boolean | N | 변이 감지의 트리거 전제 조건 설정, 활성화/비활성화 |
| jsonScript.checkerOpt.threshold.operator | string | N | 변이 감지의 트리거 전제 조건 설정, 연산자 |
| jsonScript.checkerOpt.threshold.value | float | N | 변이 감지의 트리거 전제 조건 설정, 검사 값 |
8. 조합 모니터링 관련 필드 파라미터 설명
| 파라미터명 | type | 필수 | 설명 |
|---|---|---|---|
| jsonScript.checkerOpt.combineExpr | string | Y | 조합 방식, 예: A && B |
| jsonScript.checkerOpt.ignoreNodata | boolean | N | 데이터 없음 결과 무시 여부 (true는 무시 필요) |
9. 외부 이벤트 감지 jsonScript.type in (OuterEventChecker) 관련 필드 파라미터 설명
| 파라미터명 | type | 필수 | 설명 |
|---|---|---|---|
| secret | string | N | 이벤트가 속한 모니터를 식별하는 데 사용되며, 전역적으로 고유합니다. 생성 시 생략하면 Studio에서 생성하며, Import 시 이전 값을 재사용하지 않습니다. |
| jsonScript.subUri | string | Y | Webhook 주소 접미사, 생성 시 필수, 고유할 필요 없음. |
| jsonScript.isChangeEvent | boolean | N | 변경 이벤트로 처리할지 여부, 기본값 false; 기존 규칙에 이 필드가 누락된 경우에도 false로 처리합니다. |
10. 필드 disableCheckEndTime 설명
Guance에 업로드된 데이터는 추가 쓰기, 업데이트 덮어쓰기의 두 가지 모드로 처리됩니다. 이 두 데이터의 특성에 따라 모니터링 감지를 다르게 처리해야 합니다. 이 차이는 모니터, 지능형 모니터링, 지능형 점검의 모든 모듈에 적용됩니다. 모든 덮어쓰기 메커니즘 데이터 유형으로 모니터 감지를 구성할 때, 모니터 실행 delay 1분으로 인해 업데이트 모드 데이터가 고정된 시간 범위 내에서 이탈하는 현상을 방지하기 위해, 이러한 모니터 유형의 감지 간격은 종료 시간을 지정하지 않습니다. 해당 모니터 유형: 임계값 감지, 변이 감지, 구간 감지, 이상치 감지, 프로세스 이상 감지, 인프라 생존 감지, RUM 메트릭 감지 (일부 지표, 아래 표 참조)
| 데이터 유형 | Namespace | 쓰기 모드 |
|---|---|---|
| 메트릭 | M | 추가 |
| 이벤트 | E | 추가 |
| 미복구 이벤트 | UE | 덮어쓰기 |
| 인프라-오브젝트 | O | 덮어쓰기 |
| 인프라-사용자 정의 오브젝트 | CO | 덮어쓰기 |
| 인프라-오브젝트 히스토리 | OH | 추가 |
| 인프라-사용자 정의 오브젝트 히스토리 | COH | 추가 |
| 로그 / 신서틱 모니터링 / CI 가시성 | L | 추가 |
| APM-트레이스 | T | 추가 |
| APM-프로파일 | P | 추가 |
| RUM-세션 | R::session | 덮어쓰기 |
| RUM-뷰 | R::view | 덮어쓰기 |
| RUM-리소스 | R::resource | 추가 |
| RUM-긴 작업 | R::long_task | 추가 |
| RUM-액션 | R::action | 추가 |
| RUM-오류 | R::error | 추가 |
| 보안 점검 | S |
쓰기 모드가 덮어쓰기인 모든 경우 disableCheckEndTime을 true로 지정해야 합니다.
11. 구간 감지 V2 버전 관련 파라미터 필드 설명
| 파라미터명 | type | 필수 | 설명 |
|---|---|---|---|
| jsonScript.checkerOpt.confidenceInterval | integer | Y | 신뢰 구간 범위, 값: 1-100% |
12. 모니터 작업 권한 구성 파라미터 설명
| 파라미터명 | type | 설명 |
|---|---|---|
| openPermissionSet | boolean | 사용자 정의 권한 구성 활성화 여부, 기본값 false |
| permissionSet | array | 작업 권한 구성 |
**permissionSet, openPermissionSet 필드 설명 (2024-06-26 반복 추가 필드): ** openPermissionSet을 활성화하면, 워크스페이스 소유자와 permissionSet 구성에 포함된 역할, 팀, 멤버만 편집/활성화/비활성화/삭제할 수 있습니다. openPermissionSet을 비활성화하면(기본값), 삭제/활성화/비활성화/편집 권한은 기존 인터페이스의 편집/활성화/비활성화/삭제 권한을 따릅니다.
permissionSet 필드는 역할 UUID(wsAdmin, general, readOnly, role_xxxxx), 팀 UUID(group_yyyy), 멤버 UUID(acnt_xxx)를 구성할 수 있습니다. permissionSet 필드 예시:
13. 인시던트 연결 구성 설명
| 파라미터명 | type | 설명 |
|---|---|---|
| extend.isNeedCreateIssue | boolean | 인시던트 연결 여부, 기본값 연결 안 함 |
| extend.issueDfStatus | array | 5가지 유형 선택 가능(fatal, critical, error, warning, nodata), issueDfStatus가 있는 경우: 모니터가 생성한 이벤트의 df_status가 issueDfStatus에 포함된 경우에만 Issue를 생성하며, issueDfStatus가 없으면 모든 경우 Issue를 생성합니다. |
| extend.issueLevelUUID | string | Issue 레벨 UUID |
| extend.manager | array | Issue 생성 시 담당자 정보(이메일/워크스페이스 멤버/팀), 예시: ["xxx@guance.com","acnt_yyyy", "group_"] |
| extend.needRecoverIssue | boolean | 이벤트 복구 시 Issue를 동기적으로 종료할지 여부, 기본값 false |
| jsonScript.channels | string | isNeedCreateIssue가 true인 경우 이 필드는 필수입니다. Issue 채널 정보, 예시: ["chan_xxx", "chan_yyy"] |
14. DQL 표시 모드 queryType 설명
extend.querylist를 전달하지 않으면 queryType은 자동 주입을 제어하는 외부 선택 필드이며, simple과 dql만 지원합니다. 전달하지 않으면 기본값은 dql입니다. simple을 전달하면 Studio는 로컬 DQL 파서를 사용하여 jsonScript.targets에서 간단 모드 필드를 구문 분석하고 주입합니다. 구문 분석 또는 변환에 실패하면 자동으로 DQL 텍스트 모드로 폴백합니다. extend.querylist를 명시적으로 전달하면 호출자 구조를 완전히 유지하고 queryType의 주입 의미를 무시합니다.
요청 예시¶
curl 'https://openapi.guance.com/api/v1/checker/add' \
-H 'DF-API-KEY: <DF-API-KEY>' \
-H 'Content-Type: application/json;charset=UTF-8' \
--data-raw '{"queryType":"simple","extend":{"funcName":"","isNeedCreateIssue":false,"issueLevelUUID":"","needRecoverIssue":false,"querylist":[{"datasource":"dataflux","qtype":"dql","query":{"alias":"","code":"Result","dataSource":"ssh","field":"ssh_check","fieldFunc":"count","fieldType":"float","funcList":[],"groupBy":["host"],"groupByTime":"","namespace":"metric","q":"M::`ssh`:(count(`ssh_check`)) BY `host`","type":"simple"},"uuid":"aada629a-672e-46f9-9503-8fd61065c382"}],"rules":[{"conditionLogic":"and","conditions":[{"alias":"Result","operands":["90"],"operator":">="}],"status":"critical"},{"conditionLogic":"and","conditions":[{"alias":"Result","operands":["0"],"operator":">="}],"status":"error"}]},"jsonScript":{"atAccounts":[],"atNoDataAccounts":[],"channels":[],"checkerOpt":{"infoEvent":false,"rules":[{"conditionLogic":"and","conditions":[{"alias":"Result","operands":["90"],"operator":">="}],"status":"critical"},{"conditionLogic":"and","conditions":[{"alias":"Result","operands":["0"],"operator":">="}],"status":"error"}]},"disableCheckEndTime":false,"every":"1m","groupBy":["host"],"interval":300,"message":">Level:{{status}} \n>Host:{{host}} \n>Content:Host SSH Status {{ Result | to_fixed(2) }}% \n>Suggestion:Check Host SSH Service Status","noDataMessage":"","noDataTitle":"","recoverNeedPeriodCount":2,"targets":[{"alias":"Result","dql":"M::`ssh`:(count(`ssh_check`)) BY `host`","qtype":"dql"}],"title":"Host {{ host }} SSH Service Exception-Add Alert Policy","type":"simpleCheck"},"alertPolicyUUIDs":["altpl_xxxx32","altpl_xxxx32"]}' \
--compressed
응답¶
{
"code": 200,
"content": {
"alertPolicyUUIDs": [
"altpl_xxxx32",
"altpl_xxxx32"
],
"createAt": 1710831393,
"createdWay": "manual",
"creator": "wsak_xxxx",
"crontabInfo": {
"crontab": "*/1 * * * *",
"id": "cron-2n8ZyrMWKXB8"
},
"declaration": {
"b": [
"asfawfgajfasfafgafwba",
"asfgahjfaf"
],
"business": "aaa",
"organization": "64fe7b4062f74d0007b46676"
},
"deleteAt": -1,
"extend": {
"funcName": "",
"isNeedCreateIssue": false,
"issueLevelUUID": "",
"needRecoverIssue": false,
"querylist": [
{
"datasource": "dataflux",
"qtype": "dql",
"query": {
"alias": "",
"code": "Result",
"dataSource": "ssh",
"field": "ssh_check",
"fieldFunc": "count",
"fieldType": "float",
"funcList": [],
"groupBy": [
"host"
],
"groupByTime": "",
"namespace": "metric",
"q": "M::`ssh`:(count(`ssh_check`)) BY `host`",
"type": "simple"
},
"uuid": "aada629a-672e-46f9-9503-8fd61065c382"
}
],
"rules": [
{
"conditionLogic": "and",
"conditions": [
{
"alias": "Result",
"operands": [
"90"
],
"operator": ">="
}
],
"status": "critical"
},
{
"conditionLogic": "and",
"conditions": [
{
"alias": "Result",
"operands": [
"0"
],
"operator": ">="
}
],
"status": "error"
}
]
},
"id": null,
"isLocked": false,
"jsonScript": {
"atAccounts": [],
"atNoDataAccounts": [],
"channels": [],
"checkerOpt": {
"infoEvent": false,
"rules": [
{
"conditionLogic": "and",
"conditions": [
{
"alias": "Result",
"operands": [
"90"
],
"operator": ">="
}
],
"status": "critical"
},
{
"conditionLogic": "and",
"conditions": [
{
"alias": "Result",
"operands": [
"0"
],
"operator": ">="
}
],
"status": "error"
}
]
},
"disableCheckEndTime": false,
"every": "1m",
"groupBy": [
"host"
],
"interval": 300,
"message": ">Level:{{status}} \n>Host:{{host}} \n>Content:Host SSH Status {{ Result | to_fixed(2) }}% \n>Suggestion:Check Host SSH Service Status",
"name": "Host {{ host }} SSH Service Exception-Add Alert Policy",
"noDataMessage": "",
"noDataTitle": "",
"recoverNeedPeriodCount": 2,
"targets": [
{
"alias": "Result",
"dql": "M::`ssh`:(count(`ssh_check`)) BY `host`",
"qtype": "dql"
}
],
"title": "Host {{ host }} SSH Service Exception-Add Alert Policy",
"type": "simpleCheck"
},
"monitorName": "default",
"monitorUUID": "monitor_xxxx32",
"refKey": "",
"secret": "",
"status": 0,
"tagInfo": [],
"type": "trigger",
"updateAt": null,
"updator": null,
"uuid": "rul_xxxx32",
"workspaceUUID": "wksp_xxxx32"
},
"errorCode": "",
"message": "",
"success": true,
"traceId": "TRACE-014A6CF1-E9D8-4EA7-9527-D3C39CC3A94A"
}