• ログイン今すぐ開始

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

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

問題を作成する

Node.js:コンテキストでログを設定する

コンテキスト内のAPMログは、ログをアプリ、ホスト、およびその他のエンティティのすべてのテレメトリデータに接続します。このすべてのデータを1つのツールにまとめることで、次のことが可能になります。

  • タイムクリティカルな問題のトラブルシューティングを行うときに、何千ものログのノイズをカットして、最も関連性の高いログのみが自動的に表示されるようにします。
  • 複数のタイプのテレメトリデータ内をナビゲートし、データを元の問題に関連付けます。
  • UIの同じ場所から、より詳細な情報に簡単にドリルダウンできます。
  • 問題を特定して解決するために必要なログ行を見つけます。

例を含む詳細については、コンテキストでAPMログを開始する方法を学習してください。

コンテキストオプションの自動ログ

アプリケーションロギングを使用すると、APMエージェントはログを自動的に収集してコンテキスト化します。

サポートされているフレームワークを使用している場合、アプリのログとリンク メタデータを New Relic に自動的に送信するコンテキストで APM ログを構成する 3 つのオプションがあります。

コンテキスト内の自動ログでサポートされているフレームワークには、次のものがあります。

  • ウィンストン3.0.0以上。

  • ピノ7.0.0 以降。

    重要

    エージェント リリース 8.16.0 以降では、エージェント構成ファイルでこの機能がデフォルトで有効になっています。

    サポートされているフレームワークが検出されると、エージェント ログの転送によってデータの消費量が増加します。量は、アプリケーションとそれが生成するログの量によって異なります。この機能は無効にすることができます。オプションの詳細については、「自動ログを無効にする」を参照してください。

    すでにログ転送ソリューションを導入している場合は、この機能を無効にする必要があります。

データを保護する

ログには、HIPAAまたはその他のコンプライアンスプロトコルによって保護されている機密情報が含まれている場合があります。デフォルトでは、クレジットカードや社会保障番号などのアイテムのように見える番号パターンを難読化しますが、追加情報をハッシュまたはマスクする必要がある場合があります。

詳細については、難読化の式とルールに関するドキュメントを参照してください。 New Relic UIを使用するか、GraphQL APIであるNerdGraphを使用して、ログデータをハッシュまたはマスクできます。

データを調べる

ログデータを最大限に活用するには:

  • [ APMの概要]ページで、 Webトランザクションのタイムチャートをクリックして、特定の時点に関連付けられたログを表示します。
  • エラーに関連するログを表示するには、アプリの[エラー]受信ボックスを確認してください。
  • 分散トレースを使用して、個々のトレースに関連付けられているログを確認します。
  • Logs UIを使用して、プラットフォーム全体でより多くのログデータを探索します。
  • ログ出力と重大度に基づいてアラートを設定します。
  • ログデータ専用のUIを使用してデータをクエリし、結果を含むダッシュボードを作成します。

トラブルシューティングのヒント

通常、コンテキストでAPMログを有効にした後、ログは1分以内に表示され始めます。アプリのトリアージ>ログセクションを確認します。また、そこでエラーに関連するログパターンが表示されるようになります。

エラーまたはトレースのログが表示されない場合は、アプリにログがない可能性があります。 UIページを更新するか、選択した期間を変更してみてください。

自動ロギングを無効にする

コンテキスト内の APM ログは、APM エージェント ログ データを自動的に転送します。デフォルトで有効になっています。アプリケーション ログを有効にすると、セキュリティ、コンプライアンス、課金、またはシステム パフォーマンスに悪影響を及ぼす可能性があります。詳細については、またはデフォルト設定を調整する必要がある場合は、手順に従って自動ログを無効にしてください。

コンテキストオプションの手動ログ

Node.jsによって監視されるAPMアプリのコンテキストでログを有効にするには、手動インストールオプションを使用できます。

  1. NewRelicでのロギングをすでに設定していることを確認してください。これには、アプリケーションログを収集し、NewRelicに転送されるメタデータを拡張するサポートされているログフォワーダーの構成が含まれます。
  2. をインストールするか、 を最新の Node.js エージェントバージョンに更新し、 分散型トレーシングを有効にするNode.js agent version 6.2.0 or higher を使用して、コンテキスト内のログを取得します。
  3. Winston 3.0.0以上 or Pino 7.0.0以上 をインストールすることで、ログデータを充実させることができます。
  4. エージェント構成で、 application_config.enabledfalseに設定します。 (それ以外の場合、エージェントは自動的にロガーを計測し、これらのエンリッチャーを自分で呼び出しても何も起こりません。)
  5. 適切なログエクステンションを使用して、Node.jsのコンテキストでログを設定します。
  1. ログアペンダーが正しく構成されていることを確認するには、アプリケーションを実行してから、クエリ演算子has:span.id has:trace.idを使用してNewRelicのログデータを確認します。

すべてが正しく構成され、データが強化されたメタデータとともにNew Relicに転送されている場合、ログはJSONとして出力され、 trace.id }フィールドとspan.idフィールドが含まれているはずです。 UIにログデータが表示されない場合は、トラブルシューティング手順に従ってください。ログの実際の例をコンテキストで確認したい場合は、サンプルアプリケーションをご覧ください。

次は何ですか?

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

Copyright © 2022 New Relic株式会社。

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.