Service Level Objectives, or SLOs, are a key part of the site reliability engineering toolkit. SLOs provide a framework for defining clear targets around application performance, which ultimately help teams provide a consistent customer experience, balance feature development with platform stability, and improve communication with internal and external users.
You can use Datadog’s Service Level Objectives status page to create new SLOs or to view and manage all your existing SLOs. You can also add SLO Summary widgets to your dashboards to visualize your SLO statuses at a glance.
After you set up the SLO, select it from the Service Level Objectives list view to open the details side panel. The side panel displays the overall status percentage and remaining error budget for each of the SLO’s targets, as well as status bars (monitor-based SLOs) or bar graphs (metric-based SLOs) of the SLI’s history. If you created a grouped monitor-based SLO using one multi alert monitor or a grouped metric-based SLO using the
sum by clause, the status percentage and remaining error budget for each individual group is displayed in addition to the overall status percentage and remaining error budget.
Example: If you create a monitor-based SLO to track latency per availability-zone, the status percentages and remaining error budget for the overall SLO and for each individual availability-zone that the SLO is tracking are displayed.
To leverage the benefits of error budgets and error budget alerts, you must set SLO target values strictly below 100%.
Setting a 100% target means having an error budget of 0% since error budget is equal to 100%—SLO target. Without error budget representing acceptable risk, you face difficulty finding alignment between the conflicting priorities of maintaining customer-facing reliability and investing in feature development. In addition, SLOs with target values of 100% lead to division by zero errors in SLO alert evaluation.
Note: The number of decimal places you can specify for your SLOs differs depending on the type of SLO and the time windows you choose. Refer to the links below for more information for each respective SLO type.
Monitor-based SLOs: Up to two decimal places are allowed for 7-day and 30-day targets, up to three decimal places are allowed for 90-day targets.
Metric-based SLOs: Up to three decimal places are allowed for all targets.
To edit an SLO, hover over the SLO’s row in the list view and click the edit pencil icon that will appear at the right of the row, or click on the row to open the details side panel and select the edit button from the cog icon in the top right of the panel.
The Service Level Objectives status page lets you run an advanced search of all SLOs so you can find, view, edit, clone or delete SLOs from the search results.
Advanced search lets you query SLOs by any combination of SLO attributes:
description- text search
time window- 7d, 30d, 90d
type- metric, monitor
tags- datacenter, env, service, team, etc.
To run a search, use the facet checkboxes on the left and the search bar at the top. When you check the boxes, the search bar updates with the equivalent query. Likewise, when you modify the search bar query (or write one from scratch), the checkboxes update to reflect the change. Query results update in real-time as you edit the query; there’s no ‘Search’ button to click.
To edit an individual SLO, hover over it and use the buttons that appear at the right of its row: Edit, Clone, Delete. To see more details on a SLO, click its table row to open its details side panel.
The default SLO view is loaded when you land on the SLO list view.
The default view includes:
Saved views allow you to save and share customized searches in the SLO list view for SLOs that are most relevant for you and your team by sharing:
After you query for a subset of SLOs on the list view, you can now add that query as a saved view.
To add a saved view:
To load a saved view, open the Saved Views panel by pressing the Show Views button at the top left of the page and select a saved view from the list. You can also search for saved views in the Filter Saved Views search box at the top of that same Saved Views panel.
Hover over a saved view from the list and select the hyperlink icon to copy the link to the saved view to share it with your teammates.
Once you are using a saved view, you can update it by selecting that saved view, modifying the query, and clicking the Update button below its name in the Saved Views panel. To change the saved view’s name or delete a saved view, hover over its row in the Saved Views panel and click the pencil icon or trash can icon, respectively.
SLO audit events allow you to track the history of your SLO configurations using the Event Stream. Audit events are added to the Event Stream every time you create, modify or delete an SLO. Each event includes information on an SLO’s configuration, and the stream provides a history of the SLO’s configuration changes over time.
Each event includes the following SLO configuration information:
Three types of SLO audit events appear in the Event Stream:
SLO Createdevents show all four pieces of SLO configuration information at creation time.
SLO Modifiedevents show a what configuration information changed during a modification
SLO Deletedevents show all four pieces of configuration information the SLO had right before it was deleted
To get a full list of all SLO audit events, enter the search query
tags:audit,slo in the Event Stream. To view the list of audit events for a specific SLO, enter
tags:audit,slo_id:<SLO ID> with the ID of the desired SLO.
You can also query the Event Stream programmatically using the Datadog Events API.
Note: If you don’t see events appear in the UI, be sure to set the time frame of the Event Stream to a longer period, for example, the past 7 days.
To proactively manage the configurations of your SLOs, set an Event Monitor to notify you when events corresponding to certain tags occur.
For example, if you wish to be notified when a specific SLO’s configuration is modified, set an Event Monitor to track the text
[SLO Modified] over the tags
After creating your SLO, you can use the SLO Summary dashboard widget to visualize the status of an SLO along with your dashboard metrics, logs and APM data. For more information about SLO Widgets, see the SLO Widgets documentation page.
Status corrections allow you to identify specific time periods, such as planned maintenance, that an SLO should ignore from its calculation of status and error budget. Data during excluded time periods is not taken into account. A public beta for corrections is available through the SLO status corrections API and Terraform.
Additional helpful documentation, links, and articles: