NEW_RELIC_APM_LAMBDA_MODEがtrueの場合、NEW_RELIC_APP_NAME環境変数は、Lambda関数がNew RelicでAPMエンティティとしてどのように表示されるかを制御します。このページでは、この変数を設定する前に理解しておくべき主な動作について説明します。
エンティティの挙動
同じNEW_RELIC_APP_NAME値とNew Relicアカウントを共有する関数は、New Relic UIで単一のAPMエンティティにグループ化されます。
設定した名前が既存のAPMエンティティ(たとえば、非Lambdaサービスによってすでに作成されているものなど)と一致する場合、Lambda関数からのテレメトリーは自動的にそのエンティティにマージされます。別のエンティティは作成されません。
重要
NEW_RELIC_APP_NAMEを変更すると、新しいAPMエンティティが作成されます。以前の名前に関連付けられた履歴データは、新しいエンティティに移行されません。
マルチリージョンレポート
異なるAWSリージョンにデプロイされた複数のLambda関数は、同じNEW_RELIC_APP_NAMEを共有できます。これらの関数はすべて、どのリージョンにデプロイされているかに関係なく、単一のAPMエンティティにレポートします。
グループ化されたエンティティ内の個々の関数やリージョン固有のデプロイメントを区別するには、NRQLでtags.aws.arn属性を使用してフィルタリングするか、エンティティビューのタグフィルターバーを使用します。
クロスランタイムレポート
同じNEW_RELIC_APP_NAMEを共有する、異なるランタイムを使用するLambda関数(たとえば、Python関数とNode.js関数)は、別々のAPMエンティティを作成します — ランタイムごとに1つ。グループ化はランタイム境界を越えません。
Lambda サービスと非 Lambda サービス間で同じアプリ名
Lambda関数とLambda以外のAPMサービス(たとえば、従来のWebアプリケーションやマイクロサービス)の両方が同じNEW_RELIC_APP_NAMEで設定されている場合、それらは同じAPMエンティティにレポートします。
これは意図的な場合があります:Lambdaとサーバーベースのインフラストラクチャの両方で実行されるサービスの統合ビューが必要な場合、名前を共有することで、すべてのテレメトリー — トランザクション、エラー、スループット — を1か所に表示できるようになります。
ただし、意図せずに行われた場合、混乱を招く可能性があります。Lambda関数と非Lambdaサービスからのメトリクス、エラー率、およびスループットが結合されるため、問題を診断したり、パフォーマンスを個別に理解したりすることがより困難になる可能性があります。