matchnet
입력 레코드의 IP 주소 필드 값이 지정한 네트워크 대역 그룹에 포함되는지 확인하고, 일치하는 레코드를 필터링합니다.
명령어 속성
| 항목 | 설명 |
|---|---|
| 명령어 유형 | 가공 쿼리 |
| 필요 권한 | 없음 |
| 라이선스 사용량 | 해당 없음 |
| 병렬 실행 | 지원 |
| 분산 실행 | 수집 노드에서 실행 (mapper) |
문법
옵션
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 맵의 키:
| 키 | 타입 | 설명 |
|---|---|---|
| id | 32비트 정수 | 네트워크 대역 항목 ID |
| start_ip | 문자열 | 네트워크 대역 시작 IP 주소 |
| end_ip | 문자열 | 네트워크 대역 종료 IP 주소 |
| cidr | 32비트 정수 | CIDR 프리픽스 길이 |
| description | 문자열 | 네트워크 대역 설명 (설정된 경우만) |
오류 코드
파싱 오류
| 오류 코드 | 메시지 | 설명 |
|---|---|---|
| 300025 | matchnet 명령어에 guid 옵션을 지정하세요. | guid 옵션이 지정되지 않은 경우 |
| 300026 | matchnet 명령어에 field 옵션을 지정하세요. | field 옵션이 지정되지 않은 경우 |
| 300027 | matchnet 명령어의 guid 옵션은 GUID 형식이어야 합니다. | guid 옵션 값이 유효한 GUID 형식이 아닌 경우 |
| 300028 | guid에 해당하는 네트워크 대역 그룹이 없습니다. | guid에 해당하는 네트워크 대역 그룹이 존재하지 않는 경우 |
| 300029 | 네트워크 대역 그룹을 읽어올 수 없습니다. | 네트워크 대역 그룹 데이터를 로드하는 중 오류가 발생한 경우 |
런타임 오류
해당 사항 없음
설명
matchnet 명령어는 입력 레코드에서 field 옵션으로 지정한 필드의 IP 주소 값이 네트워크 대역 그룹에 정의된 서브넷에 포함되는지 확인합니다. IPv4 주소만 지원하며, 필드 값이 null이거나 IPv6 주소이거나 지원하지 않는 타입이면 일치하지 않는 것으로 처리합니다.
tag=t 옵션을 지정하면 일치한 네트워크 대역의 상세 정보(시작 IP, 종료 IP, CIDR, 설명)를 _matchnet_result 필드에 맵으로 할당합니다.
invert=t 옵션을 지정하면 네트워크 대역에 포함되지 않는 레코드만 출력합니다.
verify=f 옵션을 지정하면 파싱 시점에 네트워크 대역 그룹의 존재 여부를 검증하지 않습니다. 실시간 스트림 쿼리에서 네트워크 대역 그룹이 나중에 동기화되는 경우에 사용합니다.
네트워크 대역 그룹이 실행 중에 업데이트되면 자동으로 새로운 대역 정보를 반영합니다. 분산 환경에서는 수집 노드에서 실행됩니다.
사용 예
이 사용 예에서 조회하는 WEB_APACHE_SAMPLE 테이블을 준비하려면 쿼리 실습용 데이터를 참고하세요.
-
네트워크 대역에 포함되는 레코드 필터링
table limit=1000 WEB_APACHE_SAMPLE | matchnet guid=550e8400-e29b-41d4-a716-446655440000 field=src_ip웹 서버 접근 로그의 출발지 IP 주소가 지정한 네트워크 대역 그룹에 포함되는 레코드만 출력합니다.
-
네트워크 대역에 포함되지 않는 레코드 필터링
table limit=1000 WEB_APACHE_SAMPLE | matchnet guid=550e8400-e29b-41d4-a716-446655440000 field=src_ip invert=t출발지 IP 주소가 네트워크 대역 그룹에 포함되지 않는 레코드만 출력합니다.
-
일치한 네트워크 대역 정보 포함
table limit=1000 WEB_APACHE_SAMPLE | matchnet guid=550e8400-e29b-41d4-a716-446655440000 field=src_ip tag=t일치하는 레코드에
_matchnet_result필드를 추가하여 네트워크 대역의 시작 IP, 종료 IP, CIDR, 설명 정보를 맵으로 출력합니다. -
네트워크 대역 그룹 검증 생략
table limit=1000 WEB_APACHE_SAMPLE | matchnet guid=550e8400-e29b-41d4-a716-446655440000 field=src_ip verify=f네트워크 대역 그룹의 존재 여부를 파싱 시점에 검증하지 않고 실행합니다. 실시간 스트림 쿼리에서 네트워크 대역 그룹이 나중에 동기화되는 경우에 사용합니다.
호환성
matchnet 명령어는 소나 4.0 이전 버전부터 제공되었습니다.