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'} |