• /
  • EnglishEspañolFrançais日本語한국어Português
  • ログイン今すぐ開始

この機械翻訳は、参考として提供されています。

英語版と翻訳版に矛盾がある場合は、英語版が優先されます。詳細については、このページを参照してください。

問題を作成する

OpenTelemetryを使用してAWS Lambdaのデータ欠落をトラブルシューティングする

問題: CloudWatchメトリクスまたは呼び出しが表示されない

OpenTelemetryでAWS Lambda関数をインストルメントして呼び出した後、 New Relic UIにCloudWatch metricsセクションまたはInvocationsタブが表示されません。

解決

New RelicがLambda関数をUI上で正しく識別して表示するには、以下のOpenTelemetryリソース属性が必要です。

属性説明値の例
faas.nameLambda関数の名前my-lambda-function
faas.idLambda関数の完全なARNarn:aws:lambda:us-east-1:123456789012:function:my-lambda-function

これらの属性が欠落している場合は、環境変数OTEL_RESOURCE_ATTRIBUTESを使用して設定してください。

SAMテンプレート:

yourFunctionHere:
Type: AWS::Serverless::Function
Properties:
# ...
Environment:
Variables:
OTEL_RESOURCE_ATTRIBUTES: "faas.name=my-lambda-function,faas.id=arn:aws:lambda:us-east-1:123456789012:function:my-lambda-function"

重要

my-lambda-functionとARNを、実際の関数名とARNに置き換えてください。ARNは、AWS Lambdaコンソールに表示されている値と完全に一致する必要があります。

AWS Console:

  1. 作成した関数を Lambda Console で開きます。
  2. Configuration選択し、次にEnvironment variables選択します。
  3. Edit選択し、次にAdd environment variable選択します。
  4. Key OTEL_RESOURCE_ATTRIBUTESに、 Valuefaas.name=my-lambda-function,faas.id=arn:aws:lambda:us-east-1:123456789012:function:my-lambda-functionに設定します。
  5. Saveを選択します。

すでに他のリソース プロパティ セットがある場合は、新しい値をコンマ区切りのキーの値のペアとして追加します。

OTEL_RESOURCE_ATTRIBUTES=service.name=my-service,faas.name=my-lambda-function,faas.id=arn:aws:lambda:us-east-1:123456789012:function:my-lambda-function

問題:トレースにリクエストIDが欠落している

Lambda関数 トレースはNew Relicに表示されますが、 AWSリクエスト ID はルート スパンに表示されないため、トレースと CloudWatch ログ エントリを関連付けることが困難になります。

解決

ハンドラー内でルートスパンにfaas.execution属性を設定してください。OpenTelemetryセマンティック規約では、この属性はcloudプロバイダーのリクエストIDまたは呼び出しIDとして定義されています。

パイソン:

from opentelemetry import trace
def handler(event, context):
span = trace.get_current_span()
span.set_attribute("faas.execution", context.aws_request_id)
# Your handler logic here
return {"statusCode": 200, "body": "OK"}

Node.js:

const { trace } = require('@opentelemetry/api');
exports.handler = async (event, context) => {
const span = trace.getActiveSpan();
if (span) {
span.setAttribute('faas.execution', context.awsRequestId);
}
// Your handler logic here
return { statusCode: 200, body: 'OK' };
};

Javaです。

import io.opentelemetry.api.trace.Span;
public class Handler implements RequestHandler<APIGatewayProxyRequestEvent, APIGatewayProxyResponseEvent> {
@Override
public APIGatewayProxyResponseEvent handleRequest(APIGatewayProxyRequestEvent event, Context context) {
Span span = Span.current();
span.setAttribute("faas.execution", context.getAwsRequestId());
// Your handler logic here
return new APIGatewayProxyResponseEvent().withStatusCode(200);
}
}

ヒント

New Relic 、トレース詳細パネルにfaas.executionRequest IDとして表示されるため、あらゆる呼び出しに対応する CloudWatch ログ エントリを簡単に見つけることができます。

詳細情報

詳細については、以下を参照してください。

Copyright © 2026 New Relic株式会社。

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