{
"slo": {
"name": "<string>",
"annotations": {},
"collection_ref": {
"slug": "<string>",
"type": "SIMPLE"
},
"created_at": "2023-11-07T05:31:56Z",
"definition": {
"burn_rate_alerting_config": [
{
"window": "<string>",
"budget": "50.0",
"labels": {},
"severity": "<string>"
}
],
"enable_burn_rate_alerting": true,
"objective": "99.9995",
"time_window": "4w"
},
"description": "<string>",
"labels": {},
"notification_policy_slug": "alerting_notification_policy",
"signal_grouping": {
"label_names": [
"<string>"
],
"signal_per_series": true
},
"sli": {
"additional_promql_filters": "cluster!~\"dev\"",
"custom_dimension_labels": [
"<string>"
],
"custom_indicator": {
"total_query_template": "<string>",
"bad_query_template": "<string>",
"good_query_template": "<string>"
},
"custom_timeslice_indicator": {
"condition": {
"op": "GEQ",
"value": 123
},
"query_template": "<string>",
"timeslice_size": "TIMESLICE_SIZE_ONE_MINUTE"
}
},
"slug": "<string>",
"updated_at": "2023-11-07T05:31:56Z"
}
}{
"slo": {
"name": "<string>",
"annotations": {},
"collection_ref": {
"slug": "<string>",
"type": "SIMPLE"
},
"created_at": "2023-11-07T05:31:56Z",
"definition": {
"burn_rate_alerting_config": [
{
"window": "<string>",
"budget": "50.0",
"labels": {},
"severity": "<string>"
}
],
"enable_burn_rate_alerting": true,
"objective": "99.9995",
"time_window": "4w"
},
"description": "<string>",
"labels": {},
"notification_policy_slug": "alerting_notification_policy",
"signal_grouping": {
"label_names": [
"<string>"
],
"signal_per_series": true
},
"sli": {
"additional_promql_filters": "cluster!~\"dev\"",
"custom_dimension_labels": [
"<string>"
],
"custom_indicator": {
"total_query_template": "<string>",
"bad_query_template": "<string>",
"good_query_template": "<string>"
},
"custom_timeslice_indicator": {
"condition": {
"op": "GEQ",
"value": 123
},
"query_template": "<string>",
"timeslice_size": "TIMESLICE_SIZE_ONE_MINUTE"
}
},
"slug": "<string>",
"updated_at": "2023-11-07T05:31:56Z"
}
}Chronosphere API token
If true, the SLO will be created if it does not already exist, identified by slug. If false, an error will be returned if the SLO does not already exist.
If true, validates the specified configuration without creating or updating the SLO. If the specified configuration is valid, the endpoint returns a partial response without the SLO. If the specified configuration is invalid, the endpoint returns an error.
The SLO to update.
Show child attributes
The name of the SLO. You can modify this value after the SLO is created.
Defines the core criteria the SLO measures.
Show child attributes
Provides the burn rate alert configuration for the SLO. If not provided, the
default burn rates are used. The configuration is only valid if the
enable_burn_rate_alerting flag is set to true.
Show child attributes
Time window for the burn rate calculation.
The amount of allowed errors during a given time window, expressed as a
percentage of the error budget. Must be a value between 0.0 and 100.0,
exclusive.
"50.0"
Labels to attach when this burn rate triggers. If you add these labels to
signal_groupings, you can route them in the notification policy, and can
route different burn rates to other notifiers.
Show child attributes
Defines the alert severity level, which can only be one of critical or
warn.
If true, enables burn rate alerting.
The SLO target percentage, which represents the availability of the SLO.
"99.9995"
Specifies the duration over which the SLO is evaluated. The SLO is considered
breached if the error budget is depleted in this window. Default: 4w (4
weeks).
Show child attributes
Time window that defines the evaluation period as a string, in the format
like "28d" (28 days) or "24h" (24 hours).
"\"30d\""
"4w"
Optional. Slug of the notification policy to use for the SLO. If you don't specify a value, then the collection or service this SLO belongs to must have a notification policy. Required if alerting is enabled for this SLO.
"alerting_notification_policy"
SignalGrouping defines how the set of series from the query are split into signals.
Show child attributes
Set of label names used to split series into signals. Each unique combination
of labels result in its own signal. For example, if label_names is
["service", "code"], then all series including labels
{service="foo",code="404"} will be grouped together in the same signal.
Cannot be used if graphite_query is set.
If set to true, each series will have its own signal. Cannot be used with
label_names.
Show child attributes
Specifies additional PromQL filters, which are made available to the SLO queries. Use these filters to reduce the number of metrics used by the SLO.
Show child attributes
Prometheus label name for the matcher
The type of match to be performed
MatchEqual, MatchRegexp, MatchNotEqual, MatchNotRegexp Prometheus label value for the matcher
"cluster!~\"dev\""
Configures additional labels to export from the underlying queries. This feature
provides a logical budget to group unique combinations of dimensions. For
example, if you want to track a budget per endpoint, add the endpoint label as a
dimension. These dimensions are provided on the top-level SLI so that SLOs will
receive them in the .GroupBy variable.
Indicates an error ratio SLI, which measures a count of events matching some
condition against a total number of events. For example, measuring a ratio of
successful requests against the total number of requests. Use custom_indicator
to track error ratio SLOs. You can set only one of custom_indicator or
custom_timeslice_indicator.
Show child attributes
A PromQL query that measures the total number of events for this SLI. This is required for all error ratio SLOs.
A PromQL query that measures the number of "bad" events for this SLI.
Either this or good_query_template must be set.
A PromQL query that measures the number of "good" events for this SLI.
Either this or bad_query_template must be set.
Indicates a TimeSlice SLI, which measures a count of time slices that meet a
defined condition, compared against the total number of time slices in a
specific time period. Use custom_timeslice_indicator to track TimeSlice SLOs.
You can set only one of custom_indicator or custom_timeslice_indicator.
Show child attributes
The condition to use for the SLI.
A PromQL query template for the time slice SLI.
The size of the time slice to use for the SLI.
TIMESLICE_SIZE_ONE_MINUTE, TIMESLICE_SIZE_FIVE_MINUTES The unique identifier of the SLO. If a slug isn't provided, one is generated based on the name field. You can't modify this field after the SLO is created.
A successful response containing the updated SLO.
Show child attributes
The name of the SLO. You can modify this value after the SLO is created.
Timestamp of when the SLO was created. Cannot be set by clients.
Defines the core criteria the SLO measures.
Show child attributes
Provides the burn rate alert configuration for the SLO. If not provided, the
default burn rates are used. The configuration is only valid if the
enable_burn_rate_alerting flag is set to true.
Show child attributes
Time window for the burn rate calculation.
The amount of allowed errors during a given time window, expressed as a
percentage of the error budget. Must be a value between 0.0 and 100.0,
exclusive.
"50.0"
Labels to attach when this burn rate triggers. If you add these labels to
signal_groupings, you can route them in the notification policy, and can
route different burn rates to other notifiers.
Show child attributes
Defines the alert severity level, which can only be one of critical or
warn.
If true, enables burn rate alerting.
The SLO target percentage, which represents the availability of the SLO.
"99.9995"
Specifies the duration over which the SLO is evaluated. The SLO is considered
breached if the error budget is depleted in this window. Default: 4w (4
weeks).
Show child attributes
Time window that defines the evaluation period as a string, in the format
like "28d" (28 days) or "24h" (24 hours).
"\"30d\""
"4w"
Optional. Slug of the notification policy to use for the SLO. If you don't specify a value, then the collection or service this SLO belongs to must have a notification policy. Required if alerting is enabled for this SLO.
"alerting_notification_policy"
SignalGrouping defines how the set of series from the query are split into signals.
Show child attributes
Set of label names used to split series into signals. Each unique combination
of labels result in its own signal. For example, if label_names is
["service", "code"], then all series including labels
{service="foo",code="404"} will be grouped together in the same signal.
Cannot be used if graphite_query is set.
If set to true, each series will have its own signal. Cannot be used with
label_names.
Show child attributes
Specifies additional PromQL filters, which are made available to the SLO queries. Use these filters to reduce the number of metrics used by the SLO.
Show child attributes
Prometheus label name for the matcher
The type of match to be performed
MatchEqual, MatchRegexp, MatchNotEqual, MatchNotRegexp Prometheus label value for the matcher
"cluster!~\"dev\""
Configures additional labels to export from the underlying queries. This feature
provides a logical budget to group unique combinations of dimensions. For
example, if you want to track a budget per endpoint, add the endpoint label as a
dimension. These dimensions are provided on the top-level SLI so that SLOs will
receive them in the .GroupBy variable.
Indicates an error ratio SLI, which measures a count of events matching some
condition against a total number of events. For example, measuring a ratio of
successful requests against the total number of requests. Use custom_indicator
to track error ratio SLOs. You can set only one of custom_indicator or
custom_timeslice_indicator.
Show child attributes
A PromQL query that measures the total number of events for this SLI. This is required for all error ratio SLOs.
A PromQL query that measures the number of "bad" events for this SLI.
Either this or good_query_template must be set.
A PromQL query that measures the number of "good" events for this SLI.
Either this or bad_query_template must be set.
Indicates a TimeSlice SLI, which measures a count of time slices that meet a
defined condition, compared against the total number of time slices in a
specific time period. Use custom_timeslice_indicator to track TimeSlice SLOs.
You can set only one of custom_indicator or custom_timeslice_indicator.
Show child attributes
The condition to use for the SLI.
A PromQL query template for the time slice SLI.
The size of the time slice to use for the SLI.
TIMESLICE_SIZE_ONE_MINUTE, TIMESLICE_SIZE_FIVE_MINUTES The unique identifier of the SLO. If a slug isn't provided, one is generated based on the name field. You can't modify this field after the SLO is created.
Timestamp of when the SLO was last updated. Cannot be set by clients.