graylog-plugin-redis-lookup/README.md

75 lines
2.9 KiB
Markdown
Raw Permalink Normal View History

2024-02-03 14:07:41 +01:00
# RedisLookupPlugin Plugin for Graylog
2024-02-04 16:51:04 +01:00
Plugin to add Redis Data Adapter in read/write to graylog so you can store and retrieve key/values and lists of string values from pipelines
2024-02-03 19:55:36 +01:00
Support Redis authentication (with password and username/password)
2024-02-03 14:07:41 +01:00
2024-02-03 19:55:36 +01:00
**Required Graylog version:** 5.0 and later
2024-02-03 14:07:41 +01:00
Installation
------------
2024-02-04 16:51:04 +01:00
[Download the plugin](https://git.nosd.in/yo/graylog-redis-lookup-plugin/releases/download/v1.0.3/graylog-plugin-redis-lookup-1.0.3.jar)
2024-02-03 14:07:41 +01:00
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
-----
2024-02-03 19:56:47 +01:00
* Create data adapter, cache (or not), lookup table
2024-02-04 10:42:12 +01:00
* 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
2024-02-04 16:51:04 +01:00
* Use 'lookup_set_string_list(lookup_table, key, value, [ttl])' to create a list named "key"
* Use 'lookup_add_string_list(lookup_table, key, value, [keep_duplicates])' to add value list to existing list
* Use 'lookup_remove_string_list(lookup_table, key, value) to remove a string from list "key"
2024-02-04 10:42:12 +01:00
2024-02-04 16:51:04 +01:00
By default single value keys will be created in Redis with the default TTL defined at data adapter creation time
Be aware that only setting TTL with 'lookup_assign_ttl' of 'lookup_set_string_list' alter TTL value in Redis ; so a list created with a TTL of 3600 will expire in 3600 seconds, even if it was updated with 'lookup_add_string_list' some seconds before expiration.
Known bugs
----------
Deletion via lookup_remove_string_list, lookup_clear_key or keep_duplicates=false sometimes not done.
2024-02-04 10:42:12 +01:00
2024-02-03 14:07:41 +01:00
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.