MaxMind GeoIP2 IP Lookup

Hi everyone,

I’m having some trouble getting the enrichment to add geo_country, etc. to rows in my events table.

I’ve added the following config to the “enrichment_ip_lookups” variable in Terraform Registry :

  "schema": "iglu:com.snowplowanalytics.snowplow/ip_lookups/jsonschema/2-0-0",

  "data": {

    "name": "ip_lookups",
    "vendor": "com.snowplowanalytics.snowplow",
    "enabled": true,
    "parameters": {
      "geo": {
        "database": "GeoLite2-City.mmdb",
        "uri": "https://snowplow-hosted-assets.s3.amazonaws.com/third-party/maxmind"
      }
    }
  }
}

It’s created the corresponding DynamoDB item, it logs that it’s downloading the database.
However there are no rows where geo_country, etc. is not null.

Help please?
Am I missing something?

Hey @nielslerches you’ll need to host the database yourself - there’s guidance to doing so in the docs.

I’m assuming you found the address in the config somewhere in github or in documentation - would you mind pointing us to that, so we can update it?

Found the config here: https://github.com/snowplow/enrich/blob/master/config/enrichments/ip_lookups.json

I found the issue and resolved it:
Apparently I downloaded the GeoLite2-Country file from MaxMind, but renamed it to GeoLite2-City.

It works with uploading it to an S3 bucket I own and the snowplow-enrich-server has access to.

2 Likes

Glad to hear you’re sorted! Thanks, have logged an issue to hopefully not lead others astray in the future. :slight_smile: