In order to build this locally you will need to download a copy of the GeoLite2 City from MaxMind.
This transformation is used to lookup data from a MaxMind database and append the data to an existing struct.
transforms=maxmindtransformation
transforms.maxmindtransformation.type=com.github.jcustenborder.kafka.connect.transform.maxmind.MaxMindTransformation
# Set these required values
transforms.maxmindtransformation.field.input=
transforms.maxmindtransformation.maxmind.database.path=
transforms.maxmindtransformation.field.output=| Name | Description | Type | Default | Valid Values | Importance |
|---|---|---|---|---|---|
| field.input | The field in the value() of the connect record to read the ip address from. | string | high | ||
| field.output | The field in the value() to write the GeoIp Data to. The schema will be appended. | string | high | ||
| maxmind.database.path | The path of the database on the local file system. | string | high | ||
| maxmind.enable.anonymousip | Flag to determine if the ip should be checked if it's used for anonymous internet access. | boolean | false | medium | |
| maxmind.enable.asn | Flag to determine if the ip should be checked if ASN information should be included. | boolean | false | medium | |
| maxmind.enable.city | Flag to determine if the ip should be checked if city information should be included. | boolean | true | medium | |
| maxmind.enable.connectiontype | Flag to determine if the ip should be checked if connection information should be included. | boolean | false | medium | |
| maxmind.enable.country | Flag to determine if the ip should be checked if country information should be included. | boolean | false | medium | |
| maxmind.enable.domain | Flag to determine if the ip should be checked if domain information should be included. | boolean | false | medium | |
| maxmind.enable.enterprise | Flag to determine if the ip should be checked if enterprise information should be included. | boolean | false | medium | |
| maxmind.enable.isp | Flag to determine if the ip should be checked if ISP information should be included. | boolean | false | medium | |
| maxmind.database.file.mode | The mode in which to open the database. | string | MEMORY_MAPPED | ValidEnum{enum=FileMode, allowed=[MEMORY_MAPPED, MEMORY]} | low |
This schema contains all of the data that can be retrieved from the MaxMind api.
| Name | Optional | Schema | Default Value | Documentation |
|---|---|---|---|---|
| anonymousIpResponse | true | com.maxmind.geoip2.model.AnonymousIpResponse | ||
| asnResponse | true | com.maxmind.geoip2.model.AsnResponse | ||
| cityResponse | true | com.maxmind.geoip2.model.CityResponse | ||
| connectionTypeResponse | true | com.maxmind.geoip2.model.ConnectionTypeResponse | ||
| countryResponse | true | com.maxmind.geoip2.model.CountryResponse | ||
| domainResponse | true | com.maxmind.geoip2.model.DomainResponse | ||
| enterpriseResponse | true | com.maxmind.geoip2.model.EnterpriseResponse | ||
| insightsResponse | true | com.maxmind.geoip2.model.InsightsResponse | ||
| ispResponse | true | com.maxmind.geoip2.model.IspResponse |
| Name | Optional | Schema | Default Value | Documentation |
|---|---|---|---|---|
| type | true | String | ||
| name | true | String | ||
| names | true | Map of <String, String> | ||
| geoNameId | true | Int32 |
| Name | Optional | Schema | Default Value | Documentation |
|---|---|---|---|---|
| code | true | String | ||
| name | true | String | ||
| names | true | Map of <String, String> | ||
| geoNameId | true | Int32 |
| Name | Optional | Schema | Default Value | Documentation |
|---|---|---|---|---|
| accuracyRadius | true | Int32 | ||
| averageIncome | true | Int32 | ||
| latitude | true | Float64 | ||
| longitude | true | Float64 | ||
| metroCode | true | Int32 | ||
| populationDensity | true | Int32 | ||
| timeZone | true | String |
| Name | Optional | Schema | Default Value | Documentation |
|---|---|---|---|---|
| code | true | String | ||
| confidence | true | Int32 |
| Name | Optional | Schema | Default Value | Documentation |
|---|---|---|---|---|
| confidence | true | Int32 | ||
| name | true | String | ||
| names | true | Map of <String, String> | ||
| geoNameId | true | Int32 |
| Name | Optional | Schema | Default Value | Documentation |
|---|---|---|---|---|
| confidence | true | Int32 | ||
| isoCode | true | String | ||
| name | true | String | ||
| names | true | Map of <String, String> | ||
| geoNameId | true | Int32 |
| Name | Optional | Schema | Default Value | Documentation |
|---|---|---|---|---|
| confidence | true | Int32 | ||
| isoCode | true | String | ||
| name | true | String | ||
| names | true | Map of <String, String> | ||
| geoNameId | true | Int32 |
| Name | Optional | Schema | Default Value | Documentation |
|---|---|---|---|---|
| autonomousSystemNumber | true | Int32 | ||
| autonomousSystemOrganization | true | String | ||
| connectionType | true | String | ||
| domain | true | String | ||
| isAnonymousProxy | true | Boolean | ||
| isSatelliteProvider | true | Boolean | ||
| isp | true | String | ||
| organization | true | String | ||
| userType | true | String | ||
| isLegitimateProxy | true | Boolean |
| Name | Optional | Schema | Default Value | Documentation |
|---|---|---|---|---|
| continent | true | com.maxmind.geoip2.record.Continent | ||
| country | true | com.maxmind.geoip2.record.Country | ||
| registeredCountry | true | com.maxmind.geoip2.record.Country | ||
| representedCountry | true | com.maxmind.geoip2.record.RepresentedCountry | ||
| traits | true | com.maxmind.geoip2.record.Traits |
| Name | Optional | Schema | Default Value | Documentation |
|---|---|---|---|---|
| domain | true | String |
| Name | Optional | Schema | Default Value | Documentation |
|---|---|---|---|---|
| connectionType | true | String |
| Name | Optional | Schema | Default Value | Documentation |
|---|---|---|---|---|
| city | true | com.maxmind.geoip2.record.City | ||
| location | true | com.maxmind.geoip2.record.Location | ||
| postal | true | com.maxmind.geoip2.record.Postal | ||
| subdivisions | true | Array of com.maxmind.geoip2.record.Subdivision | ||
| continent | true | com.maxmind.geoip2.record.Continent | ||
| country | true | com.maxmind.geoip2.record.Country | ||
| registeredCountry | true | com.maxmind.geoip2.record.Country | ||
| representedCountry | true | com.maxmind.geoip2.record.RepresentedCountry | ||
| traits | true | com.maxmind.geoip2.record.Traits |
| Name | Optional | Schema | Default Value | Documentation |
|---|---|---|---|---|
| autonomousSystemNumber | true | Int32 | ||
| autonomousSystemOrganization | true | String |
| Name | Optional | Schema | Default Value | Documentation |
|---|---|---|---|---|
| city | true | com.maxmind.geoip2.record.City | ||
| location | true | com.maxmind.geoip2.record.Location | ||
| postal | true | com.maxmind.geoip2.record.Postal | ||
| subdivisions | true | Array of com.maxmind.geoip2.record.Subdivision | ||
| continent | true | com.maxmind.geoip2.record.Continent | ||
| country | true | com.maxmind.geoip2.record.Country | ||
| registeredCountry | true | com.maxmind.geoip2.record.Country | ||
| representedCountry | true | com.maxmind.geoip2.record.RepresentedCountry | ||
| traits | true | com.maxmind.geoip2.record.Traits |
| Name | Optional | Schema | Default Value | Documentation |
|---|---|---|---|---|
| city | true | com.maxmind.geoip2.record.City | ||
| location | true | com.maxmind.geoip2.record.Location | ||
| postal | true | com.maxmind.geoip2.record.Postal | ||
| subdivisions | true | Array of com.maxmind.geoip2.record.Subdivision | ||
| continent | true | com.maxmind.geoip2.record.Continent | ||
| country | true | com.maxmind.geoip2.record.Country | ||
| registeredCountry | true | com.maxmind.geoip2.record.Country | ||
| representedCountry | true | com.maxmind.geoip2.record.RepresentedCountry | ||
| traits | true | com.maxmind.geoip2.record.Traits |
| Name | Optional | Schema | Default Value | Documentation |
|---|---|---|---|---|
| isAnonymous | true | Boolean | ||
| isAnonymousVpn | true | Boolean | ||
| isHostingProvider | true | Boolean | ||
| isPublicProxy | true | Boolean | ||
| isTorExitNode | true | Boolean |
| Name | Optional | Schema | Default Value | Documentation |
|---|---|---|---|---|
| isp | true | String | ||
| organization | true | String |