규칙 오버라이드 API

엔드포인트: /api/metrics/rule-overrides/

오버라이드는 서버 하나가 자신이 붙어 있는 경고 규칙에서 벗어나는 예외입니다. 그 서버만의 임계값, 복귀 임계값, 지속 시간을 따로 두거나, 규칙 자체에서 아예 제외할 수 있습니다. 다른 서버에는 영향을 주지 않습니다. 아직 콘솔 화면은 없으며, 이 API가 유일한 설정 방법입니다. 오버라이드가 규칙 동작에 어떻게 반영되는지는 모니터링 규칙을 참고하세요.

워크스페이스에서 Metrics 확장 기능이 켜져 있어야 하며, 이 자격 증명이 이미 관리할 수 있는 서버에만 접근할 수 있습니다. 다른 서버를 지정하면 찾을 수 없는 것으로 응답합니다.

규칙 오버라이드 목록 조회

규칙 오버라이드 목록을 페이지네이션하여 가져옵니다.

GET /api/metrics/rule-overrides/

쿼리 파라미터

파라미터타입설명
serverstring (UUID)서버 ID로 필터링
rulestring (UUID)경고 규칙 ID로 필터링
enabledboolean오버라이드 활성 여부로 필터링 (false가 제외 상태)
searchstring서버명, 규칙명으로 검색
orderingstring정렬 순서 (예: added_at, -updated_at). 기본값: -added_at
pageinteger페이지 번호
page_sizeinteger페이지당 결과 수 (기본값: 15, 최대: 100)

응답

{
  "count": 1,
  "next": null,
  "previous": null,
  "results": [
    {
      "id": "1a2b3c4d-5e6f-4a7b-8c9d-0e1f2a3b4c5d",
      "server": {
        "id": "7e3984de-49ab-4cc6-bcdf-21fbd35858b8",
        "name": "web-server-01",
        "os": "Ubuntu 22.04",
        "is_connected": true
      },
      "rule": "8c4d6e2a-1b3f-4a5c-8d9e-0f1a2b3c4d5e",
      "threshold": 90,
      "recovery_threshold": 80,
      "duration_s": null,
      "enabled": true,
      "added_at": "2026-09-10T09:00:00Z",
      "updated_at": "2026-09-10T09:00:00Z"
    }
  ]
}

필요한 스코프: rule_override:read

예시

curl -X GET "https://your-workspace.ap1.alpacon.io/api/metrics/rule-overrides/?server=7e3984de-49ab-4cc6-bcdf-21fbd35858b8" \
  -H "Authorization: token=\"alpat-xxxxxxxxxxxxxxxxxx\""

규칙 오버라이드 생성

서버 하나에 그 규칙만의 값을 지정하거나, 규칙에서 제외합니다.

POST /api/metrics/rule-overrides/

요청 본문

{
  "server": "7e3984de-49ab-4cc6-bcdf-21fbd35858b8",
  "rule": "8c4d6e2a-1b3f-4a5c-8d9e-0f1a2b3c4d5e",
  "threshold": 90,
  "recovery_threshold": 80
}

요청 파라미터

필드타입필수설명
serverstring (UUID)Yes오버라이드를 적용할 서버. 이 자격 증명이 관리할 수 있는 서버여야 함
rulestring (UUID)Yes오버라이드할 경고 규칙
thresholdnumberNo이 서버에 한해 규칙의 임계값을 대체. 비워 두면 규칙의 값을 그대로 사용
recovery_thresholdnumberNo이 서버에 한해 규칙의 복귀 임계값을 대체. 규칙의 방향을 기준으로, 적용되는 임계값의 회복하는 쪽에 있어야 함. 비워 두면 규칙의 값을 그대로 사용
duration_sintegerNo이 서버에 한해 규칙의 지속 시간(초)을 대체. 비워 두면 규칙의 값을 그대로 사용하며, 0이면 조건을 만족하는 첫 샘플에서 바로 발생
enabledbooleanNofalse이면 다른 필드 값과 관계없이 이 서버를 규칙에서 완전히 제외. 기본값 true

서버 하나당 규칙 하나에는 오버라이드를 하나만 둘 수 있습니다.

응답

