--- 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.
Reliability Management SLO SLI
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.
Reliability Management SLO SLI ### Dashboard panels Each SLO dashboard contains the following information:
Reliability Management SLO SLI
A General information, including the SLO name/description and SLI information:
  • Signal Type: Latency, Error, Availability, Throughput, Other
  • Evaluation Type: Windows-based, Request-based
B Panels showing:
  • Current SLI: Calculated currently tracked SLI using the configured SLI, SLO, and queries
  • Target: Configured SLO target
  • Error Budget Remaining (relative and absolute): The calculated remaining budget from the configured maximum. If this value is negative, that means you've gone over your error budget limit. For example, a value of 0% (-2h) means 2 hours more downtime than what was allowed.
  • Compliance: The configured compliance as Rolling or Calendar and selected window
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.
### Setting SLO data granularity #### Time ranges To modify the time range, select and drag across dates to zoom in further. This can be useful if you want to zoom in for granular details, especially for charts with larger compliance periods. #### Compliance period You can also filter by compliance period to view your past activity and plan ahead.
Reliability Management SLO SLI #### 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**.
[**Classic UI**](/docs/get-started/sumo-logic-ui-classic). In the main Sumo Logic menu, select **Manage Data > Monitoring > SLOs**. 1. Double-click on any SLO line item. 1. Hover over the panel > Click the kebab icon > **Open in Log Search**.
Open in log search :::tip Once opened in **Log Search**, you can click **Add to Dashboard** to add SLO dashboard panels to your own custom dashboards.
Add to dashboard ::: ## 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.
Percent error remaining 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 = "{}") ``` SLO tags query