Stream Enrich Not working for ip_lookups enrichment. Please help!


#1

Hi everyone,

I am new to Snowplow. Have been trying to get geo data for a very long time without much success. Can you please help?

I have uploaded the ip_lookups schema in my s3 bucket. Maxmind database is also in our s3 bucket.
This is my iglu_resolver.json:

{
  "schema": "iglu:com.snowplowanalytics.iglu/resolver-config/jsonschema/1-0-0",
  "data": {
    "cacheSize": 500,
    "repositories": [
      {
        "name": "Iglu Central",
        "priority": 0,
        "vendorPrefixes": [ "com.snowplowanalytics" ],
        "connection": {
          "http": {
            "uri": "http://iglucentral.com"
          }   }   } ,
     {
        "name": "iglu-company name",
        "priority": 1,
        "vendorPrefixes": [ "com.snowplowanalytis" ],
        "connection": {
          "http": {
            "uri": "url of s3 bucket that contains ip_lookups schema"   
          }   }   } ]   
 }  }

Note: Just uploaded the schema in this link for ip_lookups in my s3 bucket:

   http://iglucentral.com/schemas/com.snowplowanalytics.self-desc/schema/jsonschema/1-0-0#

This is my enrichment schema in the enrichment folder.

{
    "schema": "iglu:com.snowplowanalytics.snowplow/ip_lookups/jsonschema/1-0-0",
    "data": {

        "name": "ip_lookups",
        "vendor": "com.snowplowanalytics.snowplow",
        "enabled": true,
        "parameters": {
            "geo": {
                "database": "GeoLiteCity.dat",
                "uri": "url for maxmind s3 bucket"
            }
        }
    }
}

Thank you very much in advance.


#2

Hi @manju,

To fix this:

  1. Remove the second entry from your Iglu resolver (you don’t need it to use the geo-IP enrichment)
  2. Update the enrichment configuration to look like this:
{
    "schema": "iglu:com.snowplowanalytics.snowplow/ip_lookups/jsonschema/1-0-0",

    "data": {

        "name": "ip_lookups",
        "vendor": "com.snowplowanalytics.snowplow",
        "enabled": true,
        "parameters": {
            "geo": {
                "database": "GeoLiteCity.dat",
                "uri": "http://snowplow-hosted-assets.s3.amazonaws.com/third-party/maxmind"
            }
        }
    }
}

#3

Hi @alex,

Thank you so much for responding to me. I made the changes, still geo_IP data not showing up in geo_city,country etc…Will it show up in all events like page view etc…? Should I add some wait time before the events fire?(I had to do that to get geolocation context in pageview though) or change anything ES Mapping? Thanks again for your help, I really need this geo_ip working.