• /
  • ログイン
  • 無料アカウント

本書は、お客様のご参考のために原文の英語版を機械翻訳したものです。

英語版と齟齬がある場合、英語版の定めが優先するものとします。より詳しい情報については、本リンクをご参照ください。

問題を作成する

Ruby:コンテキストでのログの設定

RubyエージェントのLogs in contextは、New RelicのログとAPMのデータをつなぎます。これらのデータをひとつのツールにまとめることで、問題の根本的な原因に素早くたどり着き、問題を特定して解決するために必要なログラインを見つけることができます。

Rubyアプリの設定

Rubyで監視しているAPMアプリのコンテキストでのログを有効にするには

  1. New Relic の ロギングの設定がすでに完了していることを確認してください。これには、アプリケーションのログを収集し、New Relic に転送されるメタデータを拡張する、サポートされているログフォワーダーの設定が含まれます。
  2. をインストールするか、 を最新の Ruby エージェントバージョンに更新し、 分散型トレーシングを有効にするRubyエージェントのバージョン6.7.0以降を使用 コンテキストのログを取得します。
  3. Railsアプリケーションの場合は、 サポートされているRailsのバージョン を使用してください。
  4. Rubyのコンテキストでログを設定する。
  1. ログアペンダーが正しく設定されていることを確認するためには、アプリケーションを実行した後、New Relic One で、クエリ演算子 has:span.id has:trace.id を使って のログデータを確認してください。

すべての設定が正しく行われ、データがエンリッチメントされたメタデータとともにNew Relicに転送されていれば、ログはJSONとして出力され、 trace.idspan.id フィールドを含んでいるはずです。

/config/application.rb または /config/environments/development.rb でロギングを設定した場合は、アプリケーションをローカルで実行し、ロギング出力を確認してください。以下のような出力が表示されるはずです。

{"entity.name":"your_app_name","entity.type":"SERVICE","hostname":"79bcbf8d","trace.id":"79bcbf8d","span.id":"00fc7d46","timestamp":1567701375543,"message":"example log message one","log.level":"DEBUG"}
{"entity.name":"your_app_name","entity.type":"SERVICE","hostname":"79bcbf8d","trace.id":"79bcbf8d","span.id":"6754870b","timestamp":1567702843604,"message":"example log message two","log.level":"DEBUG"}

トラブルシューティング

UIにログデータが表示されない場合は、 トラブルシューティングの手順に従ってください。 。また、アプリケーションの出力にJSONログが表示されているにもかかわらず、クエリがログを返さない場合は、 ログフォワーダを確認してください

アプリケーションからのログが、 trace.idspan.id のようなフィールドを持つJSONでフォーマットされていない場合、ログ転送用の拡張機能に問題がある可能性があります。このような場合には

  • アプリケーションが サポートされているロギングフレームワーク を使用していることを確認してください。
  • ロギング設定 が、New Relic に送信されるログデータを転送してリッチ化したいすべての環境に適用されていることを確認します。
  • アプリケーションの設定で、別のロガーが後から設定されていないか確認してください。

Logs in context for Ruby はタグ付きのログをサポートしていません。 log_tags の引数でロガーを初期化している場合、カスタムタグは最終版のログに表示されないかもしれません。

次のステップ

APMのログを文脈に合わせて設定した後は、ログデータを最大限に活用しましょう。

問題を作成する
Copyright © 2022 New Relic Inc.