Skip to content

dynatrace-oss/dtctl

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

366 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

dtctl

Release Build Status Go Report Card License Go Version

Your Dynatrace platform, one command away.

dtctl is a CLI for the Dynatrace platform. Manage workflows, dashboards, queries, and more from your terminal or let AI agents do it for you. Its predictable verb-noun syntax (inspired by kubectl) makes it easy for both humans and AI agents to operate.

dtctl get workflows                           # List all workflows
dtctl query "fetch logs | limit 10"           # Run DQL queries
dtctl apply -f workflow.yaml --set env=prod   # Declarative configuration
dtctl get dashboards -o json                  # Structured output for automation
dtctl exec copilot nl2dql "error logs from last hour"

dtctl dashboard workflow demo

Early Development: This project is in active development. If you encounter any bugs or issues, please file a GitHub issue. Contributions and feedback are welcome!

Documentation · Installation · Quick Start · Command Reference


Install

# Homebrew (macOS/Linux)
brew install dynatrace-oss/tap/dtctl
# Shell script (macOS/Linux)
curl -fsSL https://raw.githubusercontent.com/dynatrace-oss/dtctl/main/install.sh | sh
# PowerShell (Windows)
irm https://raw.githubusercontent.com/dynatrace-oss/dtctl/main/install.ps1 | iex

Binary downloads, building from source, shell completion setup, and more in the Installation Guide.

Authenticate

# OAuth login (recommended, no token management needed)
dtctl auth login --context my-env --environment "https://abc12345.apps.dynatrace.com"

# Verify everything works
dtctl doctor

Token-based authentication and multi-environment configuration are covered in the Quick Start.

Why dtctl?

  • Familiar CLI conventions: get, describe, edit, apply, delete. If you (or your AI) know kubectl, you already know dtctl.
  • Built for AI agents: Structured output (--agent), machine-readable command catalog (dtctl commands), and a bundled Agent Skill that teaches AI assistants how to operate Dynatrace
  • Multi-environment: Switch between dev/staging/prod with a single command; safety levels prevent accidental changes
  • Watch mode: Real-time monitoring with --watch for all resources
  • DQL passthrough: Execute queries directly, with template variables and file-based input
  • NO_COLOR support: Respects NO_COLOR, FORCE_COLOR=1, and auto-detects TTY

Supported Resources

Resource Operations
Workflows get, describe, create, edit, delete, apply, execute, logs, history, restore, diff, watch
Dashboards & Notebooks get, describe, create, edit, delete, apply, share, history, restore, diff, watch
Documents & Trash get, describe, create, edit, delete, share, history, restore
DQL Queries execute, verify, template variables, live mode, filter segments, wait conditions
SLOs get, describe, create, edit, delete, apply, evaluate, watch
Settings get schemas, get/create/update/delete objects
Buckets get, describe, create, delete, apply, watch
Segments get, describe, create, edit, delete, apply, watch
Lookup Tables get, describe, create, delete, apply (CSV auto-detection)
Anomaly Detectors get, describe, create, edit, delete, apply
Extensions 2.0 get, describe, apply monitoring configs
App Functions & Intents get, describe, execute, find, open (deep linking)
Davis AI analyzers, CoPilot chat, NL-to-DQL, document search
Cloud Integrations Azure & GCP connections and monitoring (get, describe, create, delete, apply, update)
EdgeConnect get, describe, create, delete
Notifications get, describe, delete, watch
Users & Groups get, describe
Live Debugger breakpoints, workspace filters, snapshot decoding

See the Command Reference for the full list of verbs, flags, resource types, and aliases.

AI Agent Skills

dtctl ships with an Agent Skill that teaches AI coding assistants how to use dtctl. Agents can also bootstrap at runtime with dtctl commands --brief -o json.

# Install via skills.sh
npx skills add dynatrace-oss/dtctl

# Or install with dtctl itself
dtctl skills install              # Auto-detects your AI agent
dtctl skills install --for claude # Or specify explicitly
dtctl skills install --global     # User-wide installation

# Or copy manually
cp -r skills/dtctl ~/.agents/skills/   # Cross-client (any agent)

Compatible with GitHub Copilot, Claude Code, Cursor, Kiro, Junie, OpenCode, OpenClaw, and other Agent Skills-compatible tools. See the AI Agent Mode docs for details on the structured JSON envelope and agent auto-detection.

Dynatrace domain skills

For deeper Dynatrace domain knowledge (DQL syntax, observability patterns, dashboards, logs, Kubernetes, and more) install the skills from Dynatrace/dynatrace-for-ai:

npx skills add dynatrace/dynatrace-for-ai

These skills provide the domain context (e.g., how to write DQL queries, which metrics to use for service health, how to navigate distributed traces) while dtctl provides the operational tool to act on it. Together they give AI agents everything they need to work with Dynatrace effectively.

Documentation

Full documentation is available at dynatrace-oss.github.io/dtctl:

Resource-specific guides: DQL Queries · Workflows · Dashboards · SLOs · Settings · Extensions · Davis AI · and more...

Contributing

See CONTRIBUTING.md for guidelines.

License

Apache License 2.0. See LICENSE.

About

CLI for managing Dynatrace platform resources - built for humans and AI agents alike

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages