vectordotdev / vectordotdev/vector

datadog_agent source: support Datadog v3 series metrics intake API

Open
#25,790 0 comments 0 reactions 0 assignees View on GitHub

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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.