You can send your Amazon CloudWatch logs to New Relic using our AWS Lambda function,
newrelic-log-ingestion. This can be easily deployed from the AWS Serverless application repository.
Forwarding your CloudWatch logs to New Relic will give you enhanced log management capabilities to collect, process, explore, query, and alert on your log data.
The following setup shows one approach for configuring environment variables. You can also configure them from the Functions page.
Complete the following:
- Make sure you have a New Relic license key.
- Open the AWS Serverless Application Repository in your browser.
- Search for
newrelicand check Show apps that create custom IAM roles or resource policies to find
- Open the
newrelic-log-ingestiondetails and click Deploy.
- In the function's Configure menu, go to Environment Variables and configure log forwarding using the following environment variables:
A boolean to determine if you want to output debug messages in the CloudWatch console. Optional.
To turn on debug logs, set this to
New Relic license key is used for sending data to New Relic. Required.
Determines if logs are forwarded to New Relic. Required. To turn on logging, set this to
New Relic ingestion endpoint for logs. Required. Two endpoints are available:
Specify tags to be added to all log events. Optional.
Each tag is composed of a colon-delimited key and value. Multiple key-value pairs are semicolon-delimited; for example,
- Acknowledge that the app creates custom IAM roles, and then click Deploy.
Once the process completes, create a Lambda trigger to link your Lambda function to CloudWatch logs.
To get your logs streaming to New Relic, attach a trigger to the Lambda:
- From the left side menu, select Functions.
- Find and select the previously created
- Under Designer, click Add Triggers, and select Cloudwatch Logs from the dropdown.
- Select the the appropriate Log group for your application.
- Enter a name for your filter.
- Optional: Enter a filter pattern.
- Check the Enable trigger checkbox, then click Add to create the trigger.
You can configure the number of retries you want to perform in case the function fails to send the data in case of communication issues. Recommended number is 3 retries, but you can change the retry behavior by changing the below parameters:
The more the number of retries there are can make the function run for longer times. This increases the probability of having higher costs for Lambda. However, decreasing the number of retries could increase the probability of data loss.
MAX_RETRIES = 3 # Defines the number of retries after lambda failure to deliver dataINITIAL_BACKOFF = 1 # Defines the initial wait seconds until next retry is executedBACKOFF_MULTIPLIER = 2 # Time multiplier between the retriesAs an example, in default above configuration, first retry will happen after 1 second, second retry after 2 seconds and third retry will happen after 4 seconds.
When you create the application from the repository, the following resources are also created:
- The Lambda function itself
- A role used to give execution permissions to the Lambda function based in CloudWatch Logs.
All other Lambda configurations not listed can be left as the defaults.
If everything is configured correctly and your data is being collected, you should see data logs in both of these places:
- New Relic Logs UI
- New Relic tools for running NRQL queries. For example, you can execute a query like this:
SELECT * FROM Log
If no data appears after you enable our log management capabilities, follow our standard log troubleshooting procedures.
Explore logging data across your platform with the New Relic One UI.