Claude Prompt Library

30 Claude Prompts for Datadog

30 copy-paste prompts

Paste these into Claude to get monitor definitions, dashboard widget JSON, log query syntax, and SLO configs you can drop straight into Datadog.

In short: This page contains 30 copy-paste ready prompts, organized into 6 categories with a description and pro tip for each. The first 5 prompts are free instantly, no signup needed. Hand-curated and tested by the AI Academy team.

Louis Corneloup
By Louis Corneloup · Founder, Techpresso
Last updated ·Hand-curated & tested by the AI Academy team

Monitor Creation

5 prompts

Design a threshold monitor from a metric description

1/30

✨ What it does

Turns a plain description of a metric into a ready to paste Datadog monitor query with justified thresholds.

You are a senior site reliability engineer who builds Datadog monitors for a mid sized SaaS platform. <context> I have a metric I want to alert on but I have not written the monitor query or picked the right thresholds yet. </context> <inputs> - Metric name: [METRIC_NAME] - What the metric measures: [METRIC_DESCRIPTION] - Tags available: [AVAILABLE_TAGS] - Normal range during business hours: [NORMAL_RANGE] - Team that owns the service: [OWNING_TEAM] </inputs> <task> Write a complete Datadog metric monitor definition: the monitor query using the correct aggregation function, a warning threshold, a critical threshold, and the evaluation window. </task> <constraints> Use Datadog monitor query syntax exactly, for example avg(last_5m):avg:metric.name{tag} > value. Do not invent a metric name that was not given. Keep the recommended evaluation window between 5 and 15 minutes unless the metric is clearly noisy, in which case explain why you chose longer. </constraints> <format> Return the monitor query, the warning and critical thresholds with one sentence justifying each, and the recommended evaluation window. No preamble. </format>

💡

Pro tip: Paste the actual metric.summary output from Datadog for METRIC_DESCRIPTION so Claude picks thresholds grounded in real percentiles instead of guessing.

Write a monitor for a log-based error rate spike

2/30

✨ What it does

Produces a log based Datadog monitor tuned to a service's real error baseline instead of a naive count.

You are a senior observability engineer who configures log based monitors in Datadog. <context> A service is logging errors and I want a monitor that fires when the error rate climbs above normal, not on every single error line. </context> <inputs> - Service name: [SERVICE_NAME] - Log query that isolates errors: [ERROR_LOG_QUERY] - Typical error count per 5 minutes: [BASELINE_ERROR_COUNT] - Deployment frequency: [DEPLOY_FREQUENCY] </inputs> <task> Write a Datadog log monitor definition that alerts on an error rate spike relative to the baseline, including the log query, the monitor type, and the evaluation window. </task> <constraints> Use a change or anomaly style query if the baseline fluctuates a lot, otherwise use a straightforward count threshold. State which one you chose and why in one sentence. Avoid a monitor that would fire on every deploy given the deployment frequency. </constraints> <format> Return the log query, the monitor type, the threshold values, and a one line note on deploy noise avoidance. </format>

💡

Pro tip: Give Claude the actual facet values from your log query for ERROR_LOG_QUERY so the monitor targets the right index and does not miss errors logged under a different status field.

Convert an incident postmortem gap into a new monitor

3/30

✨ What it does

Turns a postmortem detection gap into a concrete new Datadog monitor with a stated false positive tradeoff.

You are a senior reliability engineer who closes monitoring gaps after incidents. <context> We had an incident that we did not catch until customers reported it, and I need to design the monitor that would have caught it earlier. </context> <inputs> - What happened in the incident: [INCIDENT_SUMMARY] - How long it ran before detection: [DETECTION_DELAY] - Signal that would have shown the problem early: [LEADING_SIGNAL] - System that emits that signal: [SIGNAL_SOURCE] </inputs> <task> Design a Datadog monitor that would detect this class of incident earlier than it was caught last time, including the query, threshold, and notification urgency. </task> <constraints> Be explicit about the tradeoff between catching it earlier and false positives. Do not propose a monitor that only would have caught this exact incident and nothing else. Keep the recommendation to one primary monitor plus at most one supporting monitor. </constraints> <format> Return a short heading naming the gap, the primary monitor query and threshold, an optional supporting monitor, and one sentence on the false positive tradeoff. </format>

💡

Pro tip: Pull LEADING_SIGNAL directly from the postmortem timeline, the metric or log line that moved first, not the one that was most visible.

Build a composite monitor from multiple failing signals

4/30

✨ What it does

Combines several noisy monitors into one composite Datadog alert that only pages on a real combined failure.

You are a senior SRE who builds composite monitors to reduce alert noise. <context> I have several individual monitors that each fire on their own but I only want to be paged when a combination of them fire together, because any single one alone is usually a false alarm. </context> <inputs> - Monitor A and what it checks: [MONITOR_A] - Monitor B and what it checks: [MONITOR_B] - Optional Monitor C: [MONITOR_C] - Desired paging condition: [PAGING_CONDITION] </inputs> <task> Write the Datadog composite monitor formula that combines these monitors according to the desired paging condition, using monitor IDs as placeholders. </task> <constraints> Use valid Datadog composite monitor boolean syntax with AND, OR, and NOT as needed. Explain in one sentence what would happen if only one of the component monitors fires. Do not suggest disabling the individual monitors, they still serve as diagnostic signals. </constraints> <format> Return the composite formula, a one sentence explanation of single monitor behavior, and a note confirming the individual monitors stay active for diagnostics. </format>

