Skip to main content

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

enrich, geo, ip, maxmind, record

Properties

In the list below required Properties are shown with an asterisk (*). Other properties 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 File *Geo Database FilePath to Maxmind IP Enrichment Database File

Supports Expression Language, using Environment variables.
Record Reader *geo-enrich-ip-record-readerController Service:
RecordReaderFactory

Implementations:
AvroReader
CEFReader
CSVReader
ExcelReader
GrokReader
JsonPathReader
JsonTreeReader
ReaderLookup
ScriptedReader
Syslog5424Reader
SyslogReader
WindowsEventLogReader
XMLReader
YamlTreeReader
Record reader service to use for reading the flowfile contents.
Record Writer *geo-enrich-ip-record-writerController Service:
RecordSetWriterFactory

Implementations:
AvroRecordSetWriter
CSVRecordSetWriter
FreeFormTextRecordSetWriter
JsonRecordSetWriter
RecordSetWriterLookup
ScriptedRecordSetWriter
XMLRecordSetWriter
Record writer service to use for enriching the flowfile contents.
Separate Enriched From Not Enriched *geo-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 Path *geo-enrich-ip-ip-record-pathThe record path to retrieve the IP address for doing the lookup.

Supports Expression Language, using FlowFile attributes and Environment variables.
City Record Pathgeo-enrich-ip-city-record-pathRecord path for putting the city identified for the IP address

Supports Expression Language, using FlowFile attributes and Environment variables.
Latitude Record Pathgeo-enrich-ip-latitude-record-pathRecord path for putting the latitude identified for this IP address

Supports Expression Language, using FlowFile attributes and Environment variables.
Longitude Record Pathgeo-enrich-ip-longitude-record-pathRecord path for putting the longitude identified for this IP address

Supports Expression Language, using FlowFile attributes and Environment variables.
Country Record Pathgeo-enrich-ip-country-record-pathRecord path for putting the country identified for this IP address

Supports Expression Language, using FlowFile attributes and Environment variables.
Country ISO Code Record Pathgeo-enrich-ip-country-iso-record-pathRecord path for putting the ISO Code for the country identified

Supports Expression Language, using FlowFile attributes and Environment variables.
Country Postal Code Record Pathgeo-enrich-ip-country-postal-record-pathRecord path for putting the postal code for the country identified

Supports Expression Language, using FlowFile attributes and Environment variables.
Log Level *Log LevelWARNThe Log Level to use when an IP is not found in the database. Accepted values: INFO, DEBUG, WARN, ERROR.

Supports Expression Language, using FlowFile attributes and Environment variables.

Dynamic Properties

This component does not support dynamic properties.

Relationships

NameDescription
foundWhere to route flow files after successfully enriching attributes with data provided by database
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.

Reads Attributes

This processor does not read attributes.

Writes Attributes

This processor does not write attributes.

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

This component does not specify system resource considerations.

See Also