Connecting to New Relic (Deprecated)

The CloudZero New Relic Adaptor

The CloudZero New Relic adaptor is containerized software that can be run from any container hosting platform. The adaptor will pull your New Relic spend data, convert it to the CloudZero (Common Bill Format (CBF)), and create the data drop that can then be ingested and processed by the CloudZero platform.

🚧

This method is deprecated

This version of the New Relic Adaptor is no longer supported. If you are looking to bring New Relic spend into CloudZero please refer to Connecting to New Relic (Tier 1)

How to setup the New Relic Adaptor

Step 1: Setup your ECR Storage

You will need to pull the CloudZero image into your own ECR instance. To do this, follow the steps below.

  1. Upload and register the CloudZero New Relic Adaptor for Lambda container to your AWS ECR storage.

For more information, refer to the Push your image to Amazon Elastic Container Registry section of this AWS document.

  1. Copy the URI of the ECR container instance you created for use in later setup.

Step 2: Obtain a New Relic API Key

In order for the adaptor to be able to access the data it needs from your New Relic instance, you will need an API key.

  1. Setup an API key according to the New Relic API Key documentation. Ensure you are setting up a User key type for your adaptor.
  2. Make note of the key for use in Step 3 below.
  3. Have your New Relic Account ID handy for later.

Step 3: Setup the AWS Parameter Store

Your adaptor config settings will be using the AWS System Manager Parameter Store.

  1. Setup a Parameter Store for your CloudZero New Relic adaptor configuration values. You will need to add the parameters in the table below. You can use the encrypted storage option for any of the values as necessary.

    Please Note: When adding these parameters, ensure they are all located on the same path, such as /CloudZero/New_Relic_Adaptor/, and make note of that path for use later in the setup process.

    ConfigurationDescription
    FULL_USER_PLATFORM_COSTThis is a numeric value related to the type of usage contract you have with New Relic. If this information is not known, set this to the default value of 99.
    CORE_USER_PLATFORM_COSTThis is a numeric value related to the type of usage contract you have with New Relic. If this information is not known, set this to the default value of 49.
    INGESTED_GIGABYTE_COSTThis is a numeric value related to the type of usage contract you have with New Relic. If this information is not known, set this to the default value of 0.25.
    NEW_RELIC_API_KEYThis is the New Relic API Key you created in Step 2. Ensure you store this as a SecretString.
    NEW_RELIC_ACCOUNT_IDThis is the Account ID of your New Relic account you located in Step 2.
    S3_BUCKETThis is the name of the S3 bucket you will be creating in Step 5 below.
    S3_BUCKET_FOLDERThis is the location of the S3 bucket you will be creating in Step 5 below.
    NEW_RELIC_MAX_EVENTS_LOOKUP_HOURSThis is the maximum number of hours of data to pull with each run. To avoid hitting New Relics API polling data caps, we recommend setting this to 24 hours.

Step 4: Create and configure your AWS Lambda

You need to create and configure the Lambda function that will execute the adaptor from your ECR instance.

To do this, follow the steps below.

  1. Create an AWS Lambda using the Container Image template.
  2. Input the URI of your ECR instance created in Step 1.
  3. By default, the Lambda creation process will create a default execution role. We will use this role, so note its ID.
  4. In the Configuration tab of your Lambda settings, edit your General Configuration section.
  5. Set your Timeout value to 15 minutes and Memory to 4GB.
  6. Edit your Environment Variables section.
  7. Add the variable SSM_PARAMETER_STORE_FOLDER_PATH with the value of the location of your configuration variables in AWS Parameter Store. Be sure to include leading and trailing slashes (i.e., /CloudZero/New_Relic_Adaptor/).
  8. Access the execution role auto created with the Lambda, and add the following policies.
"ssm:GetParametersByPath",
"ssm:GetParameters",
"ssm:GetParameter",
"kms:Decrypt"

Step 5: Setup your AWS S3 bucket

You will need to setup an S3 bucket where your adaptor will drop its files, and where the CloudZero platform will pull them.

To do this, follow the steps below.

  1. Create an AWS S3 bucket where the files will be stored.
  2. Grant the Lambda execution role that was auto created full access rights to this S3 bucket. For more information, see the AWS S3 User Policy Examples documentation.
  3. Update your S3_BUCKET and S3_BUCKET_FOLDER values in your AWS Parameter Store (Step 3) to match this S3 bucket.

Step 6: Schedule your New Relic adaptor

Once all the parts are in place, follow the steps below to setup the run schedule of your New Relic Adaptor.

  1. Access your Lambda settings, and select the Add Trigger button.
  2. Choose the EventBridge (CloudWatch Events) trigger type, and select Create New Rule.
  3. Set the Schedule Expression to run on an hourly cadence. Please Note: An hourly cadence is necessary to stay under the New Relic API data caps and retain New Relic high fidelity event data, which can expire at a minimum of every 24 hours.
  4. Once added, your Lambda will begin executing at the set time, and you will begin seeing data drops in the S3 bucket you configured.

Step 7: Create a CloudZero billing connection

Once your files are successfully dropping to your S3 bucket, you will need to setup a CloudZero custom connection to begin ingesting this data into the platform.

For more information on how to do this, see Connecting Custom Data from AnyCost Adaptors.