💡

Pro tip: List MONITOR_A and MONITOR_B with their actual monitor IDs from Datadog, Claude will use them directly in the formula so you can paste it without editing.

Tune an existing monitor that pages too often

5/30

✨ What it does

Analyzes a monitor's real fire history against real incident count to propose a retuned threshold instead of a guess.

You are a senior observability engineer who audits noisy monitors during on call retros. <context> A monitor has been paging the on call rotation too frequently and the team is starting to ignore it, I need to retune it without losing real detection. </context> <inputs> - Current monitor query and threshold: [CURRENT_MONITOR_CONFIG] - How many times it fired last 30 days: [FIRE_COUNT] - How many of those were real incidents: [REAL_INCIDENT_COUNT] - On call feedback on the pattern: [ON_CALL_FEEDBACK] </inputs> <task> Propose a retuned version of this monitor, adjusting the threshold, evaluation window, or aggregation, that would have caught the real incidents while cutting the false pages. </task> <constraints> Show your reasoning against the actual fire count and real incident count given, do not just say raise the threshold without justifying by how much. If the fix is really a different monitor entirely, say so plainly. </constraints> <format> Return the retuned monitor query and threshold, one sentence of reasoning tied to the numbers given, and a verdict on whether this was a tuning problem or a wrong monitor problem. </format>

💡

Pro tip: Pull FIRE_COUNT and REAL_INCIDENT_COUNT straight from the Datadog monitor's alert history tab so the retune is grounded in your actual pattern, not a hypothetical one.

Dashboard Building

5 prompts

Design a service health dashboard layout

6/30

✨ What it does

Lays out a Datadog service dashboard with widget types and positions chosen for at a glance readability.

You are a senior observability engineer who builds Datadog dashboards for engineering teams. <context> I am setting up a new dashboard for a service and I want a layout that shows health at a glance without forcing viewers to click into each widget. </context> <inputs> - Service name: [SERVICE_NAME] - Key metrics available: [KEY_METRICS] - Downstream dependencies: [DOWNSTREAM_DEPENDENCIES] - Audience for this dashboard: [DASHBOARD_AUDIENCE] </inputs> <task> Design the widget layout for a Datadog dashboard, specifying each widget's type, the metric or query it shows, and its position in the grid from top to bottom. </task> <constraints> Put the most business critical signal, such as error rate or latency, in the top row. Limit the dashboard to 8 to 12 widgets so it stays readable. Match widget type to data shape, use timeseries for trends and query value for single numbers, not the same widget type everywhere. </constraints> <format> Return a numbered list of widgets in row order, each with widget type, the query or metric, and a one line reason for its placement. </format>

💡

Pro tip: List KEY_METRICS in the order your team actually checks them during an incident, Claude will weight the top row toward whatever you list first.

Write the JSON for a timeseries widget with multiple series

7/30

✨ What it does

Generates ready to paste Datadog timeseries widget JSON with correctly formed multi-series requests.

You are a senior platform engineer who writes Datadog dashboard JSON definitions by hand. <context> I need the widget JSON for a timeseries panel that overlays a few related metrics so I can paste it directly into a dashboard's JSON editor. </context> <inputs> - Metrics to overlay: [METRICS_TO_OVERLAY] - Tags to filter by: [FILTER_TAGS] - Display style preference: [DISPLAY_STYLE] - Widget title: [WIDGET_TITLE] </inputs> <task> Write the Datadog dashboard widget JSON object for a timeseries widget showing these metrics overlaid, with correct request syntax for each series. </task> <constraints> Use valid Datadog widget JSON schema with a definition object, type set to timeseries, and one request per metric. Match the display style, line or bar or area, to what was requested. Do not include layout position keys since those depend on where it is dropped. </constraints> <format> Return only the JSON object, no explanation before or after it. </format>

💡

Pro tip: Ask for the JSON with DISPLAY_STYLE set to bars when comparing discrete counts like deploys, and lines for continuous metrics like latency, mixing them in one prompt confuses the output.

Convert a spreadsheet of KPIs into a dashboard spec

8/30

✨ What it does

Turns a raw stakeholder KPI wishlist into grouped Datadog dashboard sections with honest flags on what cannot be measured.

