Fluentdの正規表現のチェック

Fluentdの設定する時に、ログをマッチさせる正規表現の設定にいつも悩みます。
そんな時にこのサイトが非常に役に立ちます。

http://fluentular.herokuapp.com/

使い方はマジ簡単で、
Regular Expressionに正規表現、Test Stringにログのサンプルを入力し
「Parse」をクリックすると、問題なければMatch Groupsに結果が表示されます。
Formatに表示されているものをFluentdのfluent.confにコピーすれば一丁上がりです。

いろいろとテストしてみました。

■テストケース1
#Regular Expression

^(?<time>[^ ]* [^ ]* [^ ]*) (?<hostname>[^ ]*) (?<user>[^ ]*)\: "(?<ip>[^\"]*)" "(?<BUST>[^\"]*)" "(?<WASTE>[^\"]*)" "(?<HIP>[^\"]*)" (?<message>.*)$

#Test String

Feb  8 18:58:32 localhost root: "202.11.12.32" "90" "53" "63" "iijan iijan"

これだと駄目でした。
最初の”Feb 8 18:58:32″が(?

■テストケース2
#Regular Expression

^(?<time>[^ ]* *[^ ]* [^ ]*) (?<hostname>[^ ]*) (?<user>[^ ]*)\: "(?<ip>[^\"]*)" "(?<BUST>[^\"]*)" "(?<WASTE>[^\"]*)" "(?<HIP>[^\"]*)" (?<message>.*)$

#Test String

Feb  8 18:58:32 localhost root: "202.11.12.32" "90" "53" "63" "genkai toppa!"

(?

■テストケース3
#Regular Expression

^(?<time>[^ ]* [ ][\d+]* [\d+:\d+:\d+]*|[^ ]* [\d+]* [\d+:\d+:\d+]*) (?<hostname>[^ ]*) (?<user>[^ ]*)\: "(?<ip>[^\"]*)" "(?<BUST>[^\"]*)" "(?<WASTE>[^\"]*)" "(?<HIP>[^\"]*)" (?<message>.*)$

#Test String

Feb  8 18:58:32 localhost root: "202.11.12.32" "90" "53" "63" "omaera jagaimo!!"

これが一番いいかもしれません。

ということで、Fluentdの設定がしやすくなりました。
このようなサービスは本当に助かりますね。ありがたいです。

以上

関連する投稿:

コメントを残す

メールアドレスが公開されることはありません。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください