Create an SLO
https://{kibana_url}
- POST /s/{spaceId}/api/observability/slos
You must have all privileges for the SLOs feature in the Observability section of the Kibana feature privileges.
Path Parameters
-
spaceIdstringrequired -
An identifier for the space. If
/s/and the identifier are omitted from the path, the default space is used.
Request
-
budgetingMethodrequired -
The budgeting method to use when computing the rollup data.
-
Values:
occurrencestimeslices -
descriptionstringrequired -
A description for the SLO.
-
groupBy -
optional group by field or fields to use to generate an SLO per distinct value
-
idstring -
A optional and unique identifier for the SLO. Must be between 8 and 48 chars
-
indicatoroneOfrequired -
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.
-
goodrequired -
The KQL query used to define the good events.
-
indexstringrequired -
The index or index pattern to use
-
timestampFieldstringrequired -
The timestamp field used in the source indice.
-
totalrequired -
The KQL query used to define all events.
-
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 "*"
-
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 "*"
-
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
-
indexstringrequired -
The index or index pattern to use
-
timestampFieldstringrequired -
The timestamp field used in the source indice.
-
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
-
timestampFieldstringrequired -
The timestamp field used in the source indice.
-
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
-
comparatorrequired -
The comparator to use to compare the equation to the threshold.
-
Values:
GTGTELTLTE -
equationstringrequired -
The equation to calculate the metric.
-
metricsanyOfrequired -
List of metrics with their name, aggregation type, and field.
-
aggregationrequired -
The aggregation type of the metric.
-
Values:
sumavgminmaxstd_deviationlast_valuecardinality -
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
-
aggregationrequired -
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.
-
aggregationrequired -
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.
-
namestringrequired -
A name for the SLO.
-
objectiverequired -
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}
-
settings -
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.
-
preventCrossProjectSearchboolean · default: falsedeprecated -
Pin the L1 rollup transform to the local/origin project only, preventing flat-world (cross-linked-project) reads. Only applies on serverless. Default is false, meaning rollup transforms target all linked projects.
-
preventInitialBackfillboolean · default: false -
Start aggregating data from the time the SLO is created, instead of backfilling data from the beginning of the time window.
-
projectRoutingsstring · max: 8192nullable -
ES ProjectRouting expression controlling which linked projects the L1 rollup reads. When set (including null), overrides preventCrossProjectSearch. null and
_alias:_originmean origin only;_alias:*means all linked projects. Subset example_id:p1 AND _id:p2. -
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.
-
List of tags
-
timeWindowrequired -
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)
-
typerequired -
Indicates weither the time window is a rolling or a calendar aligned time window.
-
Values:
rollingcalendarAligned
Defines properties for a custom query indicator type
Defines properties for the APM availability indicator type
Defines properties for the APM latency indicator type
Defines properties for a custom metric indicator type
Defines properties for a histogram indicator type
Defines properties for a timeslice metric indicator type
Responses
Successful request
-
idstringrequired
Bad request
-
errorstringrequired -
messagestringrequired -
statusCodenumberrequired
Unauthorized response
-
errorstringrequired -
messagestringrequired -
statusCodenumberrequired
Forbidden response
-
errorstringrequired -
messagestringrequired -
statusCodenumberrequired
Conflict - The SLO id already exists
-
errorstringrequired -
messagestringrequired -
statusCodenumberrequired