Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
dynatrace avatar

Dt Obs Predictive Analytics

  • 1.1k installs
  • 119 repo stars
  • Updated July 29, 2026
  • dynatrace/dynatrace-for-ai

dt-obs-predictive-analytics is a Dynatrace agent skill that forecasts resource saturation, detects metric anomalies, and runs predictive capacity analysis on infrastructure and services using DQL and Dynatrace analyzer t

About

dt-obs-predictive-analytics is an Apache-2.0 licensed skill from dynatrace-for-ai for predictive observability inside Dynatrace environments. It applies DQL queries and Dynatrace analyzer tools—including timeseries-forecast—for forecasting future metric values, detecting trend changes, and characterizing signal behavior across hosts, services, and infrastructure. The skill organizes work into disciplines such as forecast and prediction for capacity planning and proactive alerting, plus change detection when metrics shift unexpectedly. Operators reach for dt-obs-predictive-analytics when estimating cost from growth trends, planning headroom before saturation, or investigating anomalous production signals.

  • 4 analysis disciplines: Forecast and Prediction, Detecting Changes, Detecting Violations, Timeseries Characteristics
  • Uses timeseries-forecast tool for capacity planning and cost estimation
  • timeseries-novelty-detection identifies when a signal's character changed without preset limits
  • Distinguishes between 'did the metric change' vs 'is the metric currently wrong'
  • Supports DQL queries and Dynatrace analyzer tools for hosts, services, and infrastructure

Dt Obs Predictive Analytics by the numbers

  • 1,050 all-time installs (skills.sh)
  • +79 installs in the week ending Aug 4, 2026 (Skillselion tracking)
  • Ranked #311 of 1,039 Cloud & Infrastructure skills by installs in the Skillselion catalog
  • Data as of Aug 5, 2026 (Skillselion catalog sync)
npx skills add https://github.com/dynatrace/dynatrace-for-ai --skill dt-obs-predictive-analytics

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs1.1k
repo stars119
Last updatedJuly 29, 2026
Repositorydynatrace/dynatrace-for-ai

How do you forecast infrastructure capacity in Dynatrace?

Forecast resource saturation, detect metric anomalies, and run predictive capacity analysis on infrastructure and services using Dynatrace.

Who is it for?

SRE and platform engineers using Dynatrace who need DQL-driven forecasting and proactive capacity planning on production metrics.

Skip if: Teams without Dynatrace access or developers seeking application unit-test coverage instead of observability analytics.

When should I use this skill?

The user asks to forecast Dynatrace metrics, detect anomalies, plan capacity saturation, or analyze infrastructure trends.

What you get

Time-series forecasts, saturation plans, trend reports, and anomaly characterizations for hosts and services.

  • Capacity forecast reports
  • Anomaly detection findings
  • Trend analysis summaries

Files

SKILL.mdMarkdownGitHub ↗

Predictive Analytics Skill

Forecast resource saturation, detect trends, analyze anomalies, and characterize signal behavior using DQL and Dynatrace analyzer tools.

Analysis Disciplines

#DisciplineUse when …
1Forecast and PredictionPredicting future metric values for capacity planning, cost estimation, or proactive alerting
2Detecting ChangesA metric shifted — find when the character of the signal changed, regardless of whether it crossed a limit
3Detecting ViolationsA metric is currently out of bounds — find entities that exceed or fall below an acceptable range
4Timeseries CharacteristicsCharacterizing a signal's seasonality, noise level, and trend before further analysis

---

Choosing the Right Detection Tool

The single most important decision: are you asking "did this metric change?" or "is this metric currently wrong?"

