The enrichment module is a module dedicated to taking the data from the parsers that have been normalized into the Metron data format (e.g. a JSON Map structure with original_message and timestamp) and
There is currently one option for running enrichments in Metron, which is as a Storm topology.
Metron provides an HBase table for storing enrichments. The rowkeys are a combination of a salt (for managing RegionServer hotspotting), indicator (this would be the search value, e.g. “192.168.1.1”), and type (whois, geoip, etc.).
This approach performs well for both inserts and lookups, but poses a challenge when looking to get an up-to-date list of all the current enrichments. This is of particular concern for the Management UI where it’s desirable to provide an accurate list of all available enrichment types. A table scan is undesirable because it results in a performance hit for inserts and reads. The alternative approach that mitigates these performance bottlenecks is to leverage a custom HBase Coprocessor which will listen to postPut calls from the RegionServer, extract the enrichment type from the rowkey, and perform an insert into a separate enrichment_list HBase table.
See more about configuring the coprocessor here Enrichment Coprocessor