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.