You are a senior analytics engineer who translates business requirements into Datadog dashboard specs. <context> A stakeholder handed me a list of KPIs they want tracked and I need to turn that into an actual dashboard structure before I start building widgets. </context> <inputs> - List of KPIs requested: [KPI_LIST] - Data source for each, if known: [DATA_SOURCES] - Reporting cadence stakeholder expects: [REPORTING_CADENCE] - Any KPIs that are not actually measurable in Datadog: [UNMEASURABLE_NOTES] </inputs> <task> Group the KPIs into logical dashboard sections, map each to a Datadog widget type and rough query, and flag any KPI that cannot be built from Datadog data alone. </task> <constraints> Be honest when a requested KPI needs a different data source, do not force fit it into a Datadog query that will not actually reflect the KPI. Group related KPIs together rather than listing them in the order given. </constraints> <format> Return dashboard sections as headings, each with its KPIs mapped to widget type and rough query, followed by a short list of flagged unmeasurable KPIs. </format>

💡

Pro tip: Fill in UNMEASURABLE_NOTES yourself first with anything you already suspect is not in Datadog, Claude will still catch more but this focuses the review on the ones you are unsure about.

Draft a template variable setup for a multi-team dashboard

9/30

✨ What it does

Builds a Datadog template variable setup so one dashboard serves multiple teams filtered to their own data.

You are a senior platform engineer who builds shared Datadog dashboards used across multiple teams. <context> I am building one dashboard that several teams will reuse and I want template variables so each team can filter it to their own service without me building separate dashboards. </context> <inputs> - Tag that identifies team or service: [FILTER_TAG_KEY] - List of teams or services that will use this: [TEAM_LIST] - Metrics that need to respect the filter: [SCOPED_METRICS] - Any widget that should ignore the filter: [UNSCOPED_WIDGETS] </inputs> <task> Define the Datadog template variable configuration and show how each scoped metric query should reference the variable. </task> <constraints> Use the correct Datadog template variable syntax with the dollar sign prefix in queries. Set a sensible default value rather than leaving it as a wildcard that would show every team's data at once. Explicitly call out which widgets should stay unscoped and why. </constraints> <format> Return the template variable definition, one example query showing the variable in use, and a short list of unscoped widgets with reasons. </format>

💡

Pro tip: Set the default value in FILTER_TAG_KEY discussion to your own team, not a wildcard, so anyone opening the shared dashboard cold sees one team's data instead of an overwhelming blended view.

Plan a dashboard cleanup after an audit

10/30

✨ What it does

Produces a Datadog dashboard consolidation and cleanup plan that protects critical dashboards from accidental loss.

You are a senior observability engineer who runs periodic dashboard hygiene audits. <context> Our Datadog account has accumulated a lot of dashboards and I need a plan to consolidate the useful ones and retire the dead ones. </context> <inputs> - Number of existing dashboards: [DASHBOARD_COUNT] - Rough categories they fall into: [DASHBOARD_CATEGORIES] - Dashboards with known zero views in 90 days: [UNUSED_DASHBOARDS] - Dashboards flagged as critical by any team: [CRITICAL_DASHBOARDS] </inputs> <task> Propose a consolidation plan that merges overlapping dashboards, retires the unused ones, and protects the critical ones from accidental deletion. </task> <constraints> Do not recommend deleting anything on the critical list even if it looks similar to another dashboard. Group the consolidation recommendations by category rather than one flat list. Include a rollback step in case a retired dashboard turns out to still be needed. </constraints> <format> Return a plan with sections for merge candidates, retirement candidates, protected dashboards, and a one line rollback note. </format>

💡

Pro tip: Cross check UNUSED_DASHBOARDS against Datadog's own view count analytics under Dashboards, do not rely on memory since low traffic dashboards are easy to misjudge as dead when they are checked quarterly.

Log Queries

5 prompts

Translate a plain English question into a Datadog log query

11/30

✨ What it does

Converts a plain English question about logs into the exact Datadog log search syntax to run.

You are a senior support engineer who writes Datadog log search queries all day. <context> I have a plain English question about what happened in our logs and I need the exact Datadog log search syntax to answer it. </context> <inputs> - Question in plain English: [PLAIN_ENGLISH_QUESTION] - Relevant service or index: [SERVICE_OR_INDEX] - Time range of interest: [TIME_RANGE] - Known log fields or facets: [KNOWN_FACETS] </inputs> <task> Write the Datadog log search query that answers this question, using facet syntax where the field is known and free text search where it is not. </task> <constraints> Use correct Datadog query syntax including quoting exact phrases and using colon syntax for facets. If the question is ambiguous, state the assumption you made in one sentence rather than writing two competing queries. </constraints> <format> Return the query on its own line, then one sentence stating any assumption made. </format>

💡

Pro tip: List the real facet names from your log pipeline in KNOWN_FACETS, Datadog facets are case sensitive and Claude cannot guess your naming convention like svc versus service.

Build a log query to isolate a specific error pattern across services

12/30

✨ What it does

Builds a cross-service Datadog log search that isolates a real error pattern while filtering out known false positives.

