프로그래밍 가능 탐지¶
현재 문서 안내
이 문서는 탐지 규칙 구성 과정의 두 번째 단계입니다. 구성이 완료되면 기본 문서로 돌아가 세 번째 단계: 이벤트 알림을 계속 진행하세요.
스크립트를 통해 탐지 규칙을 작성하여 다양한 시스템 데이터 유형에 대한 탐지 요구 사항을 충족합니다. DQL을 사용하여 데이터를 쿼리하고, 사용자 정의 로직(예: 필드 매칭, 임계값 판단 등)을 통해 신호 트리거 로직을 설정하여 유연한 모니터링 알림 정책을 구현할 수 있습니다.
주의
프로그래밍 가능 탐지 모니터의 실행 자체는 과금되지 않으며, 그 규칙은 보안 탐지 스캔 트래픽의 과금 방식과 동일합니다.
탐지 구성¶
탐지 빈도¶
탐지를 실행할 시간 주기를 설정합니다.
-
사전 설정 옵션: 30초, 1분, 5분(기본값), 15분, 30분, 1시간
-
Crontab 모드: "Crontab 모드로 전환"을 클릭하여 사용자 정의 주기를 구성할 수 있으며, 초, 분, 시간, 일, 월, 주 등의 주기로 예약된 작업 실행을 구성할 수 있습니다.
탐지 구간¶
각 탐지 쿼리의 데이터 시간 범위를 설정합니다(❗️탐지 규칙 내 DQL 쿼리에서 시간 범위를 지정한 경우, 시스템은 규칙에 정의된 시간 범위를 우선 적용합니다).
| 탐지 빈도 | 탐지 구간(드롭다운 옵션) |
|---|---|
| 30s | 1m/5m/15m/30m/1h/3h |
| 1m | 1m/5m/15m/30m/1h/3h |
| 5m | 5m/15m/30m/1h/3h |
| 15m | 15m/30m/1h/3h/6h |
| 30m | 30m/1h/3h/6h |
| 1h | 1h/3h/6h/12h/24h |
- 사용자 정의 형식: 탐지 구간을 사용자 정의하여 입력할 수 있습니다. 예: 20m(최근 20분), 2h(최근 2시간), 1d(최근 1일).
탐지 규칙 정의¶
스크립트를 작성하여 보안 탐지 로직을 정의합니다. 스크립트에서 DQL을 사용하여 데이터를 쿼리하고, 조건 표현식(예: 필드 매칭, 임계값 판단 등)을 통해 신호 트리거 로직을 설정할 수 있습니다.
편집기 기능¶
| 기능 | 설명 |
|---|---|
| 자동 줄 바꿈 | 텍스트 자동 줄 바꿈 또는 내용 오버플로 표시 설정 |
| fx 함수 | fx 함수를 선택하여 규칙 작성 지원 |
| 단축키 | 단축키를 사용하여 내용 형식 처리 |
| 원클릭 복사 | 스크립트 내용을 클립보드에 빠르게 복사 |
| 규칙 작성 가이드 | 스크립트 작성 규칙 및 예제 확인 |
| 테스트 시작 | 스크립트 로직이 올바르게 실행되는지 확인 |
스크립트 예제¶
예제:
data1 = dql("T::re(`.*`):(avg(duration), service, span_id) by host limit 1")
status = "high"
host = dql_series_get(data1,"host")
service = dql_series_get(data1,"service")
trigger(data1,status,dimension_tags={"host":host},related_data={"service":service})
위 스크립트 예제는 크게 다음 부분으로 나뉩니다:
-
데이터 쿼리 실행: 모든 서비스에서 각 호스트의 평균 응답 시간이 가장 나쁜 성능 데이터를 찾습니다.
-
알림 수준 설정: 우선순위는
high입니다. -
데이터 소스 식별:
-
최종 알림 생성:
호스트 {host}의 {service} 서비스 응답 시간 이상
후속 구성¶
위 탐지 구성을 완료한 후 다음 구성을 계속 진행하세요: