콘텐츠로 이동

생성



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 필드 예시:

  ["wsAdmin", "general", "group_yyyy", "acnt_xxxx"]


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은 자동 주입을 제어하는 외부 선택 필드이며, simpledql만 지원합니다. 전달하지 않으면 기본값은 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"
} 

문서 평가

이 페이지가 도움이 되었나요?