Service-level objectives (SLOs)

edit

Service-level objectives (SLOs)

edit

To create and manage SLOs, you need an appropriate license, an Elasticsearch cluster with both transform and ingest node roles present, and SLO access must be configured.

SLOs allow you to set clear, measurable targets for your service performance, based on factors like availability, response times, error rates, and other key metrics. You can define SLOs based on different types of data sources, such as custom KQL queries and APM latency or availability data.

Once you’ve defined your SLOs, you can monitor them in real time, with detailed dashboards and alerts that help you quickly identify and troubleshoot any issues that may arise. You can also track your progress against your SLO targets over time, with a clear view of your error budgets and burn rates.

Important concepts

edit

The following table lists some important concepts related to SLOs:

Service-level indicator (SLI)

The measurement of your service’s performance, such as service latency or availability.

SLO

The target you set for your SLI. It specifies the level of performance you expect from your service over a period of time.

Error budget

The amount of time that your SLI can not meet the SLO target before it violates your SLO.

Burn rate

The rate at which your service consumes your error budget.

In addition to these key concepts related to SLO functionality, see Understanding SLO internals for more information on how SLOs work and their relationship with other system components, such as Elasticsearch Transforms.

SLO overview

edit

From the SLO overview, you can see all of your SLOs and a quick summary of what’s happening in each one:

slo dashboard

Select an SLO from the overview to see additional details including:

  • Burn rate: the percentage of bad events over different time periods (1h, 6h, 24h, 72h) and the risk of exhausting your error budget within those time periods.
  • Historical SLI: the SLI value and how it’s trending over the SLO time window.
  • Error budget burn down: the remaining error budget and how it’s trending over the SLO time window.
  • Alerts: active alerts if you’ve set any SLO burn rate alert rules for the SLO.
slo detailed view
Search and filter SLOs
edit

You can apply searches and filters to quickly find the SLOs you’re interested in.

Options for filtering SLOs in the overview
  • Apply structured filters: Next to the search field, click the Add filter Add filter icon icon to add a custom filter. Notice that you can use OR and AND to combine filters. The structured filter can be disabled, inverted, or pinned across all apps.
  • Enter a semi-structured search: In the search field, start typing a field name to get suggestions for field names and operators that you can use to build a structured query. The semi-structured search will filter SLOs for matches, and only return matching SLOs.
  • Use the Status and Tags menus to include or exclude SLOs from the view based on the status or defined tags.

There are also options to sort and group the SLOs displayed in the overview:

SLOs sorted by SLO status and grouped by tags
  • Sort by: SLI value, SLO status, Error budget consumed, or Error budget remaining.
  • Group by: None, Tags, Status, or SLI type.
  • Click icons to switch between a card view (Card view icon), list view (List view icon), or compact view (Compact view icon).

SLO dashboard panels

edit

SLO data is also available as Dashboard panels. Panels allow you to curate custom data views and visualizations to bring clarity to your data.

Available SLO panels include:

  • SLO Overview: Visualize a selected SLO’s health, including name, current SLI value, target, and status.
  • SLO Alerts: Visualize one or more SLO alerts, including status, rule name, duration, and reason. In addition, configure and update alerts, or create cases directly from the panel.
slo dashboard panel

See Dashboard and visualizations to learn how to add panels to a Dashboard.

Upgrade from beta to GA

edit

Starting in version 8.12.0, SLOs are generally available (GA). If you’re upgrading from a beta version of SLOs (available in 8.11.0 and earlier), you must migrate your SLO definitions to a new format.

Refer to Upgrade from beta to GA for more details on how to proceed.

Next steps

edit

Get started using SLOs to measure your service performance: