AWS Lambdaのサーバーレス監視 を有効にする前に、 要件 を満たしていることを確認し、 AWSの使用料 が発生することを学んでください。
推奨されるAWS Lambda言語のランタイム
- NodeJS:
nodejs12.x
,nodejs14.x
- Python:
python3.7
,python3.8
,python3.9
- Go:
provided
,provided.al2
- Java:
java8.al2
,java11
- .NET Core:
dotnetcore3.1
AWSはこれらの言語の古いランタイムも持っていますが、AWSは 、最新のLambda APIをこれらの古いランタイムでサポートすることを選択していません。古いランタイムへの統合には別の戦略が必要ですが、可能です。
Python と NodeJS は、Lambda のエコシステムにおいて圧倒的に人気のある言語です。 New Relic Lambda Layers for Node and Python には最新の New Relic Agent バージョンが含まれており、最小限の設定で豊富なインストルメント機能をすぐに利用することができるようになっています。
同様に、Go は New Relic Go Agent を使用します。最新のAWS Lambda APIは、AWS go1.x
ランタイムではサポートされていないため、セルフホスティングのGo lambda関数を構築することをお勧めします。幸いなことに、これは AWS Lambda SDK for Go によって十分にサポートされています。New Relic では、エージェントモジュールを最新の状態に保つことを推奨しています。3.9.0より古いエージェントバージョンのサポートは限られています。
パフォーマンスへの影響を最小限に抑えるために、Java と .NET Core では異なるアプローチを採用しています。New Relic はこれらのランタイム用に OpenTelemetry SDK を提供しています。このアプローチでは、統合するために少しだけコードが必要になります。
完全なLambdaインスツルメンテーションのために、Lambdaレイヤーに含まれる当社のエージェントの一部は、言語固有の AWS SDK に依存しています。AWS SDKが使用されていない場合、LambdaのデータはUI上で外部サービスの呼び出しとして表示され、最小限の詳細が表示されます。つまり、お客様の機能のインストゥルメンテーションを促進するためにAWS SDKに依存しています。
以下のサービスについては、"対象の" (Lambda関数名、SNSトピックARN、DynamoDBテーブル名など)のみが報告されます。Autoscaling、Athena、Batch、Cloud9、CodeBuild、DynamoDB、Greengrass、IoT、Kinesis(Streams、Firehose、Analytics、Video)、Lambda、Lex、Machine Learning、MQ、Redshift、Rekognition、S3、SES、SimpleDB、SNS、SQS、Storage Gateway、STS。
AWSのコストについて
AWS Lambdaのサーバーレス監視を有効にすると、Amazon Web Servicesの料金が発生する可能性があります。 当社の newrelic-log-ingestion
Lambda関数 は、お客様のLambdaデータを当社に報告するものであり、 サードパーティサービスとみなされます。: お客様の使用に起因するAWSの料金はお客様の責任となります。
Lambda Extension を使用すると、New Relic が収集した遠隔測定の CloudWatch Logs インジェスト料金を回避することができます。