Your data. Anywhere you go.

New Relic for iOS or Android


Download on the App Store    Android App on Google play


New Relic Insights App for iOS


Download on the App Store


Learn more

Close icon

Track your Service Level Objectives with the SLO/R Nerdpack

nerdpack
nr-nerdpack

#1

The SLO/R Nerdpack

SLO/R is a New Relic One Application intended to calculate SLO attainment for a Service. It allows you to quickly define SLOs for Error, Availability, Capacity, and Latency conditions.

By measuring SLO attainment across your Service estate you will be able to determine which signals are most important for a given Service, or set of Services developed and supported by a Team/Organization. Using New Relic as a consistent basis to define and measure your SLOs offers better insight into comparative SLO attainment in your service delivery organization.

SLO/R provides two mechanisms for calculating SLOs: Error Type (calculated by defects on transactions) and Availability, Capacity, and Latency Type (calculated by total duration of Alert violation).

We are keen to see SLO/R evolve and have many additional features and visualizations to include. For version 1.0.1 we wanted to ship the core SLO calculation capabilities. We expect to rapidly build upon this core through several releases. Please add an issue to the repo is there is a feature you would like to see.

Requirements

  • New Relic APM agent(s) installed.

  • SLO/R is intended to work specifically with Services reporting to New Relic via an APM Agent. The Service provides an Entity upon which to define SLOs. Error Budget SLOs are defined directly from APM Transaction events in Insights, the other SLO types are defined with Alerts (see “Configuring SLOR Alert Webhook” section below).

  • A New Relic Alert webhook to forward Alert events to a SLOR_ALERTS Insights table. See “Configuring SLOR Alert Webhook” section of the README for more details.

Clone this Nerdpack

nr1 nerdpack:clone -r https://github.com/newrelic/nr1-slo-r.git
cd nr1-slo-r
nr1 nerdpack:serve

Deploying this Nerdpack

Open a command prompt in the nerdpack’s directory and run the following commands.


# If you need to create a new uuid for the account to which you're deploying this Nerdpack, use the following
# nr1 nerdpack:uuid -g [--profile=your_profile_name]
# to see a list of APIkeys / profiles available in your development environment, run nr1 credentials:list
nr1 nerdpack:publish [--profile=your_profile_name]
nr1 nerdpack:deploy [-c [DEV|BETA|STABLE]] [--profile=your_profile_name]
nr1 nerdpack:subscribe [-c [DEV|BETA|STABLE]] [--profile=your_profile_name]

Visit https://one.newrelic.com, navigate to the Nerdpack via the Entity Explorer.


#2

I can’t seem to define an alert based SLO unless there has already been an alert generated.

Jeff.


#3

@jhines - The SLO/R Nerdpack relies on there being data in Insights under the SLOR_ALERTS event type.

If you have set up the SLOR_ALERTS event type by creating that as a notification channel as Joel mentioned in the post above, then you should be all set.

With that said, simply creating that notification channel doesn’t back-date the data and populate previous events to Insights.

You will need to wait for that notification channel to fire before Insights data is populated. Once that happens, you’ll have the data in the SLO/R Nerdpack


#4

Thank for the reply. Also what is the time period for the Current value?


#5

When creating a SLO and then looking at the details I get these NRQL queries with WHERE policy_name IN (’’) which obviously won’t work.

Any thoughts?


#6

@jhines - thanks for posting this. That should be an array of the Alert’s you’ve selected for the policy. I am going to check on that - I am suspecting the NRQL render there is missing the array from which to construct the string. It might take me about a day to get back on that - so just FYI.

From the note above you should be able to type in a policy name you want to watch for in SLOR_ALERTS instead of it being fired once to discover.

-g.


#7

Just cross posting the GH issue - https://github.com/newrelic/nr1-slo-r/issues/53 – this is a problem with the version of the SLO document. A change was made to the schema but it wasn’t made backwards compatible. We will add that compatibility check & conversion ASAP.