{
  "id": "1a2b3c4d-5e6f-4a7b-8c9d-0e1f2a3b4c5d",
  "server": {
    "id": "7e3984de-49ab-4cc6-bcdf-21fbd35858b8",
    "name": "web-server-01",
    "os": "Ubuntu 22.04",
    "is_connected": true
  },
  "rule": "8c4d6e2a-1b3f-4a5c-8d9e-0f1a2b3c4d5e",
  "threshold": 90,
  "recovery_threshold": 80,
  "duration_s": null,
  "enabled": true,
  "added_at": "2026-09-10T09:00:00Z",
  "updated_at": "2026-09-10T09:00:00Z"
}

필요한 스코프: rule_override:create

예시

curl -X POST "https://your-workspace.ap1.alpacon.io/api/metrics/rule-overrides/" \
  -H "Authorization: token=\"alpat-xxxxxxxxxxxxxxxxxx\"" \
  -H "Content-Type: application/json" \
  -d '{"server": "7e3984de-49ab-4cc6-bcdf-21fbd35858b8", "rule": "8c4d6e2a-1b3f-4a5c-8d9e-0f1a2b3c4d5e", "threshold": 90}'

규칙 오버라이드 상세 조회

특정 규칙 오버라이드를 ID로 조회합니다.

GET /api/metrics/rule-overrides/{override_id}/

경로 파라미터

파라미터타입설명
override_idstring (UUID)조회할 오버라이드의 ID

응답

규칙 오버라이드 생성과 같은 스키마입니다.

필요한 스코프: rule_override:read

예시

curl -X GET "https://your-workspace.ap1.alpacon.io/api/metrics/rule-overrides/1a2b3c4d-5e6f-4a7b-8c9d-0e1f2a3b4c5d/" \
  -H "Authorization: token=\"alpat-xxxxxxxxxxxxxxxxxx\""

규칙 오버라이드 수정

기존 오버라이드를 수정합니다. PATCH를 통한 부분 업데이트를 지원합니다.

PATCH /api/metrics/rule-overrides/{override_id}/

경로 파라미터

파라미터타입설명
override_idstring (UUID)수정할 오버라이드의 ID

요청 본문

{
  "enabled": false
}

요청 파라미터

규칙 오버라이드 생성과 같은 필드이며, 모두 선택 사항입니다. serverrule은 생성 후에는 바꿀 수 없습니다. 오버라이드를 삭제하고 새로 만드세요.

응답

수정된 필드를 포함한 전체 오버라이드 객체를 반환합니다 (규칙 오버라이드 상세 조회와 같은 스키마).

필요한 스코프: rule_override:update

예시

curl -X PATCH "https://your-workspace.ap1.alpacon.io/api/metrics/rule-overrides/1a2b3c4d-5e6f-4a7b-8c9d-0e1f2a3b4c5d/" \
  -H "Authorization: token=\"alpat-xxxxxxxxxxxxxxxxxx\"" \
  -H "Content-Type: application/json" \
  -d '{"enabled": false}'

규칙 오버라이드 삭제

오버라이드를 삭제합니다. 서버는 다시 규칙 자체의 값을 따릅니다.

DELETE /api/metrics/rule-overrides/{override_id}/

경로 파라미터

파라미터타입설명
override_idstring (UUID)삭제할 오버라이드의 ID

응답

204 No Content

필요한 스코프: rule_override:delete

예시

curl -X DELETE "https://your-workspace.ap1.alpacon.io/api/metrics/rule-overrides/1a2b3c4d-5e6f-4a7b-8c9d-0e1f2a3b4c5d/" \
  -H "Authorization: token=\"alpat-xxxxxxxxxxxxxxxxxx\""

오류 코드

상태오류 코드설명
400metrics_alert_rule_recovery_threshold_invalid적용되는 recovery_threshold가 적용되는 threshold의 회복하는 쪽에 있지 않음
400INVALID_REQUEST이 규칙에 대한 오버라이드가 이미 있거나, server 또는 rule을 찾을 수 없음
401UNAUTHORIZED유효하지 않거나 누락된 인증 정보
403FORBIDDEN권한 부족, 또는 이 워크스페이스에서 Metrics 확장 기능이 꺼져 있음
404NOT_FOUND오버라이드를 찾을 수 없거나, server가 이 자격 증명으로 관리할 수 없는 서버를 가리킴
최종 수정: