How to install observability-manage-slos
npx skills add https://github.com/elastic/agent-skills --skill observability-manage-slosClaude Code
Cursor
Windsurf
Cline
Full instructions (SKILL.md)
Source of truth, from elastic/agent-skills.
name: observability-manage-slos description: > Create and manage SLOs in Elastic Observability using the Kibana API. Use when defining SLIs, setting error budgets, or managing SLO lifecycle. metadata: author: elastic version: 0.2.0
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
Related skills
More from elastic/agent-skills and the wider catalog.
EL
elasticsearch-esql
elastic/agent-skills
>
2.1k installs
KI
kibana-dashboards
elastic/agent-skills
>
1.8k installs
SE
security-case-management
elastic/agent-skills
>
1.7k installs
OB
observability-logs-search
elastic/agent-skills
>
1.7k installs
EL
elasticsearch-authn
elastic/agent-skills
>
1.7k installs
EL
elasticsearch-onboarding
elastic/agent-skills
>
1.6k installs