The budgeting method to use when computing the rollup data.
Values:occurrencestimeslices
descriptionstring
A description for the SLO.
groupByuniononeOf
optional group by field or fields to use to generate an SLO per distinct value
One of:string[]orstring
indicatoruniononeOf
One of:
Defines properties for a custom query indicator type
paramsobjectrequired
An object containing the indicator parameters.
dataViewIdstring
The kibana data view id to use, primarily used to include data view runtime mappings. Make sure to save SLO again if you add/update run time fields to the data view and if those fields are being used in slo queries.
Defines properties for the APM availability indicator type
paramsobjectrequired
An object containing the indicator parameters.
environmentstringrequired
The APM service environment or "*"
filterstring
KQL query used for filtering the data
indexstringrequired
The index used by APM metrics
servicestringrequired
The APM service name
transactionNamestringrequired
The APM transaction name or "*"
transactionTypestringrequired
The APM transaction type or "*"
typestringrequired
The type of indicator.
Defines properties for the APM latency indicator type
paramsobjectrequired
An object containing the indicator parameters.
environmentstringrequired
The APM service environment or "*"
filterstring
KQL query used for filtering the data
indexstringrequired
The index used by APM metrics
servicestringrequired
The APM service name
thresholdnumberrequired
The latency threshold in milliseconds
transactionNamestringrequired
The APM transaction name or "*"
transactionTypestringrequired
The APM transaction type or "*"
typestringrequired
The type of indicator.
Defines properties for a custom metric indicator type
paramsobjectrequired
An object containing the indicator parameters.
dataViewIdstring
The kibana data view id to use, primarily used to include data view runtime mappings. Make sure to save SLO again if you add/update run time fields to the data view and if those fields are being used in slo queries.
filterstring
the KQL query to filter the documents with.
goodobjectrequired
An object defining the "good" metrics and equation
equationstringrequired
The equation to calculate the "good" metric.
metricsobject[]required
List of metrics with their name, aggregation type, and field.
aggregationenumrequired
The aggregation type of the metric. Only valid option is "sum"
Values:sum
fieldstringrequired
The field of the metric.
filterstring
The filter to apply to the metric.
namestring · pattern: ^[A-Z]$required
The name of the metric. Only valid options are A-Z
indexstringrequired
The index or index pattern to use
timestampFieldstringrequired
The timestamp field used in the source indice.
totalobjectrequired
An object defining the "total" metrics and equation
equationstringrequired
The equation to calculate the "total" metric.
metricsobject[]required
List of metrics with their name, aggregation type, and field.
aggregationenumrequired
The aggregation type of the metric. Only valid option is "sum"
Values:sum
fieldstringrequired
The field of the metric.
filterstring
The filter to apply to the metric.
namestring · pattern: ^[A-Z]$required
The name of the metric. Only valid options are A-Z
typestringrequired
The type of indicator.
Defines properties for a histogram indicator type
paramsobjectrequired
An object containing the indicator parameters.
dataViewIdstring
The kibana data view id to use, primarily used to include data view runtime mappings. Make sure to save SLO again if you add/update run time fields to the data view and if those fields are being used in slo queries.
filterstring
the KQL query to filter the documents with.
goodobjectrequired
An object defining the "good" events
aggregationenumrequired
The type of aggregation to use.
Values:value_countrange
fieldstringrequired
The field use to aggregate the good events.
filterstring
The filter for good events.
fromnumber
The starting value of the range. Only required for "range" aggregations.
tonumber
The ending value of the range. Only required for "range" aggregations.
indexstringrequired
The index or index pattern to use
timestampFieldstringrequired
The timestamp field used in the source indice.
totalobjectrequired
An object defining the "total" events
aggregationenumrequired
The type of aggregation to use.
Values:value_countrange
fieldstringrequired
The field use to aggregate the good events.
filterstring
The filter for total events.
fromnumber
The starting value of the range. Only required for "range" aggregations.
tonumber
The ending value of the range. Only required for "range" aggregations.
typestringrequired
The type of indicator.
Defines properties for a timeslice metric indicator type
paramsobjectrequired
An object containing the indicator parameters.
dataViewIdstring
The kibana data view id to use, primarily used to include data view runtime mappings. Make sure to save SLO again if you add/update run time fields to the data view and if those fields are being used in slo queries.
filterstring
the KQL query to filter the documents with.
indexstringrequired
The index or index pattern to use
metricobjectrequired
An object defining the metrics, equation, and threshold to determine if it's a good slice or not
comparatorenumrequired
The comparator to use to compare the equation to the threshold.
Values:GTGTELTLTE
equationstringrequired
The equation to calculate the metric.
metricsunionanyOf[]required
List of metrics with their name, aggregation type, and field.
The name of the metric. Only valid options are A-Z
aggregationenumrequired
The aggregation type of the metric. Only valid option is "percentile"
Values:percentile
fieldstringrequired
The field of the metric.
filterstring
The filter to apply to the metric.
namestring · pattern: ^[A-Z]$required
The name of the metric. Only valid options are A-Z
percentilenumberrequired
The percentile value.
aggregationenumrequired
The aggregation type of the metric. Only valid option is "doc_count"
Values:doc_count
filterstring
The filter to apply to the metric.
namestring · pattern: ^[A-Z]$required
The name of the metric. Only valid options are A-Z
thresholdnumberrequired
The threshold used to determine if the metric is a good slice or not.
timestampFieldstringrequired
The timestamp field used in the source indice.
typestringrequired
The type of indicator.
namestring
A name for the SLO.
objectiveobject
Defines properties for the SLO objective
targetnumber · > 0 · < 100required
the target objective between 0 and 1 excluded
timesliceTargetnumber · min: 0 · max: 100
the target objective for each slice when using a timeslices budgeting method
timesliceWindowstring
the duration of each slice when using a timeslices budgeting method, as {duraton}{unit}
settingsobject
Defines properties for SLO settings.
frequencystring · default: 1m
The interval between checks for changes in the source data. The minimum value is 1m and the maximum is 59m. The default value is 1 minute.
preventInitialBackfillboolean · default: false
Start aggregating data from the time the SLO is created, instead of backfilling data from the beginning of the time window.
syncDelaystring · default: 1m
The time delay in minutes between the current time and the latest source data time. Increasing the value will delay any alerting. The default value is 1 minute. The minimum value is 1m and the maximum is 359m. It should always be greater then source index refresh interval.
syncFieldstring
The date field that is used to identify new documents in the source. It is strongly recommended to use a field that contains the ingest timestamp. If you use a different field, you might need to set the delay such that it accounts for data transmission delays. When unspecified, we use the indicator timestamp field.
tagsstring[]
List of tags
timeWindowobject
Defines properties for the SLO time window
durationstringrequired
the duration formatted as {duration}{unit}. Accepted values for rolling: 7d, 30d, 90d. Accepted values for calendar aligned: 1w (weekly) or 1M (monthly)
typeenumrequired
Indicates weither the time window is a rolling or a calendar aligned time window.
The budgeting method to use when computing the rollup data.
Values:occurrencestimeslices
createdAtstringrequired
The creation date
descriptionstringrequired
The description of the SLO.
enabledbooleanrequired
Indicate if the SLO is enabled
groupByuniononeOfrequired
optional group by field or fields to use to generate an SLO per distinct value
One of:string[]orstring
idstringrequired
The identifier of the SLO.
indicatoruniononeOfrequired
One of:(determined by type)
type: sli.kql.custom
Defines properties for a custom query indicator type
typestringrequired
The type of indicator.
paramsobjectrequired
An object containing the indicator parameters.
dataViewIdstring
The kibana data view id to use, primarily used to include data view runtime mappings. Make sure to save SLO again if you add/update run time fields to the data view and if those fields are being used in slo queries.
Defines properties for the APM availability indicator type
typestringrequired
The type of indicator.
paramsobjectrequired
An object containing the indicator parameters.
environmentstringrequired
The APM service environment or "*"
filterstring
KQL query used for filtering the data
indexstringrequired
The index used by APM metrics
servicestringrequired
The APM service name
transactionNamestringrequired
The APM transaction name or "*"
transactionTypestringrequired
The APM transaction type or "*"
type: sli.apm.transactionDuration
Defines properties for the APM latency indicator type
typestringrequired
The type of indicator.
paramsobjectrequired
An object containing the indicator parameters.
environmentstringrequired
The APM service environment or "*"
filterstring
KQL query used for filtering the data
indexstringrequired
The index used by APM metrics
servicestringrequired
The APM service name
thresholdnumberrequired
The latency threshold in milliseconds
transactionNamestringrequired
The APM transaction name or "*"
transactionTypestringrequired
The APM transaction type or "*"
type: sli.metric.custom
Defines properties for a custom metric indicator type
typestringrequired
The type of indicator.
paramsobjectrequired
An object containing the indicator parameters.
dataViewIdstring
The kibana data view id to use, primarily used to include data view runtime mappings. Make sure to save SLO again if you add/update run time fields to the data view and if those fields are being used in slo queries.
filterstring
the KQL query to filter the documents with.
goodobjectrequired
An object defining the "good" metrics and equation
equationstringrequired
The equation to calculate the "good" metric.
metricsobject[]required
List of metrics with their name, aggregation type, and field.
aggregationenumrequired
The aggregation type of the metric. Only valid option is "sum"
Values:sum
fieldstringrequired
The field of the metric.
filterstring
The filter to apply to the metric.
namestring · pattern: ^[A-Z]$required
The name of the metric. Only valid options are A-Z
indexstringrequired
The index or index pattern to use
timestampFieldstringrequired
The timestamp field used in the source indice.
totalobjectrequired
An object defining the "total" metrics and equation
equationstringrequired
The equation to calculate the "total" metric.
metricsobject[]required
List of metrics with their name, aggregation type, and field.
aggregationenumrequired
The aggregation type of the metric. Only valid option is "sum"
Values:sum
fieldstringrequired
The field of the metric.
filterstring
The filter to apply to the metric.
namestring · pattern: ^[A-Z]$required
The name of the metric. Only valid options are A-Z
type: sli.histogram.custom
Defines properties for a histogram indicator type
typestringrequired
The type of indicator.
paramsobjectrequired
An object containing the indicator parameters.
dataViewIdstring
The kibana data view id to use, primarily used to include data view runtime mappings. Make sure to save SLO again if you add/update run time fields to the data view and if those fields are being used in slo queries.
filterstring
the KQL query to filter the documents with.
goodobjectrequired
An object defining the "good" events
aggregationenumrequired
The type of aggregation to use.
Values:value_countrange
fieldstringrequired
The field use to aggregate the good events.
filterstring
The filter for good events.
fromnumber
The starting value of the range. Only required for "range" aggregations.
tonumber
The ending value of the range. Only required for "range" aggregations.
indexstringrequired
The index or index pattern to use
timestampFieldstringrequired
The timestamp field used in the source indice.
totalobjectrequired
An object defining the "total" events
aggregationenumrequired
The type of aggregation to use.
Values:value_countrange
fieldstringrequired
The field use to aggregate the good events.
filterstring
The filter for total events.
fromnumber
The starting value of the range. Only required for "range" aggregations.
tonumber
The ending value of the range. Only required for "range" aggregations.
type: sli.metric.timeslice
Defines properties for a timeslice metric indicator type
typestringrequired
The type of indicator.
paramsobjectrequired
An object containing the indicator parameters.
dataViewIdstring
The kibana data view id to use, primarily used to include data view runtime mappings. Make sure to save SLO again if you add/update run time fields to the data view and if those fields are being used in slo queries.
filterstring
the KQL query to filter the documents with.
indexstringrequired
The index or index pattern to use
metricobjectrequired
An object defining the metrics, equation, and threshold to determine if it's a good slice or not
comparatorenumrequired
The comparator to use to compare the equation to the threshold.
Values:GTGTELTLTE
equationstringrequired
The equation to calculate the metric.
metricsunionanyOf[]required
List of metrics with their name, aggregation type, and field.
The threshold used to determine if the metric is a good slice or not.
timestampFieldstringrequired
The timestamp field used in the source indice.
namestringrequired
The name of the SLO.
objectiveobjectrequired
Defines properties for the SLO objective
targetnumber · > 0 · < 100required
the target objective between 0 and 1 excluded
timesliceTargetnumber · min: 0 · max: 100
the target objective for each slice when using a timeslices budgeting method
timesliceWindowstring
the duration of each slice when using a timeslices budgeting method, as {duraton}{unit}
revisionnumberrequired
The SLO revision
settingsobjectrequired
Defines properties for SLO settings.
frequencystring · default: 1m
The interval between checks for changes in the source data. The minimum value is 1m and the maximum is 59m. The default value is 1 minute.
preventInitialBackfillboolean · default: false
Start aggregating data from the time the SLO is created, instead of backfilling data from the beginning of the time window.
syncDelaystring · default: 1m
The time delay in minutes between the current time and the latest source data time. Increasing the value will delay any alerting. The default value is 1 minute. The minimum value is 1m and the maximum is 359m. It should always be greater then source index refresh interval.
syncFieldstring
The date field that is used to identify new documents in the source. It is strongly recommended to use a field that contains the ingest timestamp. If you use a different field, you might need to set the delay such that it accounts for data transmission delays. When unspecified, we use the indicator timestamp field.
tagsstring[]required
List of tags
timeWindowobjectrequired
Defines properties for the SLO time window
durationstringrequired
the duration formatted as {duration}{unit}. Accepted values for rolling: 7d, 30d, 90d. Accepted values for calendar aligned: 1w (weekly) or 1M (monthly)
typeenumrequired
Indicates weither the time window is a rolling or a calendar aligned time window.