Below we shall see the steps for AWS Node.js Lambda Monitoring using Atatus Lambda Layer(no changes in your code).

Serverless Framework

  1. Install serverless package

    npm install -g serverless
    
  2. 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 environment ATATUS_LICENSE_KEY (see step 3).

  3. Add Lambda layers to your serverless provider configuration

    provider:
      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
Note:

Layers Syntax: arn:aws:lambda:<region>:317265140635:layer:Atatus-NodeJS:<version>

Note:

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

  1. Install AWS SAM CLI

  2. 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 environment ATATUS_LICENSE_KEY (see step 3).

  3. Add Lambda layers to your SAM provider configuration

    Globals:
      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
Note:

Layers Syntax: arn:aws:lambda:<region>:317265140635:layer:Atatus-NodeJS:<version>

Note:

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

lambda

  • 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

lambda

  • Once you have added all necessary environment variables, click the Save button.