Agent-skills observability-manage-slos
install
source · Clone the upstream repo
git clone https://github.com/elastic/agent-skills
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/elastic/agent-skills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/observability/manage-slos" ~/.claude/skills/elastic-agent-skills-observability-manage-slos && rm -rf "$T"
manifest:
skills/observability/manage-slos/SKILL.mdsource content
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 | | Raw logs — good/total using KQL queries |
| Custom metric | | Metric fields — equations with aggregations |
| Timeslice metric | | Metric fields — per-slice threshold check |
| Histogram metric | | Histogram fields — range/value_count |
| APM latency | | APM — latency threshold |
| APM availability | | APM — success rate |
| Synthetics availability | | Synthetics monitors — uptime percentage |
Guidelines
is a decimal between 0 and 1 (for exampleobjective.target
for 99.5%).0.995- Timeslice metric indicators require
.budgetingMethod: "timeslices" - Updating an SLO resets the underlying transform — historical data is recomputed.
- The cluster needs nodes with both
andtransform
roles.ingest - Use
when an SLO is stuck or after index mapping changes.POST .../slos/{id}/_reset - 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
manually.groupBy - 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