No commit activity in last 3 years
No release in over 3 years
Simple output filter
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

>= 0
~> 3.1.0

Runtime

< 2, >= 0.14.15
 Project Readme

fluent-plugin-filter¶ ↑

Component¶ ↑

FilterOutput¶ ↑

Filtering messages by simple allow/deny rules.

Installation¶ ↑

Add this line to your application’s Gemfile:

gem 'fluent-plugin-filter'

And then execute:

$ bundle

Or install it yourself as:

$ gem install fluent-plugin-filter

Configuration¶ ↑

FilterOutput¶ ↑

Filter out messages contains {status : 404} :

<match accesslog.**>
  type filter
  all allow
  deny status: 404
</match>
<match filtered.**>
  type stdout
</match>

in above configuration, {status: 404} is filtered out and {status: 200}, {status: 303}, {status: 401} passed. Messages passing filter are add_prefix (default filtered.)

So you catch “filtered” tag and do next process.

You can use int, float, string, regexp in value.

FilterFilter¶ ↑

In fluentd >= 0.12, we can use ‘filter` declarative. So release Filter filter:

<filter accesslog.**>
  type filter
  all allow
  deny status: 404
</filter>

Thanks to @cosmo0920

Parameters¶ ↑

all <allow|deny>¶ ↑

Specify basic policy.

allow field:<Pattern> / deny field:<Pattern>¶ ↑

Specify each field policies. If a value for the field matches the pattern, the allow or deny rule is applied.

Pattern := <String|Integer|Float|Regexp>¶ ↑

Patten is parsed by following rules.

  • Integer: a value consisted of degits without “.”. e.g. status:200, price:10000

  • Float: a value consisted of degits with “.” (if you force the value float, set 200.0). e.g. average:145.0

  • Regexp: a value starting with “/” and end with “/”. e.g. path://user/d+/

    • thx @mmacvicar !

  • String: a value unmatched below rule or enveloped with " or '.

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