SLOs
Service Level Objectives (SLOs) define reliability targets for your services. dtctl lets you list, create, evaluate, and manage SLOs directly from the command line.
Listing SLOs
# List all SLOs
dtctl get slos
# Filter by name
dtctl get slos --filter 'name~production'
# Wide output with target, warning, and current status
dtctl get slos -o wide
# JSON or YAML for scripting
dtctl get slos -o json
Describing an SLO
Get full details for a specific SLO, including its current status, error budget, and evaluation configuration:
dtctl describe slo slo-123
Templates
Dynatrace provides built-in SLO templates for common use cases. Use them as a starting point:
# List available SLO templates
dtctl get slo-templates
# Create an SLO from a template (interactive — prompts for required fields)
dtctl create slo --from-template
Creating and Applying SLOs
Define SLOs in YAML and create or update them:
# Create (fails if the SLO already exists)
dtctl create slo -f slo.yaml
# Apply (creates if new, updates if existing — idempotent)
dtctl apply -f slo.yaml
Example SLO YAML
name: Checkout Availability
description: 99.9% availability target for the checkout service
enabled: true
evaluationType: AGGREGATE
target: 99.9
warning: 99.95
filter: "type(SERVICE),entityName(checkout-service)"
metricExpression: "(100)*(builtin:service.errors.server.successCount:splitBy())/(builtin:service.requestCount.server:splitBy())"
timeframe: "-1w"
| Field | Description |
|---|---|
evaluationType |
AGGREGATE (single value over the timeframe) or PER_INTERVAL (evaluated per interval) |
target |
The SLO target percentage (e.g., 99.9) |
warning |
Warning threshold — alerts before the target is breached |
filter |
Entity selector to scope the SLO |
metricExpression |
Metric expression that computes the SLO value |
timeframe |
Evaluation window (e.g., "-1w", "-30d") |
Evaluating an SLO
Trigger an on-demand evaluation to check the current status and remaining error budget:
dtctl exec slo slo-123
This returns the current SLO value, error budget remaining, and evaluation status:
Name: Checkout Availability
Status: SUCCESS
SLO Value: 99.94%
Target: 99.90%
Warning: 99.95%
Error Budget: 0.04% remaining
Timeframe: last 7 days
Watch Mode
Monitor SLOs in real time:
dtctl get slos --watch
Press Ctrl+C to stop watching.
Deleting an SLO
dtctl delete slo slo-123
dtctl prompts for confirmation in interactive mode. Use --plain to skip the prompt in scripts and CI pipelines.