You are a senior debugging engineer who traces error patterns through Datadog logs across many services. <context> An error is showing up somewhere in our stack and I need to search across multiple services to find every place it appears, not just the one service I already know about. </context> <inputs> - Error message or pattern: [ERROR_PATTERN] - Services suspected of being involved: [SUSPECTED_SERVICES] - Time window to search: [SEARCH_WINDOW] - Any known false positive matches to exclude: [FALSE_POSITIVE_TERMS] </inputs> <task> Write a Datadog log search query that finds this error pattern across the suspected services while excluding the known false positive matches. </task> <constraints> Use NOT syntax for exclusions and OR groupings with parentheses for multiple services. Keep the query readable, do not nest more than two levels of parentheses. Explain in one sentence what the exclusion terms are filtering out. </constraints> <format> Return the query, then one sentence explaining the exclusion logic. </format>

💡

Pro tip: Run the query without the exclusions first inside Datadog to confirm the false positive terms you listed actually appear, otherwise you may exclude real matches by accident.

Write a log query and group-by for a top offenders report

13/30

✨ What it does

Generates a Datadog log analytics query with grouping and sorting to surface top error offenders by any dimension.

You are a senior reliability engineer who builds top offenders reports from Datadog logs. <context> I want to know which customers, endpoints, or hosts are generating the most errors so I can prioritize where to look first. </context> <inputs> - What counts as an error for this report: [ERROR_DEFINITION] - Dimension to group by, such as customer id or endpoint: [GROUP_BY_DIMENSION] - Time range: [TIME_RANGE] - Minimum count to be worth reporting: [MINIMUM_COUNT] </inputs> <task> Write the Datadog log query and the group by configuration needed to produce a top offenders list by the given dimension. </task> <constraints> Use the correct Datadog log analytics group by and measure syntax. Sort by count descending and note the minimum count threshold as a filter, not just a mental note. Keep the query itself separate from the grouping and sorting instructions. </constraints> <format> Return the log query, the group by field, the sort order, and the minimum count filter, each on its own line. </format>

💡

Pro tip: Set MINIMUM_COUNT higher than you think, Datadog log analytics without a floor often surfaces a long tail of one off errors that drown out the customers or endpoints actually worth fixing.

Convert an ad hoc log search into a saved reusable view

14/30

✨ What it does

Turns a recurring manual log search into a defined Datadog saved view with the right default columns and time range.

You are a senior platform engineer who standardizes recurring Datadog log searches into saved views for the team. <context> Our team keeps running the same kind of log search manually and I want to turn it into a saved view with the right columns and default time range so nobody has to rebuild it. </context> <inputs> - The recurring search we run: [RECURRING_SEARCH_PURPOSE] - Fields we usually check in results: [RESULT_FIELDS] - Default time range people expect: [DEFAULT_TIME_RANGE] - Who on the team will use this saved view: [SAVED_VIEW_AUDIENCE] </inputs> <task> Define the saved view configuration including the log query, the columns to display, the default time range, and a name for the view. </task> <constraints> Name the view clearly enough that someone unfamiliar with the backstory understands its purpose from the name alone. Limit displayed columns to the ones people actually check, not every available field. State who should have access if that matters. </constraints> <format> Return the view name, the log query, the column list, and the default time range. </format>

💡

Pro tip: Name the saved view with the team prefix and the specific symptom it surfaces, a name like Checkout 500 spikes gets reused far more than a vague name like Error Search 3.

Diagnose why a log query is returning unexpected results

15/30

✨ What it does

Diagnoses the exact syntax problem in a broken Datadog log query and returns a corrected version.

You are a senior observability engineer who debugs Datadog log query syntax problems. <context> A log query I wrote is either returning nothing or returning far more than expected, and I need help figuring out what is wrong with the query itself. </context> <inputs> - The query as written: [CURRENT_QUERY] - What I expected it to return: [EXPECTED_RESULT] - What it actually returned: [ACTUAL_RESULT] - Index or log source being searched: [LOG_SOURCE] </inputs> <task> Diagnose the likely syntax or logic problem in this Datadog log query and provide a corrected version. </task> <constraints> Check for common issues first: unescaped special characters, wrong facet name versus free text, missing quotes around phrases, and incorrect boolean operator precedence. State which specific issue you found before giving the fix, do not just hand back a rewritten query with no explanation. </constraints> <format> Return the diagnosed issue in one sentence, then the corrected query. </format>

💡

Pro tip: Paste the query exactly as it appears in the Datadog search bar including any auto-added quotes, small differences in escaping are usually the actual bug.

These prompts give you the what. Tutorials give you the why.

Learn when to use extended thinking, how to build Claude Projects, and workflows that compound. 300+ tutorials and growing.

Try AI Academy Free

SLO Definitions

5 prompts

Draft a metric-based SLO from a service level objective statement

16/30

✨ What it does

Converts a plain language SLO target into a Datadog metric based SLO with numerator, denominator, and error budget in minutes.

You are a senior reliability engineer who translates business SLO statements into Datadog SLO configurations. <context> A stakeholder gave me a target in plain language and I need to turn it into a real Datadog metric based SLO with a good numerator and denominator query. </context> <inputs> - SLO target in plain language: [SLO_TARGET_STATEMENT] - Metric that represents good events: [GOOD_EVENTS_METRIC] - Metric that represents total events: [TOTAL_EVENTS_METRIC] - Time window, such as rolling 30 days: [SLO_TIME_WINDOW] </inputs> <task> Write the Datadog metric based SLO definition including the good events query, the total events query, the target percentage, and the time window. </task> <constraints> Make sure the good events query is a subset of the total events query logically, flag it if it does not look that way. State the resulting error budget in minutes per window so the target is concrete, not just a percentage. </constraints> <format> Return the good events query, the total events query, the target percentage, the time window, and the error budget in minutes. </format>

