matchnet

입력 레코드의 IP 주소 필드 값이 지정한 네트워크 대역 그룹에 포함되는지 확인하고, 일치하는 레코드를 필터링합니다.

명령어 속성

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

문법

matchnet guid=STR field=FIELD [invert=BOOL] [verify=BOOL] [tag=BOOL]

옵션

guid=STR
대조할 네트워크 대역 그룹의 GUID
field=FIELD
대조할 IP 주소 필드 이름
invert=BOOL
대조 결과의 반전 여부 (기본값: f)
  • t: 네트워크 대역에 포함되지 않는 레코드를 출력
  • f: 네트워크 대역에 포함되는 레코드를 출력
verify=BOOL
네트워크 대역 그룹 존재 여부 검증 (기본값: t)
  • t: 파싱 시점에 네트워크 대역 그룹이 존재하는지 검증
  • f: 네트워크 대역 그룹 검증을 생략
tag=BOOL
일치한 네트워크 대역 정보의 출력 여부 (기본값: f)
  • t: 일치한 네트워크 대역 정보를 _matchnet_result 필드에 맵으로 할당
  • f: 네트워크 대역 정보를 출력하지 않음

입력 필드

필드타입필수 여부설명
field 지정값문자열, IP 주소, 또는 32비트 정수필수대조 대상 IPv4 주소. 문자열, Inet4Address, 또는 정수 타입이어야 하며, null이거나 IPv6 주소이면 일치하지 않는 것으로 처리합니다.

출력 필드

tag=t 옵션을 지정한 경우, 일치하는 레코드에 다음 필드를 추가합니다.

필드타입설명
_matchnet_result일치한 네트워크 대역 정보. id, start_ip, end_ip, cidr, description 키를 포함합니다.

_matchnet_result 맵의 키:

타입설명
id32비트 정수네트워크 대역 항목 ID
start_ip문자열네트워크 대역 시작 IP 주소
end_ip문자열네트워크 대역 종료 IP 주소
cidr32비트 정수CIDR 프리픽스 길이
description문자열네트워크 대역 설명 (설정된 경우만)

오류 코드

파싱 오류
오류 코드메시지설명
300025matchnet 명령어에 guid 옵션을 지정하세요.guid 옵션이 지정되지 않은 경우
300026matchnet 명령어에 field 옵션을 지정하세요.field 옵션이 지정되지 않은 경우
300027matchnet 명령어의 guid 옵션은 GUID 형식이어야 합니다.guid 옵션 값이 유효한 GUID 형식이 아닌 경우
300028guid에 해당하는 네트워크 대역 그룹이 없습니다.guid에 해당하는 네트워크 대역 그룹이 존재하지 않는 경우
300029네트워크 대역 그룹을 읽어올 수 없습니다.네트워크 대역 그룹 데이터를 로드하는 중 오류가 발생한 경우
런타임 오류

해당 사항 없음

설명

matchnet 명령어는 입력 레코드에서 field 옵션으로 지정한 필드의 IP 주소 값이 네트워크 대역 그룹에 정의된 서브넷에 포함되는지 확인합니다. IPv4 주소만 지원하며, 필드 값이 null이거나 IPv6 주소이거나 지원하지 않는 타입이면 일치하지 않는 것으로 처리합니다.

tag=t 옵션을 지정하면 일치한 네트워크 대역의 상세 정보(시작 IP, 종료 IP, CIDR, 설명)를 _matchnet_result 필드에 맵으로 할당합니다.

invert=t 옵션을 지정하면 네트워크 대역에 포함되지 않는 레코드만 출력합니다.

verify=f 옵션을 지정하면 파싱 시점에 네트워크 대역 그룹의 존재 여부를 검증하지 않습니다. 실시간 스트림 쿼리에서 네트워크 대역 그룹이 나중에 동기화되는 경우에 사용합니다.

네트워크 대역 그룹이 실행 중에 업데이트되면 자동으로 새로운 대역 정보를 반영합니다. 분산 환경에서는 수집 노드에서 실행됩니다.

사용 예

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

  1. 네트워크 대역에 포함되는 레코드 필터링

    table limit=1000 WEB_APACHE_SAMPLE
    | matchnet guid=550e8400-e29b-41d4-a716-446655440000 field=src_ip
    

    웹 서버 접근 로그의 출발지 IP 주소가 지정한 네트워크 대역 그룹에 포함되는 레코드만 출력합니다.

  2. 네트워크 대역에 포함되지 않는 레코드 필터링

    table limit=1000 WEB_APACHE_SAMPLE
    | matchnet guid=550e8400-e29b-41d4-a716-446655440000 field=src_ip invert=t
    

    출발지 IP 주소가 네트워크 대역 그룹에 포함되지 않는 레코드만 출력합니다.

  3. 일치한 네트워크 대역 정보 포함

    table limit=1000 WEB_APACHE_SAMPLE
    | matchnet guid=550e8400-e29b-41d4-a716-446655440000 field=src_ip tag=t
    

    일치하는 레코드에 _matchnet_result 필드를 추가하여 네트워크 대역의 시작 IP, 종료 IP, CIDR, 설명 정보를 맵으로 출력합니다.

  4. 네트워크 대역 그룹 검증 생략

    table limit=1000 WEB_APACHE_SAMPLE
    | matchnet guid=550e8400-e29b-41d4-a716-446655440000 field=src_ip verify=f
    

    네트워크 대역 그룹의 존재 여부를 파싱 시점에 검증하지 않고 실행합니다. 실시간 스트림 쿼리에서 네트워크 대역 그룹이 나중에 동기화되는 경우에 사용합니다.

호환성

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