Node.js APMエージェントを使用すると、コンテキスト内でログを取得できるため、他のNew Relicデータのコンテキスト内でアプリのログを表示できます。 この機能の一般的な情報については、 「コンテキスト内の APM ログ」を参照してください。
ヒント
Node.js ログがたくさんありますか? それらを最適化および管理する方法については、チュートリアルをご覧ください。
コンテキストオプションの自動ログ
アプリケーションロギングを使用すると、APMエージェントはログを自動的に収集してコンテキスト化します。
サポートされているフレームワークを使用している場合、コンテキスト内で APM ログを構成して、アプリのログとリンク メタデータを New Relic に自動的に送信する 3 つのオプションがあります。
コンテキスト内の自動ログでサポートされているフレームワークには、次のものがあります。
サポートされているフレームワークを使用していない場合は、代わりにエージェントのログ転送 API メソッドを使用して独自のインストルメンテーションを実行できます。詳細については、 Node.js エージェント API ドキュメントを参照してください。
重要
エージェント リリース 8.16.0 以降では、エージェント構成ファイルでこの機能がデフォルトで有効になっています。
サポートされているフレームワークが検出されると、エージェント ログの転送によってデータの消費量が増加します。量は、アプリケーションとそれが生成するログの量によって異なります。この機能は無効にすることができます。オプションの詳細については、「自動ログを無効にする」を参照してください。
すでにログ転送ソリューションを導入している場合は、この機能を無効にする必要があります。
このドキュメントはインストールの役に立ちましたか?
データを保護する
ログには、HIPAAまたはその他のコンプライアンスプロトコルによって保護されている機密情報が含まれている場合があります。デフォルトでは、クレジットカードや社会保障番号などのアイテムのように見える番号パターンを難読化しますが、追加情報をハッシュまたはマスクする必要がある場合があります。
詳細については、難読化の式とルールに関するドキュメントを参照してください。 New Relic UIを使用するか、GraphQL APIであるNerdGraphを使用して、ログデータをハッシュまたはマスクできます。
データを調べる
ログデータを最大限に活用するには:
- APM Summaryページで、 Web transaction timeチャートをクリックして、特定の時点に関連付けられたログを表示します。
- アプリのErrors inboxをチェックして、エラーに関連するログを表示します。
- 分散トレースを使用して、個々のトレースに関連付けられているログを確認します。
- ログ UIを使用して、プラットフォーム全体でさらに多くのログ データを探索します。
- ログ出力と重大度に基づいてアラートを設定します。
- ログデータ専用のUIを使用してデータをクエリし、結果を含むダッシュボードを作成します。
トラブルシューティングのヒント
通常、コンテキストでログを有効にしてから 1 分以内にログが表示され始めます。 アプリのTriage > Logsセクションを確認してください。 また、そこにエラーに関連するログパターンも表示され始めます。
エラーまたはトレースのログが表示されない場合は、アプリにログがない可能性があります。 UIページを更新するか、選択した期間を変更してみてください。
自動ロギングを無効にする
コンテキスト内の APM ログは、APM エージェント ログ データを自動的に転送します。デフォルトで有効になっています。アプリケーション ログを有効にすると、セキュリティ、コンプライアンス、課金、またはシステム パフォーマンスに悪影響を及ぼす可能性があります。詳細については、またはデフォルト設定を調整する必要がある場合は、手順に従って自動ログを無効にしてください。
コンテキストオプションの手動ログ
Node.js によるアプリ監視のコンテキスト内のログを有効にするには、手動インストレーション オプションを使用できます。
NewRelicでのロギングをすでに設定していることを確認してください。これには、アプリケーションログを収集し、NewRelicに転送されるメタデータを拡張するサポートされているログフォワーダーの構成が含まれます。
をインストールするか、 を最新の Node.js エージェントバージョンに更新し、 分散型トレーシングを有効にする 。 Node.js agent version 6.2.0 or higher を使用して、コンテキスト内のログを取得します。
サポートされているフレームワークをインストールしてログ データを充実させるか、エージェントのログ転送 APIを直接使用します。
エージェント構成で、
application_config.enabled
をfalse
に設定します。 (それ以外の場合、エージェントは自動的にロガーを計測し、これらのエンリッチャーを自分で呼び出しても何も起こりません。)適切なログエクステンションを使用して、Node.jsのコンテキストでログを設定します。
ログアペンダーが正しく構成されていることを確認するには、アプリケーションを実行してから、クエリ演算子
has:span.id has:trace.id
を使用してNewRelicのログデータを確認します。
すべてが正しく構成され、データが強化されたメタデータとともにNew Relicに転送されている場合、ログはJSONとして出力され、 trace.id
フィールドとspan.id
フィールドが含まれているはずです。 UIにログデータが表示されない場合は、トラブルシューティング手順に従ってください。ログの実際の例をコンテキストで確認したい場合は、サンプルアプリケーションをご覧ください。
次は何ですか?
コンテキスト内でログを設定したら、ロギング データを最大限に活用します。
- ログ UIを使用して、プラットフォーム全体のログ データを探索します。
- APM UI で、アプリケーションのパフォーマンスのコンテキストでログを確認できます。 エラーのトラブルシューティング 分散型トレース 、スタックトレース、アプリケーションログなどを使用します。
- ログをインフラストラクチャエージェントに転送することで、アプリケーションとシステム パフォーマンス データの両方をより深く把握できます。 UI でインフラストラクチャ ログを確認します。
- アラートを設定します。
- データをクエリし、ダッシュボードを作成します。