💡

Pro tip: Double check that GOOD_EVENTS_METRIC really is a strict subset of TOTAL_EVENTS_METRIC in your actual data before shipping this, a common mistake is counting good events from a different source than total events.

Design a monitor-based SLO for a set of related checks

17/30

✨ What it does

Builds a Datadog monitor based SLO from a candidate list of monitors, filtering out ones that do not reflect real user impact.

You are a senior SRE who builds monitor based SLOs when a clean metric ratio is not available. <context> I do not have a clean good over total metric ratio, so I want to build the SLO from a set of existing monitors instead. </context> <inputs> - Monitors that represent this service being up: [CANDIDATE_MONITORS] - SLO target percentage: [TARGET_PERCENTAGE] - Time window: [SLO_TIME_WINDOW] - Any monitor that should be excluded despite looking related: [EXCLUDED_MONITORS] </inputs> <task> Define a Datadog monitor based SLO using the given monitors, specifying which ones to include and confirming the target and time window. </task> <constraints> Only include monitors that genuinely reflect user facing availability, not internal housekeeping checks, even if they were listed as candidates. Justify any exclusion in one sentence. State the resulting error budget in minutes for the given window. </constraints> <format> Return the list of included monitors, one sentence justifying any exclusions, the target percentage, and the error budget in minutes. </format>

💡

Pro tip: Be ready for Claude to push back on CANDIDATE_MONITORS that measure internal batch jobs rather than user facing availability, that filtering is the actual value of this prompt.

Calculate remaining error budget and recommend an action

18/30

✨ What it does

Calculates remaining Datadog SLO error budget from real numbers and gives a plain go or no go recommendation for risky changes.

You are a senior reliability engineer who advises teams on error budget policy during SLO reviews. <context> I need to know how much error budget is left this period and what that should mean for whether we ship risky changes right now. </context> <inputs> - SLO target: [SLO_TARGET] - Actual performance so far this period: [ACTUAL_PERFORMANCE] - Days remaining in the period: [DAYS_REMAINING] - Planned risky changes this week: [PLANNED_CHANGES] </inputs> <task> Calculate the remaining error budget based on the numbers given and recommend whether the planned changes should proceed, be delayed, or proceed with extra caution. </task> <constraints> Show the calculation, not just the conclusion. Base the recommendation strictly on the numbers given, do not assume risk tolerance beyond what a typical error budget policy would suggest. If the budget is already exhausted, say so plainly. </constraints> <format> Return the error budget calculation, the remaining budget as a percentage and in minutes, and a one sentence recommendation. </format>

💡

Pro tip: Pull ACTUAL_PERFORMANCE straight from the SLO's status widget in Datadog rather than estimating it, the burn rate calculation is only as good as that input.

Write an SLO review summary for a monthly reliability meeting

19/30

✨ What it does

Writes an honest monthly SLO review summary that leads with breaches and root cause instead of burying them under good metrics.

You are a senior reliability engineer who presents SLO status to engineering leadership every month. <context> I need to summarize this month's SLO performance for a leadership review, and I want it to be honest about misses rather than glossing over them. </context> <inputs> - SLOs and their current attainment: [SLO_ATTAINMENT_LIST] - Any SLO that was breached this month: [BREACHED_SLOS] - Root cause of the breach if known: [BREACH_ROOT_CAUSE] - Planned remediation: [REMEDIATION_PLAN] </inputs> <task> Write a concise SLO review summary covering overall attainment, any breaches with root cause, and the remediation plan. </task> <constraints> Lead with the breaches, not the wins, leadership reviews should surface risk first. Keep the summary under 200 words. Do not soften the root cause description into vague language, state it plainly. </constraints> <format> Return the summary as short paragraphs under headings: Attainment, Breaches, Remediation. </format>

💡

Pro tip: Resist the urge to reorder BREACHED_SLOS to the bottom of your input list, Claude follows the constraint to lead with breaches but a clearer input list makes the output tighter.

Propose a new SLO for a service that has never had one

20/30

✨ What it does

Proposes a realistic starting SLO target grounded in a service's actual recent performance rather than a generic industry number.

You are a senior reliability engineer who helps teams stand up their first SLO. <context> A service has never had a formal SLO and I need to propose a reasonable starting point based on how it actually performs today, not an arbitrary industry number. </context> <inputs> - Service name and what it does: [SERVICE_DESCRIPTION] - Recent real performance data if any: [RECENT_PERFORMANCE_DATA] - Business criticality of this service: [BUSINESS_CRITICALITY] - Team's appetite for a strict target: [TEAM_APPETITE] </inputs> <task> Propose an initial SLO target and time window for this service, grounded in the recent performance data rather than a generic best practice number. </task> <constraints> If no recent performance data was given, say the target should be set after two weeks of measurement instead of guessing a number outright. Match the strictness of the target to the stated business criticality. Avoid recommending three nines by default for every service. </constraints> <format> Return the proposed target and window, one sentence tying it to the performance data or criticality given, and a note on when to revisit it. </format>

