AWS Serverless application that sends log data from CloudWatch Logs to New Relic.
To forward data to New Relic you need a New Relic License Key.
To install and configure the New Relic Cloudwatch Logs Lambda, see our documentation.
Additional notes:
- Some users in UTF-8 environments have reported difficulty with defining strings of
NR_TAGSdelimited by the semicolon;character. If this applies to you, you can set an alternative delimiter character as the value ofNR_ENV_DELIMITER, and separate yourNR_TAGSwith that.
If your organization restricts access to deploy via SAR, follow these steps below to deploy the log ingestion function manually.
- Clone this repository:
git clone https://github.com/newrelic/aws-log-ingestion.git - Install the SAM CLI Make sure you have >=0.33.0 installed, you can check with
sam --version. - Retrieve your New Relic License Key
- Build the SAM application (if on Linux
-ucan be omitted):sam build -u --parameter-overrides 'ParameterKey=NRLicenseKey,ParameterValue=your-license-key-here' - Deploy the SAM application:
sam deploy --guided
Additional notes:
- To set
LOGGING_ENABLED:sam build ... --parameter-overrides 'ParameterKey=NRLoggingEnabled,ParameterValue=True'
- Clone this repository:
git clone https://github.com/newrelic/aws-log-ingestion.git - Install Serverless:
npm install -g serverless - Install the serverless-python-requirements plugin:
sls plugin install -n serverless-python-requirements - If not running Linux, install Docker
- Retrieve your New Relic License Key
- Set the LICENSE_KEY environment variable:
export LICENSE_KEY=your-license-key-here - Deploy the function:
sls deploy
Additional notes:
- To set
LOGGING_ENABLED:export LOGGING_ENABLED=True(prior to deploy)
In your Terraform, you can add this as a module, replacing {{YOUR_LICENSE_KEY}} with your New Relic License Key.
module "newrelic_log_ingestion" {
source = "github.com/newrelic/aws-log-ingestion"
nr_license_key = "{{YOUR_LICENSE_KEY}}"
}By default, this will build and pack the lambda zip inside of the Terraform Module. You can supply your own by switching build_lambda = false, and specify the path to your lambda, using lambda_archive = "{{LAMBDA_PATH}}", replacing {{LAMBDA_PATH}} with the path to your lambda.
