콘텐츠로 이동

생성(이 API는 2025-12-30에 폐기됩니다. v2 API 사용을 권장합니다)



POST /api/v1/alert_policy/add

개요

알림 정책을 생성합니다.

Body 요청 파라미터

파라미터명 유형 필수 설명
name string Y 알림 정책명
비워 둘 수 없음: False
desc string 설명
비워 둘 수 없음: False
빈 문자열 허용: True
최대 길이: 256
openPermissionSet boolean 사용자 지정 권한 구성 활성화 (기본값 false: 비활성화). 활성화 시 해당 규칙의 작업 권한은 permissionSet에 따름
비워 둘 수 없음: False
permissionSet array 작업 권한 구성. (역할(소유자 제외), 구성원 UUID, 팀 UUID) 설정 가능
예시: ['wsAdmin', 'acnt_xxxx', 'group_yyyy']
비워 둘 수 없음: False
ruleTimezone str Y 알림 정책 시간대
예시: Asia/Shanghai
비워 둘 수 없음: False
alertOpt json 알림 설정
비워 둘 수 없음: False
alertOpt.alertType string 알림 정책 알림 유형, 등급(status)/구성원(member), 기본값은 등급
비워 둘 수 없음: False
선택 값: ['status', 'member']
alertOpt.alertTarget array 트리거 동작, 트리거 시간 및 파라미터 처리에 주의
예시: [{'name': '알림 구성1', 'targets': [{'to': ['acnt_xxxx32'], 'status': 'critical', 'tags': {'pod_name': ['coredns-7769b554cf-w95fk']}, 'upgradeTargets': [{'to': ['acnt_xxxx32'], 'duration': 600}, {'to': ['group_xxxx32'], 'duration': 6000}]}], 'crontabDuration': 600, 'crontab': '0 9 * * 0,1,2,3,4'}, {'name': '알림 구성2', 'targets': [{'status': 'error', 'to': ['group_xxxx32'], 'upgradeTargets': [{'to': ['acnt_xxxx32'], 'duration': 600}, {'to': ['group_xxxx32'], 'duration': 6000}]}], 'customDateUUIDs': ['ndate_xxxx32'], 'customStartTime': '09:30:10', 'crontabDuration': 600}]
비워 둘 수 없음: False
alertOpt.silentTimeout integer 중복 알림 구성
비워 둘 수 없음: False
alertOpt.silentTimeoutByStatusEnable boolean 등급별 중복 알림 설정 활성화 여부, 기본값 false, silentTimeout 사용
비워 둘 수 없음: False
alertOpt.silentTimeoutByStatus array 등급별 중복 알림 설정, 등급별 최소 알림 간격 구성
비워 둘 수 없음: False
alertOpt.aggInterval integer Y 알림 집계 간격, 단위 초, 0은 집계 안 함
비워 둘 수 없음: False
$minValue: 0
$maxValue: 1800
alertOpt.aggFields array 집계 필드 목록. 빈 목록[]은 '집계 규칙: 전체'를 의미. df_monitor_checker_id: 모니터/지능형 점검/SLO, df_dimension_tags: 감지 차원, df_label: 태그, CLUSTER: 지능형 집계
예시: ['CLUSTER']
비워 둘 수 없음: False
alertOpt.aggLabels array 태그별 집계 시 태그 값 목록. aggFields에 df_label이 지정된 경우에만 적용
비워 둘 수 없음: False
alertOpt.aggClusterFields array 지능형 집계 시 필드 목록. aggFields에 CLUSTER가 지정된 경우에만 적용. 선택 값 "df_title": 제목, "df_message": 내용
예시: ['df_title']
비워 둘 수 없음: False

파라미터 보충 설명


데이터 설명

1. alertOpt 파라미터 설명

