# RedisLookupPlugin Plugin for Graylog Plugin to add Redis Data Adapter in read/write to graylog so you can store and retrieve key/values from pipelines Support Redis authentication (with password and username/password) **Required Graylog version:** 5.0 and later Installation ------------ [Download the plugin](https://git.nosd.in/yo/graylog-redis-lookup-plugin/releases/download/v1.0.0/graylog-plugin-redis-lookup-1.0.0.jar) and place the `.jar` file in your Graylog plugin directory. The plugin directory is the `plugins/` folder relative from your `graylog-server` directory by default and can be configured in your `graylog.conf` file. Restart `graylog-server` and you are done. Development ----------- You can improve your development experience for the web interface part of your plugin dramatically by making use of hot reloading. To do this, do the following: * `git clone https://github.com/Graylog2/graylog2-server.git` * `cd graylog2-server/graylog2-web-interface` * `ln -s $YOURPLUGIN plugin/` * `npm install && npm start` Usage ----- * Create data adapter, cache (or not), lookup table * Use 'lookup_set_value(lookup_table, key, value, [ttl])' to create or update key in redis * Use 'lookup_value(lookup_table, key)' to get key value * Use 'lookup_clear_key(lookup_table, key)' to remove key * Use 'lookup_has_value(lookup_table, key)' to test key existence * Use 'lookup_assign_ttl(lookup_table, key, ttl)' to change TTL of existing key By default keys will be created in Redis with the default TTL defined at data adapter creation time Getting started --------------- This project is using Maven 3 and requires Java 8 or higher. * Clone this repository. * Run `mvn package` to build a JAR file. * Optional: Run `mvn jdeb:jdeb` and `mvn rpm:rpm` to create a DEB and RPM package respectively. * Copy generated JAR file in target directory to your Graylog plugin directory. * Restart the Graylog. Plugin Release -------------- We are using the maven release plugin: ``` $ mvn release:prepare [...] $ mvn release:perform ``` This sets the version numbers, creates a tag and pushes to GitHub. Travis CI will build the release artifacts and upload to GitHub automatically.