joppotjoppotコピペで絶対動く。概要みなさんこんにちはcandleです。ログをtd-agentで取得してみたいと思います。数年前にも同じ記事を書いたのですが、説明不足があったりしたので書き直します。後日Rails5での取得の仕方も紹介します。関連記事rails5の方は以下の記事を参考にしてください。railsをproductionモードで動かせるwebrickでもnginxでもpumaでもapacheでも良いですが、productionモードで動かせる状態を作っておいてください。railsを動かすマシーンにtd-agentかfluentdがインストールされている事が前提になります。railsのログフォーマットを変更してみるrailsのproductionログのフォーマットはデフォルトで下のような感じになっています。このログのフォーマットは簡単に変更できます。下のコードはデフォルトのフォーマットから何も変更して無い状態のコードです。endendrailsのプロダクションログには必要ではない情報が挿入されます。それはどのパーシャルがレンダーされたかです。下のはそのサンプルです。(0.8ms)私はproductionモードではこの情報はいらないと思うし、ログのファイル容量を圧迫するので、表示し無い様にします。何も変更しなくても問題ありません。config/environment.rbを開きます。先ほどのフォーマットを以下の様に変更します。erbを使っている人は”.haml”の部分を”.erb”に変更してください。endendrailsの設定は以上です。td-agentでrailsログを取得する準備それでは、td-agent側に移動します。私はCentOS6.5の中でtd-agentを動かしています。nginxで動かしたいと思います。それらのサーバー構築はあらかじめお願いします。td-agentの設定railsのproductionログの最大の問題はFatalエラーが複数行に渡って表示されることです。fluentdは基本的に1行が1つのデータにあたるので、複数行のエラーはそれぞれ別のログとして取得します。これがrailsのfatalエラーです。multilineを使います。これはformat_firstlineで書かれた正規表現にマッチしない部分は改行されてもマッチした部分と同じものと認識し、1つのログに収納されます。/etc/td-agent/td-agent.confを開き以下を記述します。stdout</match>pathでrailsプロジェクトのlogフォルダにあるproduction.logを参照します。参照先のパスは各自のものにしてください。rails.productionで取得したログにタグをつけます。/var/log/td-agent/rails.production.pos一時ファイルの置き場を指定します。formatではmultilineを宣言します。複数行のログの取得が可能になります。正規表現は行の最初は「1文字+,」であるという宣言。productionログの「I,」の部分に該当します。format1ですが、これはrailsのproduction.logのフォーマットに合わせています。rails.production>で上のログを受け取り、標準出力します。logを取得する為の設定です。ログの取得を確認するtd-agentを再起動します。restart本番環境のrailsアプリケーションを起動します。アクセしてみましょう。td-agentの確認は/var/log/td-agent/td-agent.logに出力されます。/var/log/td-agent/td-agent.log以下がそのログになります。`about’\n\n”}ですね、一文にまとまってわかりやすくなっていると思います。4のproduction.loの取得をやってみました。スポンサードリンク「為になったなぁ」と思ったら、シェアお願いします。コメントをキャンセルメールアドレスが公開されることはありません。みなさんこんにちはcandleです。今回はwordpressのカテゴリー削除に関してです。実は私、タグとカテゴリーを間違えていて、初期の頃はカテゴリーで全て分類していました。みなさんこんにちはcandleです。今回はcakephp2.4以降でphpunitとdebugkitをcomposerを使って導入してみたいと思います。みなさんこんにちはcandleです。AMIのnginx上でバーチャルホストを使う場合の設定をやってみたいと思います。みさんさんこんにちはcandleです。webの通信をSSL化してみたいと思います。みなさんこんにちはcandleです。今回はphpでgetでパラメータを受け取る際のurlの書き換えです。phpよくあるのがこのようなurlではないでしょうか。Sansフォントウェイトのcss書き方まとめプロフィールベンチャー企業のCTOをやってます。大学時代にプログラミングを始め、javaから入門し、C++へて、PHPへと進み、会社ではRailsを使用。環境設定スポンサードリンクjoppotコピペで絶対動く。