Will Datadog monitors behave the same after moving them to Grafana? Not necessarily. I built Rocketgraph/translate to turn supported Datadog metric monitor definitions into Grafana alert-rule provisioning YAML—and to report differences or refuse monitors it cannot translate. The generated files are a migration aid, not proof that an alert will fire, recover, or notify in exactly the same way.
What the translator does
The project is described by its author as a deterministic translator from Datadog monitors to Grafana alert rules. It accepts a Datadog monitor JSON file and writes Grafana provisioning YAML plus a divergence report that identifies behavior differences and refused monitors. The documented example invocation is:
As an Amazon Associate I earn from qualifying purchases.
node bin/ddtranslate.mjs monitors.json --out ./out
The author describes the project as MIT-licensed and having zero runtime dependencies. Those are project-author claims; the repository and its current implementation were not independently verified for this article.
Crashes, No Sound, or Screen Glitches?
Random freezes, missing sound and display glitches usually trace back to one bad driver. Find and replace yours safely.Free scan · under a minutePC Slower Than It Used to Be?
A free scan shows the junk files, broken settings and background clutter dragging Windows down - then fixes them in one click.Free scan · Windows 10 & 11The design goal is to make differences visible rather than silently discard them. As the author puts it, “So each one is either carried into the output or reported as a caveat. Nothing is silently dropped.” That is a useful migration principle, but a report is only useful if someone reviews it and decides whether each difference is acceptable.
#1 Best Overall
Which monitors it says it supports
The author describes metric monitors as the supported category. The project account says it refuses unsupported types by type rather than pretending to translate them. Specifically named refusals include log, APM, SLO, anomaly, forecast, outlier, composite, and service-check monitors. Do not assume a monitor is supported just because its query looks familiar: first inventory its actual Datadog type and check the current project documentation.
That caution matters because Datadog’s monitor API documentation describes multiple query forms, including metric, event-v2, process, logs, composite, and SLO alerts; synthetic monitors use a separate API. A migration plan should classify the monitors in the account before choosing a conversion path.
Why matching query text is not behavioral parity
A query expresses only part of an alert’s behavior. The translator’s author summarizes the problem this way: “The query is roughly 20% of a monitor. The other 80% is evaluation semantics that never appear in the query string and are barely documented:” The percentage is the author’s characterization, not a measured allocation, but the practical point is sound: alert behavior also depends on evaluation and recovery settings around the query.
- No-data timing: When data stops arriving, a rule may wait, alert, or treat the condition as resolved. Compare the source monitor’s policy with the generated rule.
- Critical recovery hysteresis: A threshold for entering a critical state and the condition for recovering from it may differ. Check both transitions, not only the firing threshold.
- Evaluation delay and new-group delay: Delays affect when a condition is evaluated or when a newly appearing group can alert. A syntactically equivalent query does not preserve these timings by itself.
- Full-window requirements: Some monitors require a complete evaluation window. Confirm whether the target rule uses the same assumptions about missing or partial data.
- Grouping and notifications: Grouping dimensions influence which instances generate alerts, while notification routing determines where those alerts go. Review both rather than treating rule YAML as the whole migration.
These are the kinds of differences the project says it carries into output when possible and otherwise reports as caveats or refusals. Treat each caveat as a decision to resolve, not as a harmless warning.
Rank #3
What one reported run shows—and what it does not
The project author reports that one account run examined 40 monitors: 31 were translated with caveats (77.5%), nine were reported untranslatable (22.5%), and none were reported translated exactly (0.0%). The author also reports 25 tests for the project. The post does not state the calendar year for these figures; they describe that reported run, not a benchmark or an independently verified result.
In particular, “translated” should not be read as “proven equivalent.” The numbers do not establish how the generated rules performed in production or whether every caveat was acceptable to the team using them.
Rank #4
Choose between translating logic and viewing Datadog status
There are two distinct goals that can look similar in a Grafana dashboard:
Free tools Windows power users keep installed
One-click scans. No signup required.
| Approach | What Grafana is doing | Best fit | Key consideration |
|---|---|---|---|
| Grafana-managed alert rule using a Datadog data-source query | Grafana evaluates a query against Datadog data and applies alert logic in Grafana. | You intend to recreate alert logic and manage rules in Grafana. | Grafana says the query result must be numeric; aggregation or a Reduce expression may be needed before threshold evaluation. Rule evaluations also make one or more Datadog API requests, so frequent evaluations across many rules can contribute to API rate limits. |
| Grafana Monitor query with Count by Status | Grafana reads the status of monitors that already exist in Datadog. | You want to display or alert on Datadog monitor status without recreating each monitor’s logic. | This observes existing Datadog monitor status; it does not migrate the monitor’s evaluation logic into Grafana. |
These options are documented in Grafana’s Datadog data-source documentation. They solve different problems: translating a monitor changes where its logic is evaluated, while a Monitor query can leave the logic in Datadog and surface its status in Grafana.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.How to review a generated migration
- Inventory the source monitor. Record its type, query, grouping dimensions, thresholds, no-data policy, recovery behavior, evaluation and new-group delays, full-window requirements, and notification routing. Confirm the type is within the translator’s stated support.
- Generate the files and read the divergence report. Run the documented command against an exported monitor JSON file. Separate hard refusals from translated rules that carry caveats; do not treat either output YAML or a successful conversion as a parity check.
- Check Grafana query compatibility. Confirm the Datadog query produces a numeric result suitable for alerting, and add aggregation or reduction if the query requires it.
- Resolve every behavior difference. Decide explicitly whether to preserve the Datadog behavior, accept a changed behavior, use a Datadog Monitor query instead, or leave the monitor in Datadog. Pay particular attention to no-data, recovery, grouping, and delay semantics.
- Verify in the target environment before relying on the rule. Compare what happens when the condition becomes true, when data is absent, and when the condition recovers. Review notification delivery and consider API request volume across the full rule set. The reported conversion counts do not substitute for this verification.
Grafana’s current setup documentation says the Datadog data source requires a compatible Grafana Cloud plan or a licensed self-managed Enterprise instance, an Admin role, Datadog API and application keys, and selection of the appropriate Datadog region. Check the configuration instructions for current requirements before setting up the connection.
Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

