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.
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):
docker run -p 9090:9090 snowplow/snowplow-micro:4.3.1 --yauaa
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:
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):
docker run -p 9090:9090 \
--mount type=bind,source=$(pwd)/my-enrichments,destination=/config/enrichments \
snowplow/snowplow-micro:4.3.1
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:
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
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.