Query Validation
When you create an SLO, the system automatically runs built-in validations. If a validation fails, an error message appears and you must fix the query before continuing. Once the queries are valid, the Preview section displays the correct values—Good events and Total events for Event-based SLOs, or Metric and Status for Time window-based SLOs.
| Validation type | Description | Troubleshooting | SLO type |
|---|---|---|---|
| Invalid query syntax | Query contains a syntax error that prevents it from running. | Check for typos, missing brackets, or invalid operators. Use autocomplete to correct issues. | Event-based, Time window-based |
| Good events exceed total events | Good events query returns more results than the total events query. | Make sure the good events query is a subset of the total events. Check for incorrect filters or overly broad logic. | Event-based |
| Excessive query cardinality | Query includes too many unique time series and exceeds system limits. | Add filters or reduce grouping dimensions. If needed, split the SLO into multiple smaller ones. | Event-based, Time window-based |
| Grouping mismatch – between queries | Good and total events queries use different grouping fields. | Ensure both queries use the same group_by dimensions. Compare fields side by side to align them. | Event-based |
| Grouping mismatch – within the same query | Mismatched groupings between subqueries within a single query. | Ensure all subqueries use the same group_by dimensions. | Event-based, Time window-based |
| Negative query values | The query produced a negative result, which is not allowed. | Adjust the query logic to ensure the output is always non-negative. | Event-based, Time window-based |
| Missing a required time-window function | This query is missing a required time-window function. | SLO queries must include a time-based operator (for example, increase(), rate(), sum_over_time()). Use increase() or rate() for counters, and sum_over_time() or avg_over_time() for gauges. | Event-based, Time window-based |
| Query is missing aggregation | The query does not include an aggregation function. | Add an aggregation function (for example, sum or avg). | Event-based, Time window-based |
| Recording rule detected | Metric is based on a recording rule. | To ensure reliable SLO results, add a 2m offset so that the data has time to fully update. | Event-based, Time window-based |
| E2M detected | The provided metric is based on an E2M. | To ensure reliable SLO results, add a 2m offset so that the data has time to fully update. | Event-based, Time window-based |
| Internal error | Failed to validate the metric. The SLO cannot be created due to an internal error. | Try again. If the issue persists, contact support. | Event-based, Time window-based |
| SLO group limitation | SLOs can include a maximum of 500 groups. If an SLO exceeds this limit, the system stops tracking it. | Reduce the number of group-by values or add filters to exclude unnecessary groups. | Event-based, Time window-based |
| SLO type is required | When creating an SLO via through a programmatic request, the sloType field is missing or does not match the SLI type. | Ensure the request includes the sloType field (request or window) and that it matches the configured SLI type. | Event-based, Time window-based |
Theme
Light