---
id: dashboards
title: SLO Dashboards
sidebar_label: SLO Dashboards
description: Learn how to view and configure reliability management (SLO) dashboards.
slug: /help/docs/observability/reliability-management-slo/dashboards/
canonical: https://www.sumologic.com/help/docs/observability/reliability-management-slo/dashboards/
---
import useBaseUrl from '@docusaurus/useBaseUrl';
## Pre-built SLO dashboards
Each SLO comes with a pre-built dashboard that provides an active view into the health and status of your SLO, including the current SLI, the remaining error budget, an error budget burndown chart as well as historical performance of your SLO.
SLO dashboards are also the first point of investigation once you get alerted via [SLO monitors](/docs/observability/reliability-management-slo/alerts/#create-an-slo-monitor). Click **View SLO Dashboard** from the alert notifications to begin investigating the alerts on your SLOs.
### Dashboard panels
Each SLO dashboard contains the following information:
| A | General information, including the SLO name/description and SLI information:
|
| B | Panels showing:
|
| C | Error Budget Burndown: Chart tracking amount of error budget and the events that consumed it within the compliance period. Hover over any timeline to receive more information. |
| D | Event History: Tracked events that occurred during the compliance period as successful (good) and unsuccessful (bad) events. Hover over the chart to learn more about the total number of good or bad events, timeframe, and more. |
| E | Compliance History/Historical Data: Displays SLI and SLO for up to 30 compliance periods. |
#### Open in log search
You can launch a Log Search session directly from an SLO dashboard panel, giving you the ability to drill down into further granular details.
1. [**New UI**](/docs/get-started/sumo-logic-ui). In the main Sumo Logic menu, select **Monitoring > SLOs**. You can also click the **Go To...** menu at the top of the screen and select **SLOs**.
:::tip
Once opened in **Log Search**, you can click **Add to Dashboard** to add SLO dashboard panels to your own custom dashboards.
:::
## Custom SLO dashboards
### SLO output data as log messages
Sumo Logic continuously computes data for your SLOs behind the scenes. This data, which powers your SLO dashboards, is also made available as log messages, and can be used to build custom dashboards. You can execute the following query to access your SLO data in logs:
```sumo
_view=sumologic_slo_output
```
It has the following schema:
* `Time`: timestamp
* `sloId`: Id of the SLO, as displayed in the SLO dashboard URL
* `goodCount`: count of good requests, for request-based, and good windows for windows-based SLOs, based on SLO query definition
* `totalCount`: count of eligible requests for request-based, and eligible windows for windows-based SLOs, based SLO query definition
* `sloVersion`: version of SLO definition. The `sloVersion` is only changed whenever there is a change in semantics of the underlying SLI definition. Therefore, the `sloVersion` is incremented by 1 in case of following modifications only:
* Changing Source of the SLO. Example: changing Query Based to Monitor Based.
* Changing Evaluation Type. Example: changing Request-based to Window-based or changing Window size of SLO.
* Any changes to SLO Queries. This includes modifying the queries, changing Query Type, changing the Use values from and changing the Success Criteria.
* Changing Timezone of SLO.
Likewise, `sloVersion` does NOT change on modifications to fields like **Name**, **Description**, **Target**, **Compliance Type**, **Compliance Period**, **Tags**, and **Signal Type**.
:::note
These log messages may be delayed by up to an hour, as the system ensures consistency to account for ingest delay of source telemetry.
:::
### SLO lookup table
The SLO lookup table is a fully managed [lookup table](/docs/search/lookup-tables/create-lookup-table/#introduction-to-lookup-tables), that contains the latest definitions of all your SLOs. It can be use to enrich the data in your `sumologic_slo_output` view to build custom dashboards.
The SLO lookup table resides under a fixed path, `sumo://content/slos`. You can list all your SLOs using the log query `cat sumo://content/slos`.
To join the results of your SLO precomputed data from `_view=sumologic_slo_output` with the metadata contained in the SLO lookup table, you can use the following query:
```sumo
_view=sumologic_slo_output
| lookup * from sumo://content/slos on sloId, sloVersion
```
### Custom dashboard examples
#### Error budget remaining for all SLOs
Say you want a high-level overview into the health of your SLOs. A honeycomb visualization on the error budget remaining percentage is a nice way to achieve that.
You can use the following query to construct the above:
```sumo
_view=sumologic_slo_output
| lookup * from sumo://content/slos on sloId, sloVersion
| where !isBlank (sloname) and slofolderpath matches "*"
| concat (sloname, " (", sloId, ")") as sloUniqueName
| sum (goodCount) as goodEvents, sum(totalCount) as totalEvents, last (compliancetarget) as target, last(slofolderpath) as sloPath, last(sliwindowsize) as sliwindowsize, last(slievaluationtype) as evaluationType by sloUniqueName
| totalEvents - goodEvents as badEvents
| if (evaluationType = "Window", queryTimeRange() / sliwindowsize, totalEvents) as denominator
| 100 * (1 - badEvents / denominator) as sli
| 100 * (sli - target) / (100 - target) as budgetRemaining
| if(budgetRemaining < 0, 0, budgetRemaining) as budgetRemaining
| fields sloUniqueName, budgetRemaining
```
#### Visualize all SLOs for a service
Let's say you have multiple SLOs for your `ingestion` service and you want to visualize all of those together. You can tag all those SLOs with `service=ingestion` and then leverage your SLO tags in **Log Search** queries using the SLO lookup table. Here's the query that will return data from all your SLOs belonging to the `ingestion` service:
```sumo
_view=sumologic_slo_output
| lookup tags from sumo://content/slos on sloId, sloVersion
| json field=tags "service"
| where service="ingestion"
```
Now that you have filtered the exact set of SLOs needed, all sorts of roll ups can be done using log search operators.
In general, to display all of your SLOs that have one or more tags:
```sumo
CAT sumo://content/slos
| where !(tags = "{}")
```