파라미터명 type 필수 설명
name string 필수 규칙명
desc string 설명
type string 필수 검사기 유형
ruleTimezone string 필수 알림 정책 시간대 (2024-01-31 반복 신규 파라미터)
alertOpt Dict 필수 알림 설정
alertOpt.silentTimeout integer 최소 알림 간격. 동일 알림을 일정 시간 동안 재전송하지 않음(알림 음소거 시간), 단위 초, 0/null은 한 번만 알림 전송(간격 무한대)
alertOpt.silentTimeoutByStatusEnable boolean 등급별 중복 알림 설정 활성화 여부
alertOpt.silentTimeoutByStatus array 등급별 최소 알림 간격, 단위 초. 보안 점검 등급은 security_ 접두사 사용
alertOpt.aggInterval integer 알림 집계 간격, 단위 초, 0은 집계 안 함, 범위[0,1800]
alertOpt.aggFields array 집계 필드 목록. 빈 목록[]은 '집계 규칙: 전체'를 의미. df_monitor_checker_id: 모니터/지능형 점검/SLO, df_dimension_tags: 감지 차원, df_label: 태그, CLUSTER: 지능형 집계
alertOpt.aggLabels array 태그별 집계 시 태그 값 목록. aggFields에 df_label이 지정된 경우에만 적용
alertOpt.aggClusterFields array 지능형 집계 시 필드 목록. aggFields에 CLUSTER가 지정된 경우에만 적용. 선택 값 "df_title": 제목, "df_message": 내용
alertOpt.alertTarget Array[Dict] 알림 동작
alertOpt.alertType string 알림 정책 알림 유형, 등급(status)/구성원(member), 기본값은 등급. 2024-11-06 반복 신규
openPermissionSet boolean 사용자 지정 권한 구성 활성화 여부, 기본값 false. 2024-11-06 반복 신규
permissionSet array 작업 권한 구성. 2024-11-06 반복 신규

2. 알림 정책이 등급 유형인 경우 alertOpt.alertTarget 파라미터 설명

