-
Notifications
You must be signed in to change notification settings - Fork 2.9k
[receiver/datadogreceiver] Configure /intake
endpoint
#39787
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[receiver/datadogreceiver] Configure /intake
endpoint
#39787
Conversation
Please sign the CLA. |
It is a WIP, I'll sign it as soon as I have approval. |
@atoulme CLA signed! |
Please address the build issues. |
receiver/datadogreceiver/receiver.go
Outdated
req.Header.Del("Dd-Api-Key") | ||
req.Header.Add("Dd-Api-Key", key) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Any reason not use Set
here? It should replace what currently exists and saves needed to delete the entry?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Very true. This uses Set
now.
Can someone tell me how to retrigger the checks? They don't seem to be queued in GitHub Actions. |
@MovieStoreGuy please take another look. There are conflicts, but I'm not sure if it's appropriate to rebase before the review completes. |
This PR was marked stale due to lack of activity. It will be closed in 14 days. |
922cead
to
13e1832
Compare
ac752fc
to
f0be05e
Compare
f0be05e
to
a164481
Compare
Please review the CI build, address any issues, and mark ready for review again. |
Datadog's `/intake` endpoint is used by agents to record information about the system they're running on. It's not a metrics/logs/traces endpoint, but instead accepts metadata about a specific host that a `datadog-agent` is running on. This meatadata is used by Datadog to enrich metrics for a specific host (e.g. host-specific tags that should be associated with all metrics from that host). While supporting `/intake` isn't striclty necessary to ingest metrics/logs/traces, it means that [pointing a `datadog-agent` at an OpenTelemetry Collector](https://github.com/DataDog/datadog-agent/blob/7.64.0/pkg/config/config_template.yaml#L40) will not work as expected, because all metrics submitted by the agent will be missing their host tags. By adding the ability to proxy `/intake` calls to Datadog itself, we enable this `datadog-agent`→`otelcol` workflow.
bd3832a
to
43ef34c
Compare
Description
Datadog's
/intake
endpoint is used by agents to record information about the system they're running on. It's not a metrics/logs/traces endpoint, but instead accepts metadata about a specific host that adatadog-agent
is running on. This meatadata is used by Datadog to enrich metrics for a specific host (e.g. host-specific tags that should be associated with all metrics from that host).While supporting
/intake
isn't striclty necessary to ingest metrics/logs/traces, it means that pointing adatadog-agent
at an OpenTelemetry Collector will not work as expected, because all metrics submitted by the agent will be missing their host tags. By adding the ability to proxy/intake
calls to Datadog itself, we enable thisdatadog-agent
→otelcol
workflow.The default behaviour maintains backwards-compatibility - if you don't specify an intake configuration, then intake calls aren't processed.
Testing
Ran both simulated calls and ran a
datadog-agent
against this receiver. The collector properly received and proxied the/intake
calls (as could be seen in the Datadog hosts dashboard).Documentation
Updated the README for the receiver.