This page explains how to use the AppDynamics AWS Lambda Extension for Serverless APM, the recommended way to inject the Serverless Tracer at runtime. Use this option to dynamically add a layer to a Node.js or Python application.
Limited Availability Release Disclaimer
This documentation mentions features that are currently available as part of a limited release. AppDynamics reserves the right to change the features at any time before making them generally available as well as never making them generally available. Any buying decisions should be made based on features and products that are currently generally available.
Before You Begin
After you have subscribed to Serverless APM for AWS Lambda and set up your environment variables, you can begin instrumentation. Ensure that your setup meets the following requirements:
- Existing AWS Lambda functions built with Node.js version >=10.x or Python 3.6-3.8
- Active Serverless APM for AWS Lambda subscription
- AppDynamics SaaS Controller version >=4.5.11
- Supported AWS Regions: eu-central-1, eu-north-1, eu-west-1, eu-west-2, eu-west-3, ap-northeast-1, ap-northeast-2, ap-south-1, ap-southeast-1, ap-southeast-2, ca-central-1, sa-east-1, us-east-1, us-east-2, us-west-1, us-west-2
Use AWS Lambda Layers to Inject the Serverless Tracer at Runtime
To install the Node.js or Python Serverless Tracer, configure your Lambda function to use the layer implementing the AppDynamics AWS Lambda Extension for Serverless APM.
Add the AWS Lambda Extension to Your Function
To pull the AppDynamics layer from Amazon, add the Amazon Resource Number (ARN) to your Lambda using either the AWS Management Console UI or the AWS CLI.
- Add the AWS Lambda Extension to Your Function
- Configure Environment Variables
Instrument a Lambda Function using the AWS UI
- In the AWS Management Console console, select Compute > Lambda.
- From the AWS Lambda panel, select a lambda that you want to instrument.
- Select Layers.
- Click Add a layer.
- Under Choose a layer, select Specify an ARN.
Under Specify an ARN, enter the AWS Layer information:
arn:aws:lambda:us-west-2:338050622354:layer:appdynamics-lambda-extension:15
BASH
The ARN region changes based on the AWS region where the lambda is deployed. For example, if your lambda is Europe (Frankfurt) eu-central-1, use:
arn:aws:lambda:eu-central-1:338050622354:layer:appdynamics-lambda-extension:15
BASH
Click Add.
To verify the layer is added to the lambda, click Layers. Under Layers, the appdynamics-lambda-extension displays.
- See Configure the Environment Variables.
Instrument a Lambda Function using AWS CLI
To pull the AppDynamics layer from Amazon, using the AWS CLI:
- See Configuring a function to use layers.
- See Configure the Environment Variables.
To finish injecting the tracer into AWS Lambda, configure environment variables depending on your programming language and version:
Node 10.x, Node 12.x, and Python 3.8
Add the environment variable AWS_LAMBDA_EXEC_WRAPPER
with the value: /opt/appdynamics-extension-script:
AWS_LAMBDA_EXEC_WRAPPER = /opt/appdynamics-extension-script
BASH
For Python 3.6 and Python 3.7
Add an environment variable APPDYNAMICS_PYTHON_AUTOINSTRUMENT
with the value set to true:
APPDYNAMICS_PYTHON_AUTOINSTRUMENT = true
BASH
Verify your Serverless Tracer Instrumentation
See Verify the Serverless Tracer Instrumentation.
Amazon Web Services, the AWS logo, AWS, and any other AWS Marks used in these materials are trademarks of Amazon.com, Inc. or its affiliates in the United States and/or other countries.