💡

Pro tip: If you genuinely have no RECENT_PERFORMANCE_DATA yet, say so explicitly rather than leaving it blank, the prompt is built to have Claude recommend a measurement period first instead of inventing a number.

Incident Response and Alerting

5 prompts

Write a monitor notification message with useful context

21/30

✨ What it does

Writes a Datadog monitor notification message with runbook link and common cause baked in so pages are actionable, not just noise.

You are a senior SRE who writes clear Datadog monitor notification templates so on call responders do not have to guess what to do. <context> Our current monitor notification just says the alert name and nothing else, and I want responders to see enough context in the page itself to start working immediately. </context> <inputs> - Monitor name and what it checks: [MONITOR_PURPOSE] - Runbook link, if one exists: [RUNBOOK_LINK] - Common cause when this fires: [COMMON_CAUSE] - On call escalation contact: [ESCALATION_CONTACT] </inputs> <task> Write the Datadog monitor notification message template using the correct variable syntax for monitor name, current value, and threshold. </task> <constraints> Use Datadog template variables like the monitor name and value tokens correctly. Keep the message short enough to read on a phone notification, under 400 characters. Include the runbook link if one was given, and the common cause as a one line hint. </constraints> <format> Return only the notification message template text, ready to paste into the monitor message field. </format>

💡

Pro tip: If RUNBOOK_LINK does not exist yet, say so honestly rather than leaving it blank, a missing runbook is worth fixing before this monitor ships, not hiding.

Build an escalation policy across notification channels

22/30

✨ What it does

Designs a tiered Datadog escalation policy that only pages a human after a set delay, matched to real issue severity.

You are a senior incident management engineer who designs Datadog notification and escalation routing. <context> I need a monitor's notifications to escalate properly, starting with a quiet channel and only paging a human if it stays unresolved. </context> <inputs> - Severity of the underlying issue: [ISSUE_SEVERITY] - Team channel for initial notice: [TEAM_CHANNEL] - Paging tool integration in use: [PAGING_TOOL] - How long to wait before escalating: [ESCALATION_DELAY] </inputs> <task> Design the notification routing for this monitor, specifying what fires immediately, what fires after the escalation delay, and to whom. </task> <constraints> Match the escalation aggressiveness to the stated severity, a low severity issue should not page a human immediately. Use the correct Datadog notification syntax for the paging tool integration given. State the escalation delay explicitly rather than leaving it vague. </constraints> <format> Return the immediate notification target, the escalation notification target, the delay, and the notification syntax to use in the monitor message. </format>

💡

Pro tip: For ISSUE_SEVERITY at the low end, explicitly ask Claude to route to channel only with no paging step at all, otherwise the default instinct is to always include an escalation path.

Draft an incident timeline from raw monitor and log events

23/30

✨ What it does

Merges raw Datadog monitor and log events into a clean, factual chronological incident timeline for a postmortem.

You are a senior incident commander who reconstructs incident timelines from Datadog data for postmortems. <context> An incident just resolved and I have a rough dump of when monitors fired and what the logs showed, I need this turned into a clean chronological timeline. </context> <inputs> - Monitor fire events with timestamps: [MONITOR_EVENTS] - Relevant log or deploy events with timestamps: [LOG_EVENTS] - When the incident was declared: [DECLARATION_TIME] - When it was resolved: [RESOLUTION_TIME] </inputs> <task> Build a clean chronological incident timeline from these raw events, merging the monitor and log data into one sequence. </task> <constraints> Use consistent timestamp formatting throughout. Do not editorialize or assign blame in the timeline entries, state what happened factually. Mark the declaration and resolution points clearly as distinct milestones. </constraints> <format> Return a timeline as a list of timestamp then event, with the declaration and resolution entries visually marked. </format>

💡

Pro tip: Pull the exact timestamps from the Datadog monitor's alert history and the log stream rather than approximating from memory, postmortem timelines lose credibility fast when times do not match the actual data.

Generate a runbook from a resolved incident's actual steps

24/30

✨ What it does

Converts the real steps that resolved a Datadog incident into a direct, actionable runbook instead of leaving it buried in chat.

You are a senior SRE who turns resolved incidents into reusable runbooks. <context> We just resolved an incident and the steps that fixed it are only in a chat thread, I want a proper runbook out of it before we forget the details. </context> <inputs> - Symptom that triggers this runbook: [TRIGGER_SYMPTOM] - Steps that were actually taken to diagnose: [DIAGNOSIS_STEPS] - Steps that actually resolved it: [RESOLUTION_STEPS] - Datadog monitor or dashboard to check first: [FIRST_CHECK_LOCATION] </inputs> <task> Write a runbook that starts from the trigger symptom, walks through the diagnosis steps in order, and ends with the resolution steps. </task> <constraints> Write steps as direct imperative instructions, not narrative description of what happened last time. Point to the specific Datadog monitor or dashboard by name in the first diagnosis step. Keep it to the steps that were actually used, do not add generic troubleshooting steps that were not part of the real resolution. </constraints> <format> Return sections: Trigger, Diagnosis Steps as a numbered list, Resolution Steps as a numbered list. </format>

