docs: add Datadog to OpenObserve migration guide#374
Open
gorakhnathy7 wants to merge 4 commits into
Open
Conversation
added 4 commits
May 28, 2026 17:36
New section under docs/migration/migrate-from-datadog-to-openobserve/ covering overview, architecture & terminology, metrics, traces, logs, and dashboards & monitors. Adds the section to the migration nav via docs/migration/.pages.
- metrics.md: drop broken dogstatsd_forward_port: 8126 example (port 8126 is APM, not StatsD). Replace with a working dual-write pattern that uses a distinct forward port (18125). Remove unused stream-name header from the OTLP exporter config. Add a traces pipeline alongside the metrics pipeline since dd_url + apm_dd_url cover both signals. Drop the logs_dd_url block from the Agent repoint config and redirect log migration to the shipper-based path in logs.md - traces.md: fix port contradiction in the Agent-repoint example. Bind the Collector's datadog receiver to 18126 so it can coexist with the Agent on 8126, and align the apm_dd_url accordingly. Drop unused stream-name header from the OTEL_EXPORTER_OTLP_HEADERS example - logs.md: replace the broken logs_dd_url repoint with the correct guidance to use Fluent Bit or the OpenObserve Collector. The Datadog Agent's log forwarder uses a TCP framed protocol that the OTel datadog receiver does not accept - dashboards-and-alerts.md: escape literal | inside a Markdown table cell that was breaking the row parse - index.md: switch the OpenObserve Cloud / Self-Hosted blockquote tabs to pymdownx.tabbed (=== "Tab") syntax to match the rest of the repo
The manual "Back to Overview | Previous | Next" lines render as plain inline text and add maintenance burden on every page reordering. Left sidebar already provides ordered navigation. Replace with the same Need Help block used by the comparison pages, pointing to Community Slack and contact support.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
docs/migration/migrate-from-datadog-to-openobserve/(6 pages: overview, architecture & terminology, metrics, traces, logs, dashboards & monitors) covering a full Datadog to OpenObserve migration pathdocs/migration/.pagesNotes for reviewers
comparison-and-datadog-pages. That comparison page deep-links into this folder, so once that PR merges its links will resolve only after this PR also merges.mkdocs.ymlis unchanged on this branch. Thellmstxtplugin'sMigration: migration/*.mdglob is non-recursive, so until that fix lands (it's in the comparison branch) the new pages here will not appear in the generatedllms.txt. Order of merge matters: comparison branch first.datadogreceiver in OTel Collector contrib accepts Agent metric series + APM trace intake on the same HTTP listener. It does not accept the Agent's TCP-framed logs forwarder protocol; that's called out explicitly inlogs.mdandmetrics.md(logs are routed via Fluent Bit / Vector / OpenObserve Collector instead).Test plan
mkdocs servelocally; confirm all six pages render without build errors or broken cross-linksstatsdreceiver, send a test DogStatsD packet (echo "test.metric:42|c|#k:v" | nc -w 1 -u localhost 8125), confirm the metric appears in OpenObserve:8126, Collector on:18126): point add-trace-instrumented app at the Agent, confirm spans arrive in OpenObserve withservice.namepopulatedhttpoutput pointed at OpenObserve, confirm a stream is created and JSON fields parse as columns\|was previously breaking the table parse)index.mdrender as Material tabs, not blockquotes