IP 주소 함수

IP 주소 함수 (IP Address Functions)

PPL에서 지원하는 IP 주소 함수에 대해 알아봐요. CIDRMATCH와 GEOIP 함수를 사용해 IP 주소를 검사하고 위치 정보를 조회할 수 있어요.

출처: 문서

본문

PPL에서 지원하는 IP 주소 함수는 다음과 같아요.

CIDRMATCH

사용법: CIDRMATCH(ip, cidr)

IP 주소가 지정된 CIDR 범위 안에 있는지 확인해요.

매개변수:

  • ip (필수): 확인할 IP 주소예요. 문자열 또는 IP 값이에요. IPv4와 IPv6를 모두 지원해요.
  • cidr (필수): 확인 대상 CIDR 범위예요. 문자열이에요. IPv4와 IPv6 블록을 모두 지원해요.

반환 타입: BOOLEAN

예제

source=weblogs
| where cidrmatch(host, '1.2.3.0/24')
| fields host, url

쿼리는 다음과 같은 결과를 반환해요:

host | url
1.2.3.4 | /history/voyager1/
1.2.3.5 | /history/voyager2/

GEOIP

사용법: GEOIP(dataSourceName, ipAddress[, options])

OpenSearch Geospatial 플러그인 API를 사용해 IP 주소에 대한 위치 정보를 검색해요.

매개변수:

  • dataSourceName (필수): OpenSearch Geospatial 플러그인의 설정된 데이터 소스 이름이에요. 설정 방법은 IP2Geo 프로세서 문서를 참고해요.
  • ipAddress (필수): 조회할 IP 주소예요. 문자열 또는 IP 값이에요. IPv4와 IPv6를 모두 지원해요.
  • options (선택): 출력할 필드의 쉼표로 구분된 문자열이에요. 사용 가능한 필드는 데이터 소스 제공자의 스키마에 따라 달라져요. 예를 들어 geolite2-city 데이터셋에는 country_iso_code, country_name, continent_name, region_iso_code, region_name, city_name, time_zone, location 같은 필드가 포함돼요.

반환 타입: OBJECT

예제

source=weblogs
| eval LookupResult = geoip("dataSourceName", "50.68.18.229", "country_iso_code,city_name")

쿼리는 다음과 같은 결과를 반환해요:

LookupResult | 
{'city_name': 'Vancouver', 'country_iso_code': 'CA'} | 

더 알아보기 (Learn more)