💡

Pro tip: Write DIAGNOSIS_STEPS and RESOLUTION_STEPS as you actually did them, in order, even if messy, Claude cleans up the phrasing but needs the real sequence to keep the runbook honest.

Review an alert for whether it belongs to the right severity tier

25/30

✨ What it does

Audits whether a Datadog alert's severity tier actually matches its real user impact, catching both over-paging and under-paging.

You are a senior SRE who audits alert severity classification during on call handoff reviews. <context> I want a second opinion on whether an alert is classified at the right severity, since miscategorized alerts either wake people up unnecessarily or get ignored when they should not be. </context> <inputs> - Alert description and current severity: [ALERT_DESCRIPTION_AND_SEVERITY] - User impact when it fires: [USER_IMPACT] - Whether it requires immediate human action: [REQUIRES_IMMEDIATE_ACTION] - Time of day it typically fires: [TYPICAL_FIRE_TIME] </inputs> <task> Evaluate whether the current severity classification matches the actual user impact and required response, and recommend a different tier if it does not. </task> <constraints> Base the recommendation strictly on user impact and required action, not on how often it fires. If the current tier is correct, say so plainly rather than inventing a reason to change it. Note if the typical fire time suggests it should route differently overnight versus business hours. </constraints> <format> Return a verdict of correct or recommended new tier, one sentence of reasoning, and a note on time of day routing if relevant. </format>

💡

Pro tip: Be honest in REQUIRES_IMMEDIATE_ACTION even if it is embarrassing, alerts get miscategorized most often when someone set the severity high out of caution rather than actual impact.

Most people use 10% of Claude. Tutorials unlock the rest.

AI Academy: 300+ hands-on tutorials on Claude, ChatGPT, Midjourney, and 50+ AI tools. New tutorials added every week.

Start Your Free Trial

APM and Performance

5 prompts

Diagnose a latency regression from trace data

26/30

✨ What it does

Pinpoints which Datadog APM span caused a latency regression by comparing before and after span breakdowns.

You are a senior performance engineer who reads Datadog APM traces to find the source of latency regressions. <context> A service got slower recently and I have trace span data from before and after the regression started, I need help finding which span is responsible. </context> <inputs> - Service name: [SERVICE_NAME] - Span breakdown before regression: [SPANS_BEFORE] - Span breakdown after regression: [SPANS_AFTER] - Any recent deploy or config change: [RECENT_CHANGE] </inputs> <task> Compare the span breakdowns and identify which span or spans account for the added latency, then connect it to the recent change if plausible. </task> <constraints> Base the conclusion on the actual span time differences given, not a general guess about what usually causes slowness. If the recent change does not plausibly explain the affected span, say so instead of forcing a connection. Quantify the added latency per span. </constraints> <format> Return the span identified as the source, the latency added in milliseconds, and one sentence on whether the recent change explains it. </format>

💡

Pro tip: Export the actual span duration percentiles from the APM trace view for SPANS_BEFORE and SPANS_AFTER rather than eyeballing the flame graph, small span differences are easy to misjudge visually.

Write a trace sampling rule to capture more of a rare error

27/30

✨ What it does

Creates a scoped Datadog trace sampling rule to catch a rare error case without inflating overall trace volume and cost.

You are a senior observability engineer who configures Datadog APM trace sampling rules. <context> A rare but important error only shows up in a small fraction of traces and our default sampling rate is missing most occurrences, I need a targeted sampling rule. </context> <inputs> - Service and operation where the error occurs: [SERVICE_AND_OPERATION] - Current default sampling rate: [CURRENT_SAMPLE_RATE] - Tag or condition that identifies the error case: [ERROR_CONDITION] - Volume concern if sampling is increased broadly: [VOLUME_CONCERN] </inputs> <task> Define a Datadog trace sampling rule that increases capture for traces matching the error condition without raising the sample rate for all traffic. </task> <constraints> Use a targeted rule scoped to the specific condition, not a blanket increase to the default rate, given the stated volume concern. Specify the sample rate to use for the targeted rule. Explain in one sentence how this avoids the volume concern. </constraints> <format> Return the sampling rule definition scoped to the condition, the target sample rate, and one sentence on volume impact. </format>

💡

Pro tip: Confirm ERROR_CONDITION maps to an actual tag Datadog APM can filter on, such as an error type tag, a condition that only exists in application logs cannot be used as a trace sampling filter.

Explain a flame graph bottleneck to a non technical stakeholder

28/30

✨ What it does

Translates a technical Datadog APM flame graph finding into a plain language explanation a non technical stakeholder can follow.

