https://github.com/albertfdp/fluent-plugin-expand
https://github.com/albertfdp/fluent-plugin-expand
Last synced: 4 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/albertfdp/fluent-plugin-expand
- Owner: albertfdp
- License: mit
- Created: 2014-04-06T14:08:57.000Z (about 12 years ago)
- Default Branch: master
- Last Pushed: 2014-04-10T15:05:57.000Z (about 12 years ago)
- Last Synced: 2024-12-31T05:17:09.724Z (over 1 year ago)
- Language: Ruby
- Size: 137 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
Awesome Lists containing this project
README
# fluent-plugin-expand
fluentd plugin that expands a given input array to multiple emits.
## Usage
Imagine you have a config as below:
type expand
key foo
add_tag_prefix expanded.
remove_tag_prefix test.
And you feed such a value into fluentd:
"test" => {
"meta"=> "data",
"foo" => [{"bar" => ["hello", "world"]}, {"qux" => ["hoe", "poe"]}]
}
Then you will get them re-emmited tag/records below:
"expanded" => {
"meta" => "data",
"bar" => ["hello", "world"]
}
"expanded" => {
"meta" => "data",
"qux" => ["hoe", "poe"]
}
## Configuration
### key
The `key` is used to point a key whose value contains JSON-formatted array.
### reemit_doc
This param is set by default to `false` and it will reemit the original log, with the original tag without the key. For instance, for an input:
"test" => {
"meta"=> "data",
"foo" => [{"bar" => ["hello", "world"]}, {"qux" => ["hoe", "poe"]}]
}
It will emit:
"expanded" => {
"meta" => "data",
"bar" => ["hello", "world"]
}
"expanded" => {
"meta" => "data",
"qux" => ["hoe", "poe"]
}
"test" => {
"meta"=> "data"
}
### remove_tag_prefix, remove_tag_suffix, add_tag_prefix, add_tag_suffix
These params are included from `Fluent::HandleTagNameMixin`. See that code for details.
You must add at least one of these params.
## Installation
Add this line to your application's Gemfile:
gem 'fluent-plugin-flatten'
And then execute:
$ bundle
Or install it yourself as:
$ gem install fluent-plugin-flatten
## Contributing
1. Fork it
2. Create your feature branch (`git checkout -b my-new-feature`)
3. Commit your changes (`git commit -am 'Added some feature'`)
4. Push to the branch (`git push origin my-new-feature`)
5. Create new Pull Request