# Fluent::Plugin::GenHashValue-alt
fluentd filter plugin.
generate hash(md5/sha1/sha256/sha512) value. It forks from GenHashValue with 2 differences:
- murmurhash algorithm is not supported to ease deployment on windows machine (no need to build native plug)
- possibility to hash the whole record, not only a combination of keys
## Installation
Add this line to your application's Gemfile:
```ruby
gem 'fluent-plugin-genhashvalue-alt'
```
And then execute:
$ bundle
Or install it yourself as:
$ gem install fluent-plugin-genhashvalue-alt
## Configuration
Example if you want to compute hash based on 2 keys (e.g key1 and key2) of your record:
type genhashvalue_alt
keys key1,key2
hash_type md5 # md5/sha1/sha256/sha512
base64_enc true
base91_enc false
set_key _hash
separator _
inc_time_as_key true
inc_tag_as_key false
Example if you want to compute hash on the entire record:
type genhashvalue_alt
use_entire_record true
hash_type md5 # md5/sha1/sha256/sha512
base64_enc true
base91_enc false
set_key _hash
separator _
inc_time_as_key true
inc_tag_as_key false
Input:
root@112133c12ee3:~/fluentd# echo '{"type":"log","descr":"description..."}' | ./bin/fluent-cat foo.test
root@112133c12ee3:~/fluentd# echo '{"type":"log","descr":"description..."}' | ./bin/fluent-cat foo.test
root@112133c12ee3:~/fluentd# echo '{"type":"log","descr":"description..."}' | ./bin/fluent-cat foo.test
Filterd:
2016-10-23 15:06:05 +0000 foo.test: {"type":"log","descr":"description...","_hash":"/B3pc4NBk6Z9Ph89k+ZL4Q=="}
2016-10-23 15:06:22 +0000 foo.test: {"type":"log","descr":"description...","_hash":"IgB25wc3M0QJfk0KteYygQ=="}
2016-10-23 15:06:37 +0000 foo.test: {"type":"log","descr":"description...","_hash":"vvDF6eWyX5Sc01AVw8P6Cw=="}
## Development
After checking out the repo, run first `ridk install` if your ruby has no dev kit installed yet. Then run `bundle install` to install dependencies. Then, run `rake test` to run the tests.
To release a new version, update the version number in `.gemspec`, and then create a git tag for the version, and push the `.gem` file to [rubygems.org](https://rubygems.org).
## Debug unit test
Run `gem install ruby-debug-ide` and `gem install debase`.
Then go to Debug tab in VS code and run the Test::Unit config. You should be able to reach your breakpoint
## Contributing
Bug reports and pull requests are welcome on GitHub at https://github.com/Labou77Code/fluent-plugin-genhashvalue-alt. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [Contributor Covenant](http://contributor-covenant.org) code of conduct.
## License
The gem is available as open source under the terms of the [MIT License](http://opensource.org/licenses/MIT).