You are a senior engineer who explains Datadog APM performance findings to product and business stakeholders. <context> I found the technical cause of a slowdown in a trace flame graph and I need to explain it to a stakeholder who does not read code or traces. </context> <inputs> - Technical finding from the flame graph: [TECHNICAL_FINDING] - User facing symptom they reported: [USER_SYMPTOM] - Planned fix: [PLANNED_FIX] - Expected timeline: [FIX_TIMELINE] </inputs> <task> Write a plain language explanation connecting the technical finding to the user facing symptom, the planned fix, and the timeline. </task> <constraints> Avoid engineering jargon like span, trace, or flame graph in the explanation itself. Keep it to four sentences or fewer. Do not overpromise on the timeline, use the exact one given. </constraints> <format> Return a single short paragraph, no headings. </format>

💡

Pro tip: Feed the raw TECHNICAL_FINDING in engineering terms exactly as you found it, Claude does the translation work, simplifying it yourself first usually loses the detail that makes the fix credible.

Set up a service map review checklist for new services

29/30

✨ What it does

Produces a verification checklist for confirming a newly onboarded service's Datadog APM instrumentation is actually correct.

You are a senior platform engineer who reviews Datadog APM service map instrumentation for newly onboarded services. <context> A new service is being onboarded to Datadog APM and I want a checklist to confirm it is instrumented correctly before we rely on it for incident response. </context> <inputs> - Service name and language or framework: [SERVICE_STACK] - Downstream calls it makes: [DOWNSTREAM_CALLS] - Tracing library or agent version used: [TRACING_SETUP] - Team responsible for maintaining it: [OWNING_TEAM] </inputs> <task> Write a checklist to verify this service's Datadog APM instrumentation is complete and correct, covering service map connections, span naming, and error tagging. </task> <constraints> Include a check for whether downstream calls actually appear as connected services on the map, not just that spans exist. Keep the checklist to 6 to 10 items. Make each item something that can be verified by looking at Datadog directly, not a code review step. </constraints> <format> Return a checklist as short checkbox style lines. </format>

💡

Pro tip: Run through the checklist item on downstream service map connections first, a broken trace propagation header is the most common reason a new service shows up isolated on the map.

Write a resource optimization recommendation from APM and infrastructure data

30/30

✨ What it does

Combines Datadog APM latency data with infrastructure metrics to give a concrete right sizing recommendation instead of a vague one.

You are a senior performance engineer who recommends resource right sizing using combined Datadog APM and infrastructure metrics. <context> I have APM latency data alongside CPU and memory metrics for a service and I want to know if it is over provisioned or under provisioned before the next capacity planning cycle. </context> <inputs> - Service name: [SERVICE_NAME] - CPU and memory utilization pattern: [RESOURCE_UTILIZATION] - APM latency trend: [LATENCY_TREND] - Current instance count and size: [CURRENT_SIZING] </inputs> <task> Analyze whether this service is over provisioned, under provisioned, or correctly sized, based on the utilization and latency data given, and recommend a sizing change. </task> <constraints> Base the recommendation on both resource utilization and latency together, a service can be low utilization but latency sensitive and still need headroom. State the recommendation as a specific sizing change, not a vague suggestion to monitor further. Note the risk of the recommended change. </constraints> <format> Return a verdict on current sizing, the recommended change, and one sentence on the risk of making it. </format>

💡

Pro tip: Include at least two weeks of RESOURCE_UTILIZATION data covering a peak traffic day, a single quiet day will make almost any service look over provisioned.

Free tool

Prompt Optimizer

Turn a rough idea into a structured, professional AI prompt.

Try it free →

Frequently Asked Questions

Yes, if you tell it what you are working with. Claude knows Datadog's monitor query grammar, log search syntax, and dashboard widget JSON schema well enough to produce syntactically correct output, but it cannot see your actual metric names, tags, or facets. Give it the real names from your Datadog account in the prompt inputs and check the result against a metric or log explorer before saving it.
Paste real metric names, tag keys, and query structure freely since that is what makes the output usable, but avoid pasting sensitive log content like customer PII or secrets. Most of these prompts only need the shape of your data, such as a baseline count or a facet name, not the raw log lines themselves.
A well built prompt asks Claude to justify its choice rather than force a specific monitor type, and it will occasionally recommend a log monitor over a metric monitor, or an anomaly detection query over a static threshold, if that fits your baseline better. That is intentional. Read the one line justification before accepting the swap, and override it in the prompt if you have a reason to stick with your original approach.
No. These prompts are for drafting a first version fast, especially when you are staring at a blank monitor form or trying to remember exact query syntax. For production monitor and dashboard management at scale, still use the Datadog Terraform provider or the API so changes are versioned and reviewable.
Give Claude your actual recent performance numbers instead of leaving that input blank. A prompt with no real data to work from will lean toward generic industry targets like three nines, which often do not match what a given service can realistically sustain. Pull two to four weeks of real numbers from Datadog first.

Prompts are the starting line. Tutorials are the finish.

A growing library of 300+ hands-on tutorials on ChatGPT, Claude, Midjourney, and 50+ AI tools. New tutorials added every week.

7-day free trial. Cancel anytime.