Skip to main content

Composite SLOs

Reading time: 0 minute(s) (0 words)

Using SLOs, you monitor the reliability of various aspects of your service.

However, you may need to perform a holistic assessment of service ecosystems, from the big picture down to the components that make up the services to understand how your service reliability depends on the reliability of its components.

Services in your ecosystem can include many components, each with varying complexities. Some components may report data frequently, while others provide sparse data. Also, some services may be more critical to your business than others.

Nobl9 offers a comprehensive solution, composite SLOs 2.0, or composites. Composites provide insights into such complex systems from the single entry point to the details of the smallest constituent, ensuring a complete understanding of your system's reliability. Even if you use distributed data sources to monitor your service, composites address this as wellβ€”you can add almost any SLO1 to your composite and have a unified view to your system's reliability.

1Limitations

A few limitations relate to legacy composite SLOs and recursion in a composite hierarchy.

To monitor the reliability of your multi-services systems, all you need to do is assemble SLOs that report on your required components into a multi-level structure.

Setting the component weight, you can address the diversity in the importance of services. It helps focus on a critical pathβ€”track it using the Component impact graph and immediately spot services that need your attention the most.

When you build a composite2 for your complex ecosystem, imagine creating a free-form construction object: pick necessary SLOs to monitor anything from hardware performance to user journeys and configure any structure without the need to create component SLOs from scratch, just combining pre-made SLOs.

2creating composites

Currently, you can create a composite SLO 2.0 using sloctl v0.3.0 or later and the Nobl9 Terraform provider.

What's new in composite 2.0​

Legacy composite SLOComposite 2.0
Assemble SLOs from the same data source within the same projectAssemble SLOs from different data sources and projects
Up to 12 objectives per composite SLOExactly one objective, 0β€”20 immediate components per composite SLO, and unlimited hierarchy levels
One-level hierarchyMulti-level hierarchy
All nested objectives contribute equally to the composite error budgetComposite components have weights that define how much this component contributes to the composite error budget
No visualization of the objectives' impact on the composite SLOImpact visualization with the Component impact graph
SLI: either threshold (raw) or ratio (count)SLI: other SLOs
Composite SLO's error budget resets upon editing its objectivesComposite error budget doesn't reset when editing its components
Missing data from a composite's objective results in missing data in your composite SLOYou decide how to treat missing data points in the composite's components: as good, as bad, or ignore it
Objectives in the composite SLO must have different threshold valuesComponents in the composite can have the same threshold values
legacy composite slos

If your organization has composite SLOs 1.0, be sure: your existing data won't be affected in the long run. We will keep supporting legacy composite SLOs at least until the end of 2024.

Composite details interface​

Once you open your composite details, you land on its Overview tab. This tab displays the information about your composite according to the selected time window

Overview​

The composite's overview comprises the same tiles, options, and charts as an SLO. All this information relates to your composite objective.

Composite
Composite tiles
Tile values

The values in the tiles reflect the objective's status during the last seven days of the selected time window.

For 7-day time windows or shorter, the tiles show the objective's status over the entire time window.

Unfold the metadata block to access your composite history, time window type and duration, and error budget calculation method. When your composite is a part of another composite, this information is displayed as well:

Composite metadata
Composite metadata

Under the tiles, the Error budget remaining, Reliability burn down, and Error budget remaining charts visualize the objective's status during the whole time window selected:

Composite objective charts
Composite objective charts

Any component burning the composite error budget appears on the Component impact graph, under the charts. The graph shows the impact of each component on the composite error budget: the higher the impact, the wider the component's row in the graph.

Component impact
Component impact
Displayed components

Only the components that impact the composite error budget are displayed.
This means that when a component reports no errors, it isn't burning the composite error budget, so the graph doesn't include it.

You can search and filter the components and zoom the graph in and out to view the components you need.

To zoom the graph in, click the component row. Click Reset zoom to zoom out to the normal

Hover the cursor over a component row to view its metadata:

  • Component name
  • Component objective name
  • Component impact on the composite in percent
  • Component normalized weight in percent
  • The enclosing project and service name
Component metadata
Component metadata

Click next to the required component to open this component details:

Go to the component from Component impact
Open component details from Component impact

Its metadata block includes the list of all composites that include this SLO; the tiles reflect its status during the last seven days of the selected time window (or the entire time window, if it's seven days long or shorter), and the charts visualize its values during the entire time window selected.

Structure​

Go to the Structure tab to view your composite structure with all included components.

Component structure displays components according to the composite hierarchy you configured, including all levels of nesting, if any. By default, the components are sorted by their impact on the composite, in descending order.

Composite structure
Composite structure

You can sort the components by any column:

1Normalized weight

The total weight of all components in a composite cannot be more than 1. So, while you can set any number as the value for the component weight, all these values are brought to 1.

As a result, you see the component weight in percent, which means the proportion this component weighs relative to the other components.

Hover over the required component to learn its origin:

Composite metadata
Composite metadata

Click the required component to open its details page.

Alerts​

The Alerts tab comprises alerts policies linked to your composite. It displays the triggered alerts as well (if any).

Read more about the Alerts tab.

For a more in-depth look, consult additional resources: