elastic/observability-manage-slos
> Create and manage SLOs in Elastic Observability using the Kibana API. Use when defining SLIs, setting error budgets, or managing SLO lifecycle.
npx skills add https://github.com/elastic/agent-skills --skill observability-manage-slos
Create and manage SLOs in Elastic Observability. SLOs track service performance against measurable targets using
service-level indicators (SLIs) computed from Elasticsearch data.
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.
| 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 |
objective.target is a decimal between 0 and 1 (for example 0.995 for 99.5%).budgetingMethod: "timeslices".transform and ingest roles.POST .../slos/{id}/_reset when an SLO is stuck or after index mapping changes.groupBy manually.For official documentation, refer to the following resources:
— concepts, SLI types, budgeting methods, and dashboard panels.
guide for creating SLOs in the Kibana UI.
searching, filtering, and managing existing SLOs.
with all SLI type payloads.
Update |
Delete |
Disable |
Take elastic/observability-manage-slos from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.