GeoEnrichIPRecord

Description:

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. This version uses the NiFi Record API to allow large scale enrichment of record-oriented data sets. Each field provided by the MaxMind database can be directed to a field of the user's choosing by providing a record path for that field configuration.

Tags:

geo, enrich, ip, maxmind, record

Properties:

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.

NameDefault ValueAllowable ValuesDescription
MaxMind 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: directory, file.

Supports Expression Language: true (will be evaluated using variable registry only)
Record ReaderController Service API:
RecordReaderFactory
Implementations: ScriptedReader
XMLReader
GrokReader
AvroReader
WindowsEventLogReader
JsonPathReader
ReaderLookup
CSVReader
Syslog5424Reader
SyslogReader
JsonTreeReader
ParquetReader
Record reader service to use for reading the flowfile contents.
Record WriterController Service API:
RecordSetWriterFactory
Implementations: FreeFormTextRecordSetWriter
AvroRecordSetWriter
ParquetRecordSetWriter
ScriptedRecordSetWriter
JsonRecordSetWriter
RecordSetWriterLookup
CSVRecordSetWriter
XMLRecordSetWriter
Record writer service to use for enriching the flowfile contents.
Separate Enriched From Not Enrichedfalse
  • true
  • false
Separate records that have been enriched from ones that have not. Default behavior is to send everything to the found relationship if even one record is enriched.
IP Address Record PathThe record path to retrieve the IP address for doing the lookup.
Supports Expression Language: true (will be evaluated using flow file attributes and variable registry)
City Record PathRecord path for putting the city identified for the IP address
Supports Expression Language: true (will be evaluated using flow file attributes and variable registry)
Accuracy Radius Record PathRecord path for putting the accuracy radius if provided by the database (in Kilometers)
Supports Expression Language: true (will be evaluated using flow file attributes and variable registry)
Latitude Record PathRecord path for putting the latitude identified for this IP address
Supports Expression Language: true (will be evaluated using flow file attributes and variable registry)
Longitude Record PathRecord path for putting the longitude identified for this IP address
Supports Expression Language: true (will be evaluated using flow file attributes and variable registry)
Country Record PathRecord path for putting the country identified for this IP address
Supports Expression Language: true (will be evaluated using flow file attributes and variable registry)
Country ISO Code Record PathRecord path for putting the ISO Code for the country identified
Supports Expression Language: true (will be evaluated using flow file attributes and variable registry)
Country Postal Code Record PathRecord path for putting the postal code for the country identified
Supports Expression Language: true (will be evaluated using flow file attributes and variable registry)

Relationships:

NameDescription
not foundWhere to route flow files after unsuccessfully enriching attributes because no data was found
originalThe original input flowfile goes to this relationship regardless of whether the content was enriched or not.
foundWhere to route flow files after successfully enriching attributes with data provided by database

Reads Attributes:

None specified.

Writes Attributes:

None specified.

State management:

This component does not store state.

Restricted:

This component is not restricted.

Input requirement:

This component requires an incoming relationship.

System Resource Considerations:

None specified.