vectordotdev / vectordotdev/vector
datadog_agent source: support Datadog v3 series metrics intake API
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 22.6k
- Forks
- 2.3k
- Avg merge
- 1d 7h
- Merged PRs (30d)
- 146
Description
Use Cases
Datadog Agent 7.81.0 changed the default series metrics submission to the new v3 intake API (/api/intake/metrics/v3/series). Agents configured with additional_endpoints/dd_url pointing at a non-Datadog endpoint (such as Vector's datadog_agent source) now get 404s on that endpoint unless v3 is explicitly disabled, since the datadog_agent source only understands the v1/v2 series payload formats.
Without v3 support, any user running a current Datadog Agent that forwards metrics to Vector needs to manually opt back into v2 on their Agent config, which is a surprising extra step and diverges from the Agent's now-default behavior.
Attempted Solutions
As a workaround, the Agent can be configured to keep sending v2 payloads to a specific endpoint:
use_v3_api:
series:
endpoints:
"http://fakeintake-agent:80": "false"
"http://vector:8181": "false"
tests/e2e/datadog-metrics (see #25789) currently pins its agent_version test matrix away from latest to avoid this rather than fixing the underlying gap.
Proposal
Add support for decoding the v3 series metrics intake payload format in src/sources/datadog_agent, so Vector can receive metrics from Agent installations running with default (v3) settings, without requiring the workaround above. Once implemented, the tests/e2e/datadog-metrics agent_version matrix should have a latest (or otherwise unpinned) leg re-added that exercises the v3 path.
References
- #25789
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start in src/sources/datadog_agent and inspect the existing v1/v2 series payload decoding. Review tests/e2e/datadog-metrics and its agent_version matrix, including the setup described in #25789. Done means Vector accepts Datadog Agent v3 series metrics and the e2e matrix includes a latest or otherwise unpinned leg exercising that path.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- observability-sre
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 65/100