Enable Datadog APM

Hello,
I’m trying to enable datadog APM on my cluster however I cannot add manual annotations to my pod config file.

Basically I followed your guide and installed datadog agent to my cluster

by running

helm install -n datadog-agent -f datadog/production/datadog_values.yaml datadog/datadog

However when I check my agent config file I see that

apm_config:
  apm_non_local_traffic: true
  enabled: false

but since I dont have direct access to my pod. I cant make enabled: true

So I was curious if you have any easy way to enable APM ?

Hello @bayramovanar !

We just released a dedicated new way of deploying Helm charts, here’s the announcement and documentation.
This way, you should be able to customize everything you need.

Let me know how it goes :slight_smile:

Cheers !

Hello Benjanmin,

my infra agents are already working with manual helm.

using this guide Kubernetes observability and monitoring with Datadog | Qovery

But I am curious how to enable APM and modify my datadog agents.

Do you mind sharing your datadog/production/datadog_values.yaml along with on which pod you are seeing

Thanks !

my datadog_values.yaml

datadog:
  apiKeyExistingSecret: datadog-secret

  site: datadoghq.eu

  podLabelsAsTags:
    "qovery.com/*": "%%label%%"

  logs:
    enabled: true
    containerCollectAll: true

  apm:
    instrumentation:
      enabled: true
      libVersions:
        ruby: v1.15.0


  containerExcludeLogs: "kube_namespace:kube-system kube_namespace:qovery kube_namespace:cert-manager kube_namespace:nginx-ingress kube_namespace:logging kube_namespace:prometheus"

clusterAgent:
  admissionController:
    enabled: true
    mutateUnlabelled: true
remoteConfiguration:
  enabled: true

and my agent configuration

Are you seeing any metrics in your DD dashboard?

Yes I can see manually triggered metrics, all cluster specific metrics but not my APM

Looking at your values, I am not sure but there is an extra instrumentation level under apm, from charts values it seems that it shouldn’t be there.

Can you try setting:

  apm:
    enabled: true
    libVersions:
      ruby: v1.15.0

Let me know if it helps

it explicitly says

DEPRECATED. Use datadog.apm.portEnabled instead

But I did try yes. doesnt work.

You tried the following?

apm:
    portEnabled: true
    libVersions:
      ruby: v1.15.0

port is through TCP we prefer using UDP but I did try yes :see_no_evil:

we need to change this value helm-charts/charts/datadog/templates/datadog-yaml-configmap.yaml at 44140a92241926d72e2dcb6659ebcbfddff86c34 · DataDog/helm-charts · GitHub

Did you try to set DD_APM_ENABLED=true as env variable?
Also, we are updating our documentation regarding how to deploy DD fallowing our recent Helm support announcement, should be live within next few days.

But with Helm support we can install datadog agents per service right? Can we also install them cluster level?

Yes of course, you do what you want. Usually I think you would install it cluster wide and pick / configure which namespaces / apps / labels to be monitored.

And here you go ! Kubernetes observability and monitoring with Datadog | Qovery