evtctxdel

입력 데이터가 조건식과 일치하면 지정한 토픽과 키에 해당하는 이벤트 컨텍스트를 삭제합니다.

명령어 속성

항목설명
명령어 유형가공 쿼리
필요 권한없음
라이선스 사용량해당 없음
병렬 실행지원
분산 실행수집 노드에서 실행 (mapper)

문법

evtctxdel [topic=STR] [key=STR] [logtick=STR] [dynamic=BOOL] EXPR

옵션

topic=STR
이벤트 토픽 이름. 삭제할 이벤트 컨텍스트의 토픽을 지정합니다. dynamic=t인 경우 이 옵션은 무시됩니다.
key=STR
이벤트 컨텍스트 키 값을 추출할 필드 이름. dynamic=t인 경우 이 옵션은 무시됩니다.
logtick=STR
외부 시계 호스트 필드 이름. 지정하면 입력 레코드의 해당 필드에서 호스트 이름을 추출하고, _time 필드의 시간을 기준으로 이벤트 시계를 진행합니다.
dynamic=BOOL
t로 지정하면 topickey 값을 입력 레코드의 필드에서 가져옵니다.

대상

EXPR
이벤트 컨텍스트를 삭제할 조건식. 조건식의 평가 결과가 null이 아니고 false가 아닌 경우에 이벤트 컨텍스트를 삭제합니다.

입력 필드

dynamic=t가 아닌 경우:

필드타입필수 여부설명
key 옵션에 지정한 필드모든 타입필수이벤트 컨텍스트 키 값. null이면 이벤트 컨텍스트를 삭제하지 않습니다.

dynamic=t인 경우:

필드타입필수 여부설명
topic문자열필수이벤트 토픽 이름. null이거나 문자열이 아니면 _error 필드에 오류 메시지를 할당합니다.
key모든 타입필수이벤트 컨텍스트 키 값. null이면 _error 필드에 오류 메시지를 할당합니다.

출력 필드

입력 레코드의 필드를 그대로 전달합니다. dynamic=t인 경우, 오류가 발생하면 다음 필드가 추가될 수 있습니다.

필드타입설명
_error문자열오류 메시지 (dynamic 모드 오류 발생 시)

오류 코드

파싱 오류
오류 코드메시지설명
23400topic 옵션을 설정해주세요.dynamic=t가 아닌데 topic 옵션이 없는 경우
23401key 옵션을 설정해주세요.dynamic=t가 아닌데 key 옵션이 없는 경우
23402evtctxdel 명령어를 실행할 조건식을 지정하십시오.조건식이 지정되지 않은 경우
런타임 오류

해당 사항 없음

설명

evtctxdel 명령어는 입력 레코드를 순회하며, 각 레코드가 조건식과 일치하면 지정한 토픽과 키에 해당하는 이벤트 컨텍스트를 메모리 저장소에서 삭제합니다. evtctxadd 명령어로 생성한 이벤트 컨텍스트를 특정 조건이 충족되었을 때 명시적으로 제거하는 용도로 사용합니다.

dynamic=t 옵션을 사용하면 토픽과 키를 입력 레코드의 필드에서 동적으로 가져옵니다. 동적 모드에서 필수 필드가 누락되거나 값이 유효하지 않으면 해당 레코드의 _error 필드에 오류 메시지를 할당하고 이벤트 컨텍스트를 삭제하지 않습니다.

입력 레코드는 이벤트 컨텍스트 삭제 여부와 관계없이 다음 명령어로 전달됩니다.

사용 예

이 사용 예에서 조회하는 WEB_APACHE_SAMPLE 테이블을 준비하려면 쿼리 실습용 데이터를 참고하세요.

  1. 정상 응답 수신 시 오류 접근 이벤트 컨텍스트 삭제

    table duration=1h WEB_APACHE_SAMPLE
    | evtctxdel topic=error_access key=src_ip status < 400
    

    HTTP 상태 코드가 400 미만인 정상 응답이 수신되면 해당 src_ip의 오류 접근 이벤트 컨텍스트를 삭제합니다.

  2. 동적 모드로 이벤트 컨텍스트 삭제

    json "[{'topic': 'scan_detect', 'key': '192.0.2.1', 'status': 200}]"
    | evtctxdel dynamic=t status == 200
    

    입력 레코드의 topickey 필드 값을 사용하여 이벤트 컨텍스트를 동적으로 삭제합니다.

호환성

evtctxdel 명령어는 소나 4.0 이전 버전부터 제공되었습니다.