
Skill
observability-manage-slos
manage SLOs in Elastic Observability
Description
Create and manage SLOs in Elastic Observability using the Kibana API. Use when defining SLIs, setting error budgets, or managing SLO lifecycle.
SKILL.md
Service-Level Objectives (SLOs)
Create and manage SLOs in Elastic Observability. SLOs track service performance against measurable targets using service-level indicators (SLIs) computed from Elasticsearch data.
Authentication
SLO operations go through the Kibana API. Authenticate with either an API key or basic auth:
# API key
curl -H "Authorization: ApiKey <base64-encoded-key>" -H "kbn-xsrf: true" <KIBANA_URL>/api/observability/slos
# Basic auth
curl -u "$KIBANA_USER:$KIBANA_PASSWORD" -H "kbn-xsrf: true" <KIBANA_URL>/api/observability/slos
For non-default spaces, prefix the path: /s/<space_id>/api/observability/slos.
Include kbn-xsrf: true on all POST, PUT, and DELETE requests.
SLI Types
| Type | API value | Use case |
|---|---|---|
| Custom KQL | sli.kql.custom | Raw logs — good/total using KQL queries |
| Custom metric | sli.metric.custom | Metric fields — equations with aggregations |
| Timeslice metric | sli.metric.timeslice | Metric fields — per-slice threshold check |
| Histogram metric | sli.histogram.custom | Histogram fields — range/value_count |
| APM latency | sli.apm.transactionDuration | APM — latency threshold |
| APM availability | sli.apm.transactionErrorRate | APM — success rate |
| Synthetics availability | sli.synthetics.availability | Synthetics monitors — uptime percentage |
Guidelines
objective.targetis a decimal between 0 and 1 (for example0.995for 99.5%).- Timeslice metric indicators require
budgetingMethod: "timeslices". - Updating an SLO resets the underlying transform — historical data is recomputed.
- The cluster needs nodes with both
transformandingestroles. - Use
POST .../slos/{id}/_resetwhen an SLO is stuck or after index mapping changes. - Group-by SLOs create one instance per unique value — avoid high-cardinality fields.
- Synthetics SLOs are auto-grouped by monitor and location; do not set
groupBymanually. - Burn rate alert rules are not auto-created using the API — set them up separately.
Additional references
For official documentation, refer to the following resources:
SLO documentation
- Service-level objectives (SLOs) — concepts, SLI types, budgeting methods, and dashboard panels.
- Create an SLO — step-by-step guide for creating SLOs in the Kibana UI.
- View and manage SLOs — searching, filtering, and managing existing SLOs.
Kibana SLO API
- Create an SLO — full request body schema with all SLI type payloads.
- Get an SLO | Update | Delete | Reset
- Enable | Disable | Get definitions
Troubleshooting and access
More skills from the agent-skills repository
View all 35 skillscloud-access-management
manage Elastic Cloud organization access
Jul 12CloudElasticOperationsPermissionscloud-create-project
create Elastic Cloud Serverless projects
Jul 12CloudDeploymentElasticsearchcloud-manage-project
manage Elastic Cloud Serverless projects
Jul 12CloudElasticsearchOperationscloud-network-security
manage Elastic Cloud network security
Jul 12CloudElasticsearchNetworkingSecuritycloud-setup
configure Elastic Cloud authentication
Jul 12AuthenticationCloudElasticsearchelasticsearch-audit
configure Elasticsearch security audit logs
Jul 12AuditElasticsearchLogsSecurity
More from Elastic
View publisheraccessing-benchmark-results
retrieve and analyze Rally benchmark results
rally
Jul 12AnalyticsData AnalysisElasticPerformancedeveloping-rally
develop and debug Rally source code
rally
Jul 12DebuggingElasticEngineeringLocal Developmentrunning-benchmarks
run Rally benchmarks against Elasticsearch
rally
Jul 12ElasticElasticsearchPerformanceTestingelasticsearch-authn
configure Elasticsearch authentication realms
agent-skills
Jul 12AuthenticationElasticElasticsearchSecurityelasticsearch-authz
manage Elasticsearch RBAC and security roles
agent-skills
Jul 12ElasticElasticsearchRBACSecurityelasticsearch-esql
query Elasticsearch data with ES|QL
agent-skills
Jul 12AnalyticsData AnalysisElasticsearchSQL