AWS Lambdaのサーバーレス監視 を有効にする前に、 要件 を満たしていることを確認し、 AWSの使用料 が発生することを学んでください。
推奨されるAWS Lambda言語のランタイム
- Node.js:
nodejs12.x
、nodejs14.x
、nodejs16.x
、nodejs18.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 と Node.js は、Lambda エコシステムで群を抜いて最も人気のある言語です。Node.js および Python 用のNew Relic Lambda レイヤーには、最新の New Relic エージェント バージョンが含まれており、箱から出してすぐに、最小限の構成で豊富なインストルメンテーションを提供します。
同様に、Go は New Relic Go エージェントを使用します。AWS go1.x
ランタイムでは最新の AWS Lambda API がサポートされていないため、自己ホスト型の Go ラムダ関数を構築することをお勧めします。幸いなことに、これは AWS Lambda SDK for Go によって十分にサポートされています。New Relic では、エージェント モジュールを最新の状態に保つことを推奨しています。3.9.0 より古いエージェント バージョンのサポートは制限されています。
パフォーマンスへの影響を最小限に抑えるために、Java と .NET Core では異なるアプローチを採用しました。New Relic は、これらのランタイム用の OpenTracing 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のサーバーレスモニタリングを有効にすると、AmazonWebServicesの料金が発生する場合があります。 Lambdaデータをレポートするnewrelic-log-ingestion
Lambda関数は、サードパーティサービスと見なされます。その使用に起因するAWSの料金は、お客様の責任となります。
Lambda Extension を使用すると、New Relic が収集した遠隔測定の CloudWatch Logs インジェスト料金を回避することができます。