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.
geo, enrich, ip, maxmind, record
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 Name | API Name | Default Value | Allowable Values | Description |
|---|---|---|---|---|
| MaxMind Database File | Geo Database File | Path 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 Reader | geo-enrich-ip-record-reader | Controller 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 Writer | geo-enrich-ip-record-writer | Controller 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 Enriched | geo-enrich-ip-split-found-not-found | 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-path | The 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 Path | geo-enrich-ip-city-record-path | Record 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 Path | geo-enrich-ip-latitude-record-path | Record 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 Path | geo-enrich-ip-longitude-record-path | Record 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 Path | geo-enrich-ip-country-record-path | Record 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 Path | geo-enrich-ip-country-iso-record-path | Record 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 Path | geo-enrich-ip-country-postal-record-path | Record 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 Level | Log Level | WARN | The 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) |
| Name | Description |
|---|---|
| not found | Where to route flow files after unsuccessfully enriching attributes because no data was found |
| original | The original input flowfile goes to this relationship regardless of whether the content was enriched or not. |
| found | Where to route flow files after successfully enriching attributes with data provided by database |