fluent-plugin-filter 作りました
rubygems fluent-plugin-filter | RubyGems.org | your community gem host
github muddydixon/fluent-plugin-filter · GitHub
ボットからの閲覧が多いし、ビッグデータ時代()だからって、うちのディスクをあんまり圧迫したくないから、
削除したりしておきたいわ!でも、exec_filterとかはめんどいし、y-ken/fluent-plugin-rewrite-tag-filter · GitHubはちょっと違うんだよなぁ
という上記のような人が対象です。
<match test.**> type filter all allow deny status: 404, status: 403, user-agent: /Googlebot/ </match> <match filtered.**> type stdout </match>
とか直感的な感じで書いてもらえるといいです。
上記の例だと
{status: 404, user-agetn: "IE"} {status: 303, user-agetn: "Firefox"} {status: 200, user-agetn: "Googlebot"} {status: 200, user-agetn: "IE"} {status: 403, user-agetn: "Firefox"}
標準出力にでるのは、2番めの303と4番目の200でIEのものだけになります。
tagはデフォルトだとfilteredがprefixで付けられますが
add_prefix hogehoge
で好きなのをつけることができます。
「all allow」で基本通しで、「deny」で弾いて、それを更に「allow」で救うけど、残りは破棄
「all deny」で基本拒否して、「allow」で救って、その中から「deny」で弾く
ということができます。
string, int, float, regexpには対応しています。が、いま、ちょっと気がかりな点があるから、あとで直す
パフォーマンスはわかりません。
このうんひよコードは優しくしてきしてください