QuestionToolWhy
"Did this metric change in the last N hours?"timeseries-novelty-detectionDetects when the signal's character changed (spike, step, trend onset, variability shift) without requiring a known acceptable limit
"Which services spiked or dropped recently?"timeseries-novelty-detection with SPIKE / CHANGE_IN_VALUESFinds the specific entities and timestamps where change occurred; returns empty for stable signals
"When did CPU start trending up?"timeseries-novelty-detection with TREND_IN_VALUESPinpoints the onset of a directional shift
"Which hosts are currently above 90% CPU?"static-threshold-analyzerKnown fixed limit — fire alerts when exceeded
"Which services are currently above their usual load?"adaptive-anomaly-detectorLearns the normal distribution from the data and flags sustained threshold violations
"Which services are high right now vs. their weekly pattern?"seasonal-baseline-anomaly-detectorAccounts for time-of-day/day-of-week patterns before deciding what is anomalous

Decision rule in plain language

  • Use `timeseries-novelty-detection` when the question contains "changed", "shifted", "spiked", "dropped", "started", "when did", or "did anything unusual happen". The tool answers whether a change occurred and when. It requires no predefined threshold.
  • Use an anomaly detector (adaptive, seasonal, or static) when the question is about ongoing or current state relative to an expected range: "which are highest", "who is violating", "what is above X". These tools count violation samples inside a sliding window — they confirm how long something has been bad, not whether the signal changed.
Pitfall: Running adaptive-anomaly-detector on a broad fleet to answer "which service changed load?" typically flags every service that has any variation, producing low-signal results. Use timeseries-novelty-detection first to identify entities where the load character genuinely shifted, then use the anomaly detectors to measure the severity of those specific signals.

When to Use This Skill

  • Capacity: "Which hosts will hit 90% CPU in the next 30 days?"
  • Forecast: "Forecast service request volume for the next 7 days"
  • Trend: "Is memory usage growing across our Kubernetes nodes?"
  • Anomaly: "Which services have unusual error rates right now?"
  • Baseline: "How does today's traffic compare to last week?"
  • Signal profile: "Is this metric seasonal or trending before I set up alerting?"

---

Important Constraints

Dynatrace Forecast Analyzer supports univariate forecasting only — predicting one metric based on its own historical values. Multivariate forecasting (using multiple metrics as inputs) requires external tools (Python, R, Azure AutoML).

Tooling Rule: Run analyses using Dynatrace tools: timeseries-forecast, adaptive-anomaly-detector, seasonal-baseline-anomaly-detector, static-threshold-analyzer, and timeseries-novelty-detection. Use execute-dql for DQL queries.

Result Analysis Rule: Always analyse and summarise results directly from the raw tool output. Derive all numbers, trends, and conclusions inline.

---

Result Presentation Format

Always present forecast results as a structured table:

ColumnContent
Rank🥇 🥈 🥉 ordered by urgency or magnitude
Signal / EntityMetric name and entity or dimension
Last ActualMost recent non-null value from the historical series
ForecastPoint forecast at the end of the horizon
RangeLower – Upper confidence band at the same horizon point
Trend% change from Last Actual to Forecast: 🔴 >+20% / 🟠 +5–20% / 🟢 ±5% stable / 🔵 −5–20% declining / ⚫ <−20% sharp drop
Action✅ No action / ⚠️ Monitor / 🔴 Act now

Always follow the table with a Key Findings section (3–5 bullet points, ranked by priority).

---

Core DQL Techniques

DQL has no native forecast function. For forward-looking forecasts, use timeseries-forecast (see references/forecasting-analyzer.md).

Key DQL Rules

1. timeseries returns arrays — one value per time slot per entity 2. arrayLast(arr) = most recent value; arrayFirst(arr) = oldest 3. Growth = (arrayLast - arrayFirst) / number_of_intervals 4. Always filter isNotNull(field) before sorting to avoid null ordering issues 5. Use toLong() when dividing Long fields to avoid type errors 6. Use dt.smartscape.* not deprecated dt.entity.* in DQL display fields; use dt.smartscape.* in by:{} grouping clauses for entity-level queries

---

Standard Query Patterns

Moving Average Trend

