evtctxdel
입력 데이터가 조건식과 일치하면 지정한 토픽과 키에 해당하는 이벤트 컨텍스트를 삭제합니다.
명령어 속성
| 항목 | 설명 |
|---|---|
| 명령어 유형 | 가공 쿼리 |
| 필요 권한 | 없음 |
| 라이선스 사용량 | 해당 없음 |
| 병렬 실행 | 지원 |
| 분산 실행 | 수집 노드에서 실행 (mapper) |
문법
evtctxdel [topic=STR] [key=STR] [logtick=STR] [dynamic=BOOL] EXPR
옵션
topic=STR- 이벤트 토픽 이름. 삭제할 이벤트 컨텍스트의 토픽을 지정합니다.
dynamic=t인 경우 이 옵션은 무시됩니다. key=STR- 이벤트 컨텍스트 키 값을 추출할 필드 이름.
dynamic=t인 경우 이 옵션은 무시됩니다. logtick=STR- 외부 시계 호스트 필드 이름. 지정하면 입력 레코드의 해당 필드에서 호스트 이름을 추출하고,
_time필드의 시간을 기준으로 이벤트 시계를 진행합니다. dynamic=BOOLt로 지정하면topic과key값을 입력 레코드의 필드에서 가져옵니다.
대상
EXPR- 이벤트 컨텍스트를 삭제할 조건식. 조건식의 평가 결과가 null이 아니고 false가 아닌 경우에 이벤트 컨텍스트를 삭제합니다.
입력 필드
dynamic=t가 아닌 경우:
| 필드 | 타입 | 필수 여부 | 설명 |
|---|---|---|---|
key 옵션에 지정한 필드 | 모든 타입 | 필수 | 이벤트 컨텍스트 키 값. null이면 이벤트 컨텍스트를 삭제하지 않습니다. |
dynamic=t인 경우:
| 필드 | 타입 | 필수 여부 | 설명 |
|---|---|---|---|
topic | 문자열 | 필수 | 이벤트 토픽 이름. null이거나 문자열이 아니면 _error 필드에 오류 메시지를 할당합니다. |
key | 모든 타입 | 필수 | 이벤트 컨텍스트 키 값. null이면 _error 필드에 오류 메시지를 할당합니다. |
출력 필드
입력 레코드의 필드를 그대로 전달합니다. dynamic=t인 경우, 오류가 발생하면 다음 필드가 추가될 수 있습니다.
| 필드 | 타입 | 설명 |
|---|---|---|
_error | 문자열 | 오류 메시지 (dynamic 모드 오류 발생 시) |
오류 코드
파싱 오류
| 오류 코드 | 메시지 | 설명 |
|---|---|---|
| 23400 | topic 옵션을 설정해주세요. | dynamic=t가 아닌데 topic 옵션이 없는 경우 |
| 23401 | key 옵션을 설정해주세요. | dynamic=t가 아닌데 key 옵션이 없는 경우 |
| 23402 | evtctxdel 명령어를 실행할 조건식을 지정하십시오. | 조건식이 지정되지 않은 경우 |
런타임 오류
해당 사항 없음
설명
evtctxdel 명령어는 입력 레코드를 순회하며, 각 레코드가 조건식과 일치하면 지정한 토픽과 키에 해당하는 이벤트 컨텍스트를 메모리 저장소에서 삭제합니다. evtctxadd 명령어로 생성한 이벤트 컨텍스트를 특정 조건이 충족되었을 때 명시적으로 제거하는 용도로 사용합니다.
dynamic=t 옵션을 사용하면 토픽과 키를 입력 레코드의 필드에서 동적으로 가져옵니다. 동적 모드에서 필수 필드가 누락되거나 값이 유효하지 않으면 해당 레코드의 _error 필드에 오류 메시지를 할당하고 이벤트 컨텍스트를 삭제하지 않습니다.
입력 레코드는 이벤트 컨텍스트 삭제 여부와 관계없이 다음 명령어로 전달됩니다.
사용 예
이 사용 예에서 조회하는 WEB_APACHE_SAMPLE 테이블을 준비하려면 쿼리 실습용 데이터를 참고하세요.
-
정상 응답 수신 시 오류 접근 이벤트 컨텍스트 삭제
table duration=1h WEB_APACHE_SAMPLE | evtctxdel topic=error_access key=src_ip status < 400HTTP 상태 코드가 400 미만인 정상 응답이 수신되면 해당
src_ip의 오류 접근 이벤트 컨텍스트를 삭제합니다. -
동적 모드로 이벤트 컨텍스트 삭제
json "[{'topic': 'scan_detect', 'key': '192.0.2.1', 'status': 200}]" | evtctxdel dynamic=t status == 200입력 레코드의
topic과key필드 값을 사용하여 이벤트 컨텍스트를 동적으로 삭제합니다.
호환성
evtctxdel 명령어는 소나 4.0 이전 버전부터 제공되었습니다.