key 유형 필수 설명
alertTarget[#] dict alertTarget 목록 요소
alertTarget[#].name string 구성 이름
alertTarget[#].targets Array[dict] 필수 알림 대상 구성 (알림 정책 등급/구성원 유형에 따라 이 필드의 위치가 다름)
alertTarget[#].crontab String 반복 시간대 선택 시 시작 Crontab (Crontab 문법)
alertTarget[#].crontabDuration integer 반복 시간 선택, Crontab 시작부터 지속 시간(초)
alertTarget[#].customDateUUIDs Array[String] 사용자 지정 시간 선택 시 사용자 지정 알림 날짜의 UUID 목록, 예: ['ndate_xxxx32', 'ndate_xxxx32']. 사용자 지정 알림 날짜는 모니터링 - 알림 정책 - 사용자 지정 알림 날짜 API 참조
alertTarget[#].customStartTime String 사용자 지정 시간 선택 시 매일 시작 시간, 형식: HH🇲🇲ss
alertTarget[#].customDuration integer 사용자 지정 시간대 선택 시 customStartTime부터 지속 시간(초)

3. 알림 정책이 구성원 유형인 경우 alertOpt.alertTarget 파라미터 설명

key 유형 필수 설명
alertTarget[#] dict alertTarget 목록 요소
alertTarget[#].name string 구성 이름
alertTarget[#].crontab String 반복 시간대 선택 시 시작 Crontab (Crontab 문법)
alertTarget[#].crontabDuration integer 반복 시간 선택, Crontab 시작부터 지속 시간(초)
alertTarget[#].customDateUUIDs Array[String] 사용자 지정 시간 선택 시 사용자 지정 알림 날짜의 UUID 목록, 예: ['ndate_xxxx32', 'ndate_xxxx32']. 사용자 지정 알림 날짜는 모니터링 - 알림 정책 - 사용자 지정 알림 날짜 API 참조
alertTarget[#].customStartTime String 사용자 지정 시간 선택 시 매일 시작 시간, 형식: HH🇲🇲ss
alertTarget[#].customDuration integer 사용자 지정 시간대 선택 시 customStartTime부터 지속 시간(초)
alertTarget[#].alertInfo Array[dict] 필수 구성원 유형 알림 정책의 알림 관련 정보 구성. 2024-11-27 반복 신규

4. 알림 정책이 구성원 유형인 경우 alertOpt.alertTarget.alertInfo 파라미터 설명

key 유형 필수 설명
alertInfo[#] dict alertInfo 목록 요소
alertInfo[#].name string 구성 이름
alertInfo[#].targets Array[dict] 필수 알림 대상 구성 (알림 정책 등급/구성원 유형에 따라 이 필드의 위치가 다름)
alertInfo[#].filterString string alertType이 member인 경우 사용. 필터 조건 원본 문자열. 2024-11-27 반복 신규
alertInfo[#].memberInfo array alertType이 member인 경우 사용(팀 UUID, 구성원 UUID). 예: [group_xxxx,acnt_xxxx]. 2024-11-27 반복 신규

5. 시간 구성 관련 설명

반복 시간대를 선택한 경우 crontab, crontabDuration 필드는 필수 파라미터
사용자 지정 시간대를 선택한 경우 customDateUUIDs, customDuration, customStartTime 필드는 필수 파라미터
기타 시간을 선택한 경우 crontab, crontabDuration, customDateUUIDs, customStartTime, customDuration 모두 전송 불필요
참고: 각 알림 정책에는 기타 시간에 대한 알림 규칙이 하나씩 존재합니다. 즉, 시간 구성이 없는 것은 폴백 알림 대상입니다.


6. 알림 대상 필드 targets 설명

alertType이 status인 경우, targets 위치: alertOpt.alertTarget.targets
alertType이 member인 경우, targets 위치: alertOpt.alertTarget.alertInfo.targets
targets는 list이며, 내부 요소는 dict입니다. 내부 필드 설명은 다음과 같습니다.

key 유형 필수 설명
to Array[String] 필수 알림 대상/구성원/팀, 예시: [group_xxxx,acnt_xxxx,notify_xxxx]. (alertType이 member인 경우 알림 대상과 고정 필드 email, sms(SaaS 버전은 sms 지원)만 선택 가능, 예시: [email,notify_xxxx]. 2024-11-06 반복 신규)
status Enum 필수 알림을 전송해야 하는 event의 status 값(여러 status는 쉼표로 구분, All은 전체 의미). 보안 점검 유형이 아닌 status 값: fatal, critical, error, warning, nodata, info. 보안 점검 유형의 status 값: critical, high, medium, low, info (2025-05-14 반복 신규 보안 점검 열거형 값)
df_source Enum status가 보안 점검의 status여야 하는 경우 df_source를 security로 지정해야 함. 기본값 미전달 시 보안 점검 status가 아님을 의미 (2025-05-14 반복 신규)
upgradeTargets Array 각 알림 구성 상태의 에스컬레이션 알림
tags dict 필터 조건
filterString dict 필터 조건 원본 문자열. tags를 대체 가능. filterString 사용 우선순위가 tags보다 높음. 2024-11-27 반복 신규

7. 알림 대상 필드 upgradeTargets 설명

alertType이 status인 경우, targets 위치: alertOpt.alertTarget.targets.upgradeTargets
alertType이 member인 경우, targets 위치: alertOpt.alertTarget.alertInfo.targets.upgradeTargets
upgradeTargets는 list이며, 내부 요소는 dict입니다. 내부 필드 설명은 다음과 같습니다.

key 유형 필수 설명
to Array[String] 필수 알림 대상/구성원/팀, 예시: [group_xxxx,acnt_xxxx,notify_xxxx]. (alertType이 member인 경우 구성원과 팀만 선택 가능. 2024-11-06 반복 신규)
duration integer 지속 시간. 해당 수준의 상태 이벤트가 지속적으로 발생하면 에스컬레이션 알림 트리거
toWay Array[String] alertType이 구성원(member) 유형인 경우 사용. 알림 대상과 고정 필드 email, sms(SaaS 버전은 sms 지원)만 선택 가능. 예시: [email,notify_xxxx]. 2024-11-06 반복 신규

8. 작업 권한 구성 파라미터 설명

파라미터명 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"]


9. alertOpt[#].silentTimeoutByStatus 파라미터 설명

파라미터명 type 설명
silentTimeoutByStatus[#] dict silentTimeoutByStatus 목록 요소
silentTimeoutByStatus[#].status boolean 보안 점검 유형이 아닌 status 값: fatal, critical, error, warning, nodata, info. 보안 점검 유형의 status 값: security_critical, security_high, security_medium, security_low, security_info
silentTimeoutByStatus[#].silentTimeout integer 최소 알림 간격. 동일 알림을 일정 시간 동안 재전송하지 않음(알림 음소거 시간), 단위 초, 0/null은 한 번만 알림 전송(간격 무한대)

silentTimeoutByStatus 필드 예시:

  [
      {
          "status": "fatal",
          "silentTimeout": 600
      },
      {
          "status": "critical,error",
          "silentTimeout": 900
      },
      {
          "status": "security_high",
          "silentTimeout": 600
      },
  ]


요청 예시

curl 'https://openapi.guance.com/api/v1/alert_policy/add' \
-H 'DF-API-KEY: <DF-API-KEY>' \
-H 'Content-Type: application/json;charset=UTF-8' \
--data-raw '{"name":"jj_test","ruleTimezone":"Asia/Shanghai","alertOpt":{"alertTarget":[{"name":"Notification Configuration1","targets":[{"status":"critical","tags":{"pod_name":["coredns-7769b554cf-w95fk"]},"to":["acnt_xxxx32"]}],"crontabDuration":600,"crontab":"0 9 * * 0,1,2,3,4"},{"name":"Notification Configuration2","targets":[{"status":"error","to":["group_xxxx32"]}],"customDateUUIDs":["ndate_xxxx32"],"customStartTime":"09:30:10","customDuration":600},{"targets":[{"status":"warning","to":["notify_xxxx32"]}]}],"silentTimeout":21600,"aggInterval":120,"aggFields":["df_monitor_checker_id"]}}' \
--compressed

응답

{
    "code": 200,
    "content": {
        "alertOpt": {
            "aggFields": [
                "df_monitor_checker_id"
            ],
            "aggInterval": 120,
            "alertTarget": [
                {
                    "crontab": "0 9 * * 0,1,2,3,4",
                    "crontabDuration": 600,
                    "name": "Notification Configuration1",
                    "targets": [
                        {
                            "status": "critical",
                            "tags": {
                                "pod_name": [
                                    "coredns-7769b554cf-w95fk"
                                ]
                            },
                            "to": [
                                "acnt_xxxx32"
                            ]
                        }
                    ]
                },
                {
                    "customDateUUIDs": [
                        "ndate_xxxx32"
                    ],
                    "customDuration": 600,
                    "customStartTime": "09:30:10",
                    "name": "Notification Configuration2",
                    "targets": [
                        {
                            "status": "error",
                            "to": [
                                "group_xxxx32"
                            ]
                        }
                    ]
                },
                {
                    "targets": [
                        {
                            "status": "warning",
                            "to": [
                                "notify_xxxx32"
                            ]
                        }
                    ]
                }
            ],
            "silentTimeout": 21600
        },
        "createAt": 1719373984,
        "creator": "wsak_xxxx32",
        "declaration": {
            "asd": "aa,bb,cc,1,True",
            "asdasd": "dawdawd",
            "business": "aaa",
            "fawf": "afawf",
            "organization": "64fe7b4062f74d0007b46676"
        },
        "deleteAt": -1,
        "id": null,
        "name": "jj_test",
        "ruleTimezone": "Asia/Shanghai",
        "score": 0,
        "status": 0,
        "updateAt": 1719373984,
        "updator": "wsak_xxxx32",
        "uuid": "altpl_xxxx32",
        "workspaceUUID": "wksp_xxxx32"
    },
    "errorCode": "",
    "message": "",
    "success": true,
    "traceId": "TRACE-148B6846-6180-4594-BD26-8A2077F0E911"
}

문서 평가

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