Geo IP processor
출처: 문서
본문
Geo IP 프로세서
geoip 프로세서는 이벤트에 포함된 IP 주소에서 추출한 지리적 정보로 이벤트를 보강해요.
기본적으로 OpenSearch Data Prepper는 MaxMind GeoLite2 지리 위치 데이터베이스를 사용해요.
Data Prepper 관리자는 geoip_service 확장 설정을 사용해 데이터베이스를 구성할 수 있어요.
사용 방법
geoip 프로세서가 엔트리를 대상으로 동작하도록 설정할 수 있어요.
최소 설정에는 엔트리가 적어도 하나 필요하고, 각 엔트리에는 적어도 하나의 소스 필드가 필요해요.
다음 설정은 clientip 필드에 제공된 IP 주소에서 사용 가능한 모든 지리 위치 데이터를 추출해요.
별도로 설정하지 않을 때의 기본값인 geo라는 새 필드에 지리 위치 데이터를 기록해요:
my-pipeline:
processor:
- geoip:
entries:
- source: clientip
{% include copy.html %}
다음 예제는 자율 시스템 번호(Autonomous System Number, ASN) 필드를 제외하고 지리 위치 데이터를 clientlocation이라는 필드에 넣어요:
my-pipeline:
processor:
- geoip:
entries:
- source: clientip
target: clientlocation
include_fields: [asn, asn_organization, network]
{% include copy.html %}
설정
다음 옵션을 사용해 geoip 프로세서를 설정할 수 있어요.
| 옵션 | 필수 여부 | 타입 | 설명 |
|---|---|---|---|
entries |
예 | entry list | 보강 대상으로 표시된 엔트리 목록이에요. |
geoip_when |
아니요 | String | geoip 프로세서가 어떤 조건에서 매칭을 수행해야 하는지 지정해요. 기본값은 조건 없음이에요. |
tags_on_no_valid_ip |
아니요 | String | 소스 필드가 유효한 IP 주소가 아닐 때 이벤트 메타데이터에 추가할 태그예요. 여기에는 localhost IP 주소도 포함돼요. |
tags_on_ip_not_found |
아니요 | String | geoip 프로세서가 IP 주소에 대한 위치를 찾지 못할 때 이벤트 메타데이터에 추가할 태그예요. |
tags_on_engine_failure |
아니요 | String | 엔진 실패로 인해 geoip 프로세서가 이벤트를 보강하지 못할 때 이벤트 메타데이터에 추가할 태그예요. |
entry
다음 파라미터를 사용하면 지리 위치 엔트리 하나를 설정할 수 있어요. 각 엔트리는 하나의 IP 주소에 해당해요.
| 옵션 | 필수 여부 | 타입 | 설명 |
|---|---|---|---|
source |
예 | String | 지리 위치를 확인할 IP 주소가 담긴 소스 필드의 키예요. |
target |
아니요 | String | 지리 위치 데이터를 저장할 대상 필드의 키예요. 기본값은 geo예요. |
include_fields |
아니요 | String list | target 객체에 포함할 지리 위치 필드 목록이에요. 기본값은 설정된 데이터베이스가 제공하는 모든 필드예요. |
exclude_fields |
아니요 | String list | target 객체에서 제외할 지리 위치 필드 목록이에요. |