Skip to main content

Enable enrichments in Snowplow Micro

By default, when running locally, Micro does not have any enrichments enabled. This page shows how you can enable them.

Micro in Console

When running Micro through Console, you can use the UI to configure enrichments.

YAUAA (Yet Another User Agent Analyzer)

One of the most useful enrichments, YAUAA, requires no configuration, and can be turned on simply with the --yauaa flag (since version 3.0.1):

bash
docker run -p 9090:9090 snowplow/snowplow-micro:4.3.1 --yauaa
Memory usage

We recommend not enabling this enrichment in a CI setting unless necessary, because it consumes a few extra hundred MB of RAM.

Other enrichments

You can enable any enrichments you like by passing corresponding configuration files to Micro.

For example, let’s say that you want to configure the IP Lookup enrichment. The default configuration file looks like this:

jsonconfig/enrichments/ip_lookups.json
loading...

Put this file somewhere on the machine where you are running Micro, let’s say my-enrichments/ip_lookups.json. (Feel free to add any other configurations to my-enrichments).

Now you will need to pass this directory to the Docker container (using a bind mount):

bash
docker run -p 9090:9090 \
--mount type=bind,source=$(pwd)/my-enrichments,destination=/config/enrichments \
snowplow/snowplow-micro:4.3.1
note

The directory inside the container (what goes after destination=) must be exactly /config/enrichments.

Alternatively, if you are running Micro as a Java application, put your enrichment configurations in some-directory/enrichments on your machine (enrichments must be called exactly that) and use the following command:

bash
java -cp micro-4.3.1.jar:some-directory com.snowplowanalytics.snowplow.micro.Main

Once Micro starts, you should see messages like these:

[INFO] com.snowplowanalytics.snowplow.micro.Run - Downloading http://snowplow-hosted-assets.s3.amazonaws.com/third-party/maxmind/GeoLite2-City.mmdb...
[INFO] com.snowplowanalytics.snowplow.micro.Run - Enabled enrichments: IpLookupsEnrichment
tip

Micro is especially great for testing the JavaScript enrichment.

Some enrichments require data files (e.g., a database of IPs).

Like Enrich, Micro supports downloading these files from http(s):// URLs and (since version 4.1.0) from S3, GCS and ADLS. Starting with version 4.3.0, Micro periodically re-downloads the files when they change, as opposed to only fetching them once on startup.

For S3 and GCS, only authentication via instance profiles is supported (i.e., Micro needs to run on AWS or GCP respectively). For ADLS, set the MICRO_AZURE_BLOB_ACCOUNT and MICRO_AZURE_BLOB_SAS_TOKEN environment variables.

On this page

Want to see a custom demo?

Our technical experts are here to help.