New Relic is a SaaS offering that focuses on performance and availability monitoring.

OpsRamp configuration

Step 1: Install integration

  1. From All Clients, select a client.
  2. Go to Setup > Account.
  3. Select the Integrations and Apps tab.
  4. The Installed Integrations page, where all the installed applications are displayed. Note: If there are no installed applications, it will navigate to the Available Integrations and Apps page.
  5. Click + ADD on the Installed Integrations page. The Available Integrations and Apps page displays all the available applications along with the newly created application with the version.
    Note: You can even search for the application using the search option available. Also yu can use the All Categories option to search.
  6. Click ADD in the NewRelic application and click Install.
  7. Select authentication type as WEBHOOK and click Save.
  8. Make a note of Tenant ID, Token and Webhook URL.
    These details are used while creating an HTTP Request template during NewRelic configuration.
  9. Click Save.

Step 2: Configure integration

  1. From the API tab, enter:
    • Authentication: Copy Tenant Id, Token, and Webhook URL for configuration. These settings are used for creating a HTTP Request template.
    • Map Attributes: Enter the mapping information for the third-party.
  2. From the Monitoring of Integration tab, click Assign Templates.
  3. From the Audit Logs, set up audit log criteria and time frame.

Configuring the map attributes

  1. Select the required OpsRamp property from the drop-down.
  2. Click Add Mapping Attributes to map attributes for the specific OpsRamp alert property.
  3. Click + to define the mappings.
  4. From Create Alert Mappings on Status, define the mappings, parsing conditions, and default values, and Save.

The following table shows the attribute mappings.

Attributes can be modified at any time.

OpsRamp PropertyThird Party EntityThird Party Property
Alert subjectINCIDENTdetails
Alert descriptionINCIDENTdescription
Alert metricINCIDENTmetric
Alert stateINCIDENTseverity
Alert nameINCIDENTtargets[0].name
Alert timeINCIDENTtimestamp
Alert statusINCIDENTcurrent_state

New Relic configuration

Step 1: Configure a notification channel

  1. Log into New Relic.

  2. Add Destination, Go to Alerts & AI > Destinations > Add Webhook.

    Notification Channel
    Copy the URL from Opsramp Integration and paste it in the endpoint URL field.

  3. Add Destination, Go to Alerts & AI > Workflows > Add.

    Notification Channel

    Select filter conditions based on requirement. Select the channel as Webhook, under notify. Configure the details Channel Name: Enter channel name Destination : select the one created in the earlier step.

Example payload

{
 "description": {
  "account_id": "$ACCOUNT_ID",
  "\naccount_name": "$ACCOUNT_NAME",
  "\ncondition_id": "$CONDITION_ID",
  "\ncondition_name": "$CONDITION_NAME",
  "\ncurrent_state": "$EVENT_STATE",
  "\ndetails": "$EVENT_DETAILS",
  "\nevent_type": "$EVENT_TYPE",
  "\nincident_acknowledge_url": "<a href=$INCIDENT_URL>$INCIDENT_URL</a>",
  "\nincident_id": "$INCIDENT_ID",
  "\nincident_url": "$INCIDENT_URL",
  "\nowner": "$EVENT_OWNER",
  "\npolicy_name": "$POLICY_NAME",
  "\npolicy_url": "$POLICY_URL",
  "\nrunbook_url": "<a href=$RUNBOOK_URL>$RUNBOOK_URL</a>",
  "\nseverity": "$SEVERITY",
  "\ntargets": "$TARGETS",
  "\ntimestamp": "$TIMESTAMP"
 },
 "current_state": "$EVENT_STATE",
 "details": "$EVENT_DETAILS",
 "metric": "$POLICY_NAME",
 "severity": "$SEVERITY",
 "targets": "$TARGETS",
 "timestamp": "$TIMESTAMP"
}

New Version Payload

{
 "description": {
 "account_id": {{json nrAccountId}},
 "\naccount_name": "{{issueActivatedAtUtc}}",
 "\ncondition_id": {{json accumulations.conditionFamilyId.[0]}},
 "\ncondition_name": {{json accumulations.conditionName.[0] }},
 "\ncurrent_state": {{#if issueClosedAtUtc}} "closed" {{else if issueAcknowledgedAt}} "acknowledged" {{else}} "open"{{/if}},
 "\ndetails": {{json issueTitle}},
 "\nevent_type": "Alert",
 "\nincident_acknowledge_url": "<a href={{issueAckUrl}}</a>",
 "\nincident_id": {{json issueId}},
 "\nincident_url": {{json issuePageUrl}},
 "\nowner": {{json owner}},
 "\npolicy_name": {{json accumulations.policyName.[0]}},
 "\npolicy_url": {{#if policyUrl}} {{json policyUrl}}{{/if}},
 "\nrunbook_url": "<a href={{ accumulations.runbookUrl.[0] }}</a>",
 "\nseverity": {{json priority}},
 "\ntargets": {{json entitiesData.names.[0]}},
 "\ntimestamp": {{json createdAt}}
 },
 "current_state": {{#if issueClosedAtUtc}} "closed" {{else if issueAcknowledgedAt}} "acknowledged" {{else}} "open"{{/if}},
 "details": {{json issueTitle}},
 "metric": {{json accumulations.policyName.[0]}},
 "severity": {{json priority}},
 "targets":{{json entitiesData.names.[0]}},
 "timestamp": {{json createdAt}}
}

Note: These new fields are taken from the Newrelic documentation. Ref: Notification migration

Step 2: Define the alert policy

  1. Go to Alerts > Alert Policies.
  2. Enter the name of the policy as OpsRamp_Alert_Policy and click Create Policy.
  3. Click Create a Condition, and select APM, Application Metric.
  4. Click Next and select Targets.
  5. In Select target, select all applications Moodle, php, application, collaboration.net to name a few and click Next. The applications may be different for few clients, but Apdex is required for all the clients.
  6. Define the threshold to trigger an alert. The threshold is specific for each client.
  7. To test the process of alerting, set Apdex score below 0.98 for five minutes and click Create Condition.

After the alerting is successful, reset the score to the appropriate value in Apdex threshold for the specific environment. 8. Attach the policy to the notification channel. 9. To attach the policy click Add notification channels, select Webhook and click Update Policy.

Attach Alert Policy to Channel

In alerts browser, the source column displays a New Relic icon which indicates that the alert is from New Relic.