Skip to content
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

Accept data from datadog agent #27045

Closed
miki-sunlight opened this issue Sep 21, 2023 · 7 comments · Fixed by #27672
Closed

Accept data from datadog agent #27045

miki-sunlight opened this issue Sep 21, 2023 · 7 comments · Fixed by #27672
Labels
bug Something isn't working receiver/datadog

Comments

@miki-sunlight
Copy link

Component(s)

receiver/datadog

Describe the issue you're reporting

Hey, trying to collect traces from DataDog agent using the OTEL collector with the DataDog Receiver.
On DataDog side I set up another end point by adding this code to the values.yaml file:

agents:
  useConfigMap: true
  customAgentConfig:
    apm_config:
      additional_endpoints:
        "http://otel-collector-cli-service:8126":
          - "1234" 

On the OTEL collector side I added the DataDog receiver:

    receivers:
      otlp:
        protocols:
          grpc:
          http:
      datadog:
        endpoint: 0.0.0.0:8126
        read_timeout: 60s
    service:
      telemetry:
        logs:
          level: "debug"
      pipelines:
        traces:
          receivers: [otlp, datadog]

When a trace is created I get the following warn on the DataDog trace agent:

trace-agent 2023-09-19 06:53:35 UTC | TRACE | WARN | (run.go:276 in Warnf) | Stats writer payload rejected by edge: 404 Not Found

The OTEL collector log show nothing.

If the OTEL collector is unreachable, The DataDog agent log this message:

trace-agent 2023-09-21 06:55:20 UTC | TRACE | WARN | (run.go:276 in Warnf) | Retried payload 4 times: Post "http://otel-collector-cli-service:8126/api/v0.2/traces": context deadline exceeded (Client.Timeout exceeded while awaiting headers)

Any idea what can be the problem? or if there is another way to collect traces from the DataDog agent?

@miki-sunlight miki-sunlight added the needs triage New item requiring triage label Sep 21, 2023
@github-actions
Copy link
Contributor

Pinging code owners:

See Adding Labels via Comments if you do not have permissions to add labels yourself.

@bar-alma
Copy link

BTW I reproduced the issue. Looks like agent version 7.47.0 tries to send data to /api/v2/series, but this path isn't defined in receiver.go.

No solution in sight.

@boostchicken
Copy link
Member

A new format, yay/ Ill get something sorted

@boostchicken
Copy link
Member

@crobert-1
Copy link
Member

Looks like a valid bug from comments, labeling as such and removing needs triage.

@crobert-1 crobert-1 added bug Something isn't working and removed needs triage New item requiring triage labels Oct 6, 2023
@karmingc
Copy link
Contributor

karmingc commented Oct 12, 2023

@boostchicken is DD Agent -> datadogreceiver actually supported? My understanding is that it supports applications instrumented with DD client -> datadogreceiver directly.

edit: I should specify that I have limited understanding in Datadog and unsure if the format sent from the agent is different from the ones sent from the application instrumented with the Datadog tracer client.

@tomert-alma
Copy link
Contributor

Hi, I made a fix in this commit #27672
can someone please review it?

@jpkrohling jpkrohling linked a pull request Oct 24, 2023 that will close this issue
jpkrohling pushed a commit that referenced this issue Nov 20, 2023
**Description:** fixing #27045.
Fixing datadog receiver to listen to api/v0.2/traces api. 
**Link to tracking Issue:** #27045

**Testing:** add a a UT to datadog translator for  api/v0.2/traces 

This translator relies on the receiver of datadog agent:

https://github.com/DataDog/datadog-agent/blob/2973404818f6cf02138a5ae3ac9019c342adce38/test/integration/serverless/recorder-extension/main.go#L257

E2E tests has been done, where datadog receiver gets traces from the
datadog agent.
RoryCrispin pushed a commit to ClickHouse/opentelemetry-collector-contrib that referenced this issue Nov 24, 2023
**Description:** fixing open-telemetry#27045.
Fixing datadog receiver to listen to api/v0.2/traces api. 
**Link to tracking Issue:** open-telemetry#27045

**Testing:** add a a UT to datadog translator for  api/v0.2/traces 

This translator relies on the receiver of datadog agent:

https://github.com/DataDog/datadog-agent/blob/2973404818f6cf02138a5ae3ac9019c342adce38/test/integration/serverless/recorder-extension/main.go#L257

E2E tests has been done, where datadog receiver gets traces from the
datadog agent.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working receiver/datadog
Projects
None yet
Development

Successfully merging a pull request may close this issue.

6 participants