timeseries cpu = avg(dt.host.cpu.usage), from: now()-24h, interval: 1h, by: {dt.smartscape.host}
| fieldsAdd moving_avg = arrayMovingAvg(cpu, 4)
| fieldsAdd current = arrayLast(cpu)
| fieldsAdd trend = arrayLast(cpu) - arrayFirst(cpu)
| filter isNotNull(current)
| sort trend desc
| limit 20
| fields dt.smartscape.host, current, trend, moving_avg

Saturation Risk Classification

timeseries cpu = avg(dt.host.cpu.usage), from: now()-7d, interval: 1h, by: {dt.smartscape.host}
| fieldsAdd p95 = arrayPercentile(cpu, 95)
| fieldsAdd saturation_risk = if(p95 > 85, "HIGH", else: if(p95 > 70, "MEDIUM", else: "LOW"))
| filter isNotNull(p95)
| sort p95 desc
| fields dt.smartscape.host, p95, saturation_risk

Days to Saturation Forecast

timeseries cpu = avg(dt.host.cpu.usage), from: now()-30d, interval: 1d, by: {dt.smartscape.host}
| fieldsAdd current = arrayLast(cpu)
| fieldsAdd daily_growth = (arrayLast(cpu) - arrayFirst(cpu)) / 30
| filter isNotNull(current)
| fieldsAdd days_to_saturation = if(daily_growth > 0, toLong((90 - current) / daily_growth), else: 9999)
| sort days_to_saturation asc
| limit 20
| fields dt.smartscape.host, current, daily_growth, days_to_saturation

Anomaly Scoring

timeseries cpu = avg(dt.host.cpu.usage), from: now()-24h, interval: 1h, by: {dt.smartscape.host}
| fieldsAdd baseline_avg = arrayAvg(cpu)
| fieldsAdd current = arrayLast(cpu)
| fieldsAdd anomaly_score = if(isNotNull(current) and isNotNull(baseline_avg), abs(current - baseline_avg), else: 0)
| sort anomaly_score desc
| limit 20
| fields dt.smartscape.host, current, baseline_avg, anomaly_score

Metric Discovery

Before forecasting, discover available metrics by keyword:

metrics from: now() - 1h
| filter contains(metric.key, "cpu")
| summarize count(), by: {metric.key}
| sort `count()` desc

---

Reference Guides

  • `references/forecasting-analyzer.md`timeseries-forecast tool:

data requirements, parameter reference, interval selection, horizon limits, common pitfalls

  • `references/capacity-forecasting.md` — CPU/memory/disk/K8s saturation

forecasts; multi-resource risk scoring; days-to-saturation DQL patterns

  • `references/anomaly-scoring.md`adaptive-anomaly-detector, seasonal-baseline-anomaly-detector,

static-threshold-analyzer; DQL deviation scoring

  • `references/novelty-detection.md`timeseries-novelty-detection tool: spike, drop, step change,

trend onset, and variability change detection; all novelty types; parameter reference; worked examples

  • `references/trend-detection.md`timeseries-novelty-detection for trend onset and change points;

week-over-week joins; growth rate and acceleration detection

Related Skills

  • dt-dql-essentials — DQL syntax, timeseries command rules, array function reference
  • dt-obs-hosts — Host and process metrics catalog
  • dt-obs-services — Service RED metrics for service-level trend analysis
  • dt-obs-problems — Davis AI problem history for anomaly correlation

Related skills

How it compares

Choose dt-obs-predictive-analytics for Dynatrace-native forecasting rather than generic log-grep debugging skills.

FAQ

Which Dynatrace tool does dt-obs-predictive-analytics use for forecasting?

dt-obs-predictive-analytics uses the Dynatrace timeseries-forecast tool alongside DQL and analyzer tools to predict future metric values for capacity and alerting.

What signals does dt-obs-predictive-analytics analyze?

dt-obs-predictive-analytics analyzes hosts, services, and infrastructure metrics, covering forecasting, trend change detection, and anomaly characterization.

Cloud & Infrastructuremonitoringinfra

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.