fluent-plugin-stats-notifier
Fluentd plugin to calculate statistics and then thresholding
Configuration
Example 1
Get statistics on messages
<match foo.**>
type stats_notifier
tag notifier
interval 5
target_key 4xx_count
greater_equal 4
stats max # default
store_file /path/to/store_file.dat
</match>
Assuming following inputs are coming:
foo.bar1: {"4xx_count":1,"foobar":2"}
foo.bar1: {"4xx_count":6,"foobar":2"}
then this plugin emits an message because the max of 4xx_count
is greater than or equal to the specified value 4
. Output will be as following:
notifier: {"4xx_count":6.0}
Example 2
Get statistics among tags
<match foo.**>
type stats_notifier
tag notifier
interval 5
target_key 4xx_count
greater_equal 4
aggregate all # default
aggregate_stats max # default
store_file /path/to/store_file.dat
</match>
Assuming following inputs are coming:
foo.bar1: {"4xx_count":1,"foobar":2"}
foo.bar2: {"4xx_count":6,"foobar":2"}
then this plugin emits an message because the max of 4xx_count
is greater than or equal to the specified value 4
. Output will be as following:
notifier: {"4xx_count":6.0}
Combined Example
<match foo.**>
type stats_notifier
tag notifier
interval 5
target_key 4xx_count
greater_equal 4
stats max # default
aggregate all # default
aggregate_stats max # default
store_file /path/to/store_file.dat
</match>
Assuming following inputs are coming:
foo.bar1: {"4xx_count":1,"foobar":2"}
foo.bar1: {"4xx_count":8,"foobar":2"}
foo.bar2: {"4xx_count":6,"foobar":2"}
Output will be as following:
notifier: {"4xx_count":8.0}
Parameters
-
target_key (required)
The target key in the event record.
-
interval
The interval time of calculation and bounding. Default is 60.
-
less_than
A less than
threshold value, that is, emit if target_key
value < specified value.
-
less_equal
A less than or eqaul
threshold value, that is, emit if target_key
value <= specified value.
-
greater_than
A greater than
threshold value, that is, emit if target_key
value > specified value.
-
greater_equal
A greater than or eqaul
threshold value, that is, emit if target_key
value >= specified value.
-
stats
max
, avg
, min
, sum
can be specified. Default is max
.
-
aggregate_stats
Work only with aggregate all
. max
, avg
, min
, sum
can be specified. Default is max
.
-
compare_with
Obsolete. Use aggregate_stats
.
-
tag
The output tag name. Required for aggregate all
.
-
add_tag_prefix
Add tag prefix for output message. Required for aggregate tag
.
-
remove_tag_prefix
Remove tag prefix for output message.
-
add_tag_suffix
Add tag suffix for output message.
-
remove_tag_suffix
Remove tag suffix for output message.
-
aggragate
Do calculation for each tag
or all
. The defaultis all
.
-
store_file
Store internal data into a file of the given path on shutdown, and load on starting.
ChangeLog
See CHANGELOG.md for details.
Contributing
- Fork it
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Add some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create new Pull Request
Copyright
Copyright (c) 2013 Naotoshi Seo. See LICENSE for details.