# fluent-plugin-grep
[![Build Status](https://secure.travis-ci.org/sonots/fluent-plugin-grep.png?branch=master)](http://travis-ci.org/sonots/fluent-plugin-grep)
[![Coverage Status](https://coveralls.io/repos/sonots/fluent-plugin-grep/badge.png?branch=master)](https://coveralls.io/r/sonots/fluent-plugin-grep?branch=master)
Fluentd plugin to grep messages.
## Configuration
### Example 1:
type grep
input_key message
regexp WARN
exclude favicon
add_tag_prefix greped
Assuming following inputs are coming:
foo.bar: {"foo":"bar","message":"2013/01/13T07:02:11.124202 INFO GET /ping"}
foo.bar: {"foo":"bar","message":"2013/01/13T07:02:13.232645 WARN POST /auth"}
foo.bar: {"foo":"bar","message":"2013/01/13T07:02:21.542145 WARN GET /favicon.ico"}
foo.bar: {"foo":"bar","message":"2013/01/13T07:02:43.632145 WARN POST /login"}
then output bocomes as belows (like, | grep WARN | grep -v favicon):
greped.foo.bar: {"foo":"bar","message":"2013/01/13T07:02:13.232645 WARN POST /auth"}
greped.foo.bar: {"foo":"bar","message":"2013/01/13T07:02:43.632145 WARN POST /login"}
### Example 2:
Now, `regexpN` and `excludeN` options are available to specify grep conditions for *multiple* fields.
type grep
regexp1 message WARN
regexp2 foo ^awesome$
exclude1 message favicon
add_tag_prefix greped
Assuming following inputs are coming:
foo.bar: {"foo":"bar","message":"2013/01/13T07:02:11.124202 INFO GET /ping"}
foo.bar: {"foo":"awesome","message":"2013/01/13T07:02:13.232645 WARN POST /auth"}
foo.bar: {"foo":"bar","message":"2013/01/13T07:02:21.542145 WARN GET /favicon.ico"}
foo.bar: {"foo":"bar","message":"2013/01/13T07:02:43.632145 WARN POST /login"}
then output bocomes as belows:
greped.foo.bar: {"foo":"awesome","message":"2013/01/13T07:02:13.232645 WARN POST /auth"}
## Parameters
- input\_key *field\_key*
The target field key to grep out. Use with regexp or exclude.
- regexp *regexp*
The filtering regular expression
- exclude *regexp*
The excluding regular expression like grep -v
- regexp[1-20] *field\_key* *regexp*
The target field key and the filtering regular expression to grep out.
- exclude[1-20] *field_key* *regexp*
The target field key and the excluding regular expression like grep -v
- tag
The output tag name
- add_tag_prefix
Add tag prefix for output message
- 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
- replace_invalid_sequence
Replace invalid byte sequence in UTF-8 with '?' character if `true`. Default: true
## ChangeLog
See [CHANGELOG.md](CHANGELOG.md) for details.
## Contributing
1. Fork it
2. Create your feature branch (`git checkout -b my-new-feature`)
3. Commit your changes (`git commit -am 'Add some feature'`)
4. Push to the branch (`git push origin my-new-feature`)
5. Create new [Pull Request](../../pull/new/master)
## Copyright
Copyright (c) 2013 Naotoshi SEO. See [LICENSE](LICENSE) for details.