コピー2016.11.05この記事は約4分で読めます。実装されているようです。parserを使えば、railsやその他様々なアプリケーションで複数行にまたがるログを1つのイベントとして扱うことができます。ここでは、in_tailプラグインでformatにmultilineを指定してrailsアプリケーションのログのパースを試してみたいと思います。参考リンクtailプラグインでrailsアプリケーションのログをパースして見るtailプラグインでは、multilineの指定をformatオプションを使って指定します。parser[1]https://github.com/fluent/fluentd/blob/master/lib/fluent/parser.rbでは、formatNとformat_firstlineというオプションを指定することができます。formatNのNは、1〜20の範囲で指定可能となっています。format_firstlineは、複数行のログの開始位置を示す表現を指定することになっています。公式のドキュメントのRailsアプリケーションのformat例を参照しながら設定を書いて見ると以下のようになりました。長く複雑な正規表現指定となっているので、私のように自信のない方は公式のサンプルを参照しながらカスタマイズした方が良いかもしれません。true</source>この設定を送信側のfluentdに加えた上でrailsアプリケーションを起動しアクセスしてみます。この時、development.logに出力されるログは例えば以下のようになります。0.0ms)送信側で正しくパースされていれば、受信側のfluentdで以下のようなイベントを受信できているのを確認できます。複数行にわたるログを1つのメッセージとして受信できているのがわかります。上手くいっているようです。Dataの@tagomorisさんが開発されたソフトウェア。http://norikra.github.ioは、ストリームデータをSQLライクな問い合わせ言語で処理することができるソフトウェアです。ストリームデータを一定時間ごとに集計したり、ある閾値を超えるデータをチェックしたりといった処理を馴染みのあるSQLライクに記述することができるので大変便利です。スキーマレスでデータを柔軟に扱うことができるといった特徴もあります。norikraをインストールして試してみます。norikra続いて起動してみます。start無事起動できていれば、Webブラウザでhttp://localhost:26578/にアクセスすると以下のようなWebUIを確認できます。以下の画面では、すでに私がクエリを登録しているのでQueriesにクエリが表示されています。続いてnorikraにクエリを登録します。msecを超えるtemplateを抽出し、レンダリングにかかった最大時間と共に取り出すよう設定してみます。fluentdのデータストリームでnorikraとやりとりするように、fluent-plugin-norikra[3]https://github.com/norikra/fluent-plugin-norikraをインストールします。続いて、norikraにイベントを送信し、結果を取り出す設定を追記します。60s</fetch></source>railsアプリケーションに何回かアクセスしてみると、以下のようなnorikraの実行結果をfluentdで確認することができます。Dataの@tagomorisさんが開発されたソフトウェア。FluentdfluentdのBufferedOutputについて理解が浅かった。fluentdでアプリケーションサーバーからのログを集約するAggregatorノードの設定をメモリ容量をもとに見直していたところ,出力先に何らかの障害が発生し出...fluentdfluentdのin_tailプラグインの動作について理解するfluentdは、ログ収集ツールで人気のソフトウェアとして広く知られており、私も以前から大変お世話になっているOSSのひとつです。multiprocessプラグインを使うfluentdでマルチコアのサーバーリソースを生かすため、fluentdのmultiprocessプラグインを導入することにした。コメントをキャンセルメールアドレスが公開されることはありません。»タイトルとURLをコピーしました。