Looks up geolocation information for an IP address and adds the geo information to FlowFile attributes. The geo data is provided as a MaxMind database. The attribute that contains the IP address to lookup is provided by the 'IP Address Attribute' property. If the name of the attribute provided is 'X', then the the attributes added by enrichment will take the form X.geo.<fieldName>


geo, enrich, ip, maxmind


In the list below, the names of required properties appear in bold. Any other properties (not in bold) are considered optional. The table also indicates any default values, and whether a property supports the NiFi Expression Language.

Display NameAPI NameDefault ValueAllowable ValuesDescription
MaxMind Database FileGeo Database FilePath to Maxmind IP Enrichment Database File

This property requires exactly one resource to be provided. That resource may be any of the following types: file, directory.

Supports Expression Language: true (will be evaluated using variable registry only)
IP Address AttributeIP Address AttributeThe name of an attribute whose value is a dotted decimal IP address for which enrichment should occur
Supports Expression Language: true (will be evaluated using flow file attributes and variable registry)


not foundWhere to route flow files after unsuccessfully enriching attributes because no data was found
foundWhere to route flow files after successfully enriching attributes with data provided by database

Reads Attributes:

None specified.

Writes Attributes:

X.geo.lookup.microsThe number of microseconds that the geo lookup took
X.geo.cityThe city identified for the IP address
X.geo.accuracyThe accuracy radius if provided by the database (in Kilometers)
X.geo.latitudeThe latitude identified for this IP address
X.geo.longitudeThe longitude identified for this IP address
X.geo.subdivision.NEach subdivision that is identified for this IP address is added with a one-up number appended to the attribute name, starting with 0
X.geo.subdivision.isocode.NThe ISO code for the subdivision that is identified by X.geo.subdivision.N
X.geo.countryThe country identified for this IP address ISO Code for the country identified
X.geo.postalcodeThe postal code for the country identified

State management:

This component does not store state.


This component is not restricted.

Input requirement:

This component requires an incoming relationship.

System Resource Considerations:

None specified.