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.

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)
Record Readergeo-enrich-ip-record-readerController Service API:
RecordReaderFactory
Implementations: CEFReader
SyslogReader
ReaderLookup
ProtobufReader
Syslog5424Reader
CSVReader
GrokReader
WindowsEventLogReader
ScriptedReader
AvroReader
ParquetReader
JsonPathReader
ExcelReader
JsonTreeReader
YamlTreeReader
XMLReader
Record reader service to use for reading the flowfile contents.
Record Writergeo-enrich-ip-record-writerController Service API:
RecordSetWriterFactory
Implementations: JsonRecordSetWriter
RecordSetWriterLookup
AvroRecordSetWriter
XMLRecordSetWriter
FreeFormTextRecordSetWriter
CSVRecordSetWriter
ParquetRecordSetWriter
ScriptedRecordSetWriter
Record writer service to use for enriching the flowfile contents.
Separate Enriched From Not Enrichedgeo-enrich-ip-split-found-not-foundfalse
  • 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 Pathgeo-enrich-ip-ip-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 Pathgeo-enrich-ip-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)
Latitude Record Pathgeo-enrich-ip-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 Pathgeo-enrich-ip-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 Pathgeo-enrich-ip-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 Pathgeo-enrich-ip-country-iso-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 Pathgeo-enrich-ip-country-postal-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)
Log LevelLog LevelWARNThe Log Level to use when an IP is not found in the database. Accepted values: INFO, DEBUG, WARN, ERROR.
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.