I wrote a plugin that people here might find useful. Given a CSV/JSON/YML file with structured data, add fields to your event based on a lookup into that file.
The use-case I had for it was to do geocoding based on account number. I created a CSV file that had accountnumber,lat,lon as fields and then used the plugin to lookup the account number and add a [location] element to my events.
The filter looks at the file modified time and merges in any changes when the file changes, so it can be use to decouple a database lookup -- ie extract your data from the database and then put the file on the logstash server.
If anyone is interested, it's on rubgems.org: https://rubygems.org/gems/logstash-filter-augment and github: https://github.com/alcanzar/logstash-filter-augment/
I'd welcome any bug-reports/feature requests.