Skip to main content

Step 4: Create an SLO

Reading time: 0 minute(s) (0 words)
See how to create an SLO.
Tired of reading? Check out the video tutorial!

SLOs allow you to define the reliability of your products and services in terms of customer expectations. You can create SLOs for user journeys, internal services, or even infrastructure.

You can now test and adjust your SLO's targets and view updated error budgets and error budget burn down with SLI analyzer. Once you've determined the right target using your existing data, you can easily create a new SLO.

Configuration​

With a service and its data sources configured, you can define the thresholds for service level indicators. Together with a time window, these create a unique SLO.

To create an SLO in the Nobl9 UI:

  1. Go to the Service Level Objectives page.
  2. Click the plus button button to start the SLO wizard, and follow the five-step configuration process in the wizard.
  3. In step 1 of the SLO wizard:
  4. Select a service​

    Select a Service from the drop-down list to tag the service this SLO applies to.



  5. In step 2 of the SLO wizard:
  6. Select a data source​

    Select a data source from the drop-down list.


    Specify a metric​

    Select the metric type and enter a query.

    A threshold metric is a single time series evaluated against a threshold.


    For details on how to configure a query for each data source, refer to the in-app help panels in the Nobl9 UI or to the Nobl9 documentation.


  7. In step 3 of the SLO wizard:
  8. Define a time window​

    Define a time window: choose a rolling or calendar-aligned time window.

    Rolling time windows are better for tracking the recent user experience of a service. The maximum limit is 31 days.



  9. In step 4 of the SLO wizard:
  10. Select the error budget calculation method​

    Select either Occurrences or Time Slices method:

    • Occurences counts good attempts against the count of total attempts.
    • Time Slices measures how many good minutes were achieved (minutes where a system is operating within defined boundaries) during a time window.

    Add your SLO objective(s)​

    You can define up to 12 objectives for an SLO:

    • Enter SLO objective Display Name.
    • The display name allows you to enter a name with spaces.


    • Enter unique SLO objective Name.
    • The name is required and can only contain lowercase, alphanumeric characters, and dashes. For example: objective-one.


      You can’t edit the SLO objective's name once you’ve created the SLO.

    • Enter the Target.
    • Define the percentage of good events out of total events that you want to meet the target values for the SLI.


    • If you selected the Time Slices method as an error budget calculation method:
      • Enter the Time Slice allowance.
      • Define the percentage of the time slice for which you want to meet that target. This is used to determine if a time slice should be considered good or bad.


    • Enter the target Values.
    • Compare the values gathered from the metric source. For example, if Values less than 200 is the objective for a good experience, values below 200 are considered good.


    • Below, you can see a query provided in step 2 of the SLO wizard.
    • You can modify the query for each added objective.


  11. In step 5 of the SLO wizard:
  12. Define SLO attributes​

    • Enter SLO Display Name.
    • The display name allows you to enter a name with spaces.


    • Enter SLO Name.
    • The name is required and can only contain lowercase, alphanumeric characters, and dashes. For example: my-slo-name. This field is populated automatically when you enter a display name, but you can edit the result.


    • Select Alert policies from the drop-down list to configure alerts.
    • For more information, go to the Create alerts SLOcademy section.


    • Select or add Labels.
    • For more information on labels, check the Labels section of the documentation.


    • Attach a Link to your SLO (optional).
    • You can add up to 20 links to an SLO.
      Enter a display name for the title of the link (max. 63 characters) and paste the URL.


    • Enter a Description (optional).
    • Here you can add details such as who is responsible for the SLO (team/owner) and the purpose of creating it.



  13. Click Create SLO.

You can share your SLO by getting a deep link in your browser’s address bar. Copy and share it with your teammates.

note

After you created the SLO in Nobl9 UI, you can also see an automatically generated YAML configuration for this SLO. For this, open the SLO details view and click the View YAML button to see the configuration modal.

Check out the configuration video:​

For this example configuration video, we will query Prometheus for a latency metric by adding the following query in the Threshold Metric box:

latency_west_c7{code="ALL",instance="localhost:3000",job="prometheus",service="globalcount"}

In this example, we’ll set the target at 99%. This means 99% of occurrences for latency will be with the tolerance defined below. We set the desired value to less than 2000.

This means that for 99% of the events in the time window, we would expect the latency to be under two seconds to meet our objective. Any event with a latency over two seconds causes error budget to burn. If more than 1% of the events during the time period have a latency over two seconds, we will run out of error budget.

Video 1: Creating an SLO

It takes a few minutes for the data to be populated. Remember: if you selected a longer time window, it may take longer for the chart to appear as the data is downsampled into larger slices for the chart view.

note

Check out also the video on adding the Prometheus data source using the agent connection method in Nobl9 UI.

Bravo! You've just created the SLO! Now, proceed to the next section to learn how to manage and monitor your SLOs.