share facebook facebook2 twitter menu hatena pocket slack

2013.02.12 TUE

Fluentdでログのフィルタリング

鈴木 宏康

WRITTEN BY鈴木 宏康

Fluentdで扱うログをフィルタリング(あるパターンのログを除外)する必要があったため、下記のプラグインを
試してみました。

github/muddydixon : fluent-plugin-filter

尚、FluentdはCentOS6にFluentdをインストールの記事で紹介したように、インストールされていることを
前提としています。

○fluent-plugin-filterのインストール


# /usr/lib64/fluent/ruby/bin/gem install fluent-plugin-filter
Fetching: fluent-plugin-filter-0.0.0.gem (100%)
Successfully installed fluent-plugin-filter-0.0.0
1 gem installed
Installing ri documentation for fluent-plugin-filter-0.0.0...
Installing RDoc documentation for fluent-plugin-filter-0.0.0...

○Fluentdの設定


# cat /etc/td-agent/td-agent.conf

type tail
format syslog
path /opt/suz-lab/var/log/syslog/all.log
pos_file /opt/suz-lab/var/lib/td-agent/pos/tail.syslog.pos
tag tail.syslog


type copy

type file
path /tmp/tail.syslog


type filter
deny ident: "-bash"



type file
path /tmp/filtered.syslog

特定パターンのログのみを出力するなど様々な設定が可能ですが、詳しい設定は直接ソースを見てもらえれば、
概ね理解して頂けると思います。

github/muddydixon(source) : fluent-plugin-filter

○ログの確認

フィルター前のログは下記の通りです。


# cat /tmp/tail.syslog.20130205.b4d4f40e7e13ac759
...
2013-02-05T18:45:52+09:00 tail.syslog {"host":"ip-10-148-5-42","ident":"audispd","message":"node=ip-10-148-5-42 type=USER_LOGIN msg=audit(1360057552.157:12733): user pid=20508 uid=0 auid=4294967295 ses=4294967295 msg='op=login acct=28756E6B6E6F776E207573657229 exe="/usr/sbin/sshd" hostname=? addr=127.0.0.1 terminal=ssh res=failed'"}
2013-02-05T18:46:32+09:00 tail.syslog {"host":"ip-10-148-5-42","ident":"-bash","message":"HISTORY: PID=18495 UID=0 less"}
2013-02-05T18:46:50+09:00 tail.syslog {"host":"ip-10-148-5-42","ident":"-bash","message":"HISTORY: PID=18495 UID=0 less /tmp/tail.syslog.20130205.b4d4f40e7e13ac759 "}
...

フィルター後のログは、下記のように「”ident”:”-bash”」が除外されたログになっています。


# cat /tmp/filtered.syslog.20130205.b4d4f445ccf660817
2013-02-05T18:47:52+09:00 filtered.tail.syslog {"host":"ip-10-148-5-42","ident":"postfix/smtpd","pid":"20195","message":"disconnect from localhost.localdomain[127.0.0.1]"}
2013-02-05T18:47:52+09:00 filtered.tail.syslog {"host":"ip-10-148-5-42","ident":"sshd","pid":"20569","message":"Connection closed by 127.0.0.1"}
2013-02-05T18:47:52+09:00 filtered.tail.syslog {"host":"ip-10-148-5-42","ident":"audispd","message":"node=ip-10-148-5-42 type=CRYPTO_KEY_USER msg=audit(1360057672.199:12741): user pid=20566 uid=0 auid=4294967295 ses=4294967295 msg='op=destroy kind=server fp=83:2f:96:a8:d5:c2:d9:fd:2b:a0:5b:3b:87:cb:fa:19 direction=? spid=20566 suid=0 exe="/usr/sbin/sshd" hostname=? addr=127.0.0.1 terminal=? res=success'"}

こちらの記事はなかの人(suz-lab)監修のもと掲載しています。
元記事は、こちら

鈴木 宏康

鈴木 宏康

愛知県生まれ。東京工業大学大学院修士課程修了。在学時より、ベンチャー企業でインターネットに関する業務に携わり、現在はクラウド(主にAmazon Web Services)上での開発・運用を軸とした事業の、業務の中心として活躍。