Below we shall see the steps for AWS Node.js Lambda Monitoring using Atatus Lambda Layer(no changes in your code).
Serverless Framework
Install
serverless
packagenpm install -g serverless
Navigate to Atatus Dashboard --> Settings --> Account Settings --> API Keys. You can generate a new API key (select - Ingest License Key). After obtaining the API key, you'll need to set it in the
serverless.yaml
file under the environmentATATUS_LICENSE_KEY
(see step 3).Add Lambda layers to your
serverless
provider configurationprovider: name: aws runtime: nodejs18.x environment: ATATUS_LICENSE_KEY: <YOUR_API_KEY> AWS_LAMBDA_EXEC_WRAPPER: /opt/atatus_wrapper layers: - arn:aws:lambda:us-east-1:317265140635:layer:Atatus-NodeJS:1
4. Deploy serverless application
sls deploy
Layers Syntax:
arn:aws:lambda:<region>:317265140635:layer:Atatus-NodeJS:<version>
AWS_LAMBDA_EXEC_WRAPPER
is an environment variable used in AWS Lambda functions to specify a custom wrapper script that runs before the main handler function. This allows you to customize the execution environment, perform initialization tasks, or manage the invocation of the actual handler.
SAM Template
Install AWS SAM CLI
Navigate to Atatus Dashboard --> Settings --> Account Settings --> API Keys. You can generate a new API key (type - Ingest License Key). After obtaining the API key, you'll need to set it in the
serverless.yaml
file under the environmentATATUS_LICENSE_KEY
(see step 3).Add Lambda layers to your
SAM
provider configurationGlobals: Function: Timeout: 600 Layers: - arn:aws:lambda:us-east-1:317265140635:layer:Atatus-NodeJS:1 Environment: Variables: ATATUS_LICENSE_KEY: <YOUR_API_KEY> AWS_LAMBDA_EXEC_WRAPPER: /opt/atatus_wrapper
4. Build and Deploy this file along with your Lambda function.
sam build
sam deploy -g
Layers Syntax:
arn:aws:lambda:<region>:317265140635:layer:Atatus-NodeJS:<version>
AWS_LAMBDA_EXEC_WRAPPER
is an environment variable used in AWS Lambda functions to specify a custom wrapper script that runs before the main handler function. This allows you to customize the execution environment, perform initialization tasks, or manage the invocation of the actual handler.
AWS Console
1. Add Atatus Layer to Your Lambda Function:
- Navigate to the AWS Management Console.
- In the search bar at the top, type
Lambda
and select the Lambda service from the drop down. - Select the function you want to modify.
- In the Function overview section, click on
Layers
. - Once you are in the Layers section, click on the
Add a layer
button. - Select "Specify an ARN" as Layer source and enter the following ARN
arn:aws:lambda:us-east-1:317265140635:layer:Atatus-NodeJS:1
- After entering the ARN, click the Add button to associate the specified layer with your Lambda function.
2. Configure Agent Environment Variables:
- Still in your Lambda function configuration page, scroll down to the
Configuration
tab. - Within the Configuration tab, Click on
Environment variables
. - To set the agent environment variables, click the
Edit
button. - You can now set following environment variables
ATATUS_LICENSE_KEY: <YOUR_API_KEY> # Get API KEY from atatus settings
AWS_LAMBDA_EXEC_WRAPPER: /opt/atatus_wrapper
- Once you have added all necessary environment variables, click the Save button.