Dual Shipping from the DataDog Agent

Overview

groundcover supports ingestion of data from the DataDog agent in Dual Shipping mode, allowing you to continue using DataDog normally while ingesting your traces and metrics in groundcover.

Why would you use Dual Shipping?

This method is recommended in two scenarios:

  1. Evaluation of groundcover - showcasing all data available in the groundcover platform while maintaining your existing stack

  2. Ongoing SDK migrations - supporting teams migrating from DataDog SDKs to open source standards like OpenTelemetry. You can work on the new SDKs while still using the old ones, and even compare them side-by-side in the platform.

What data will be received in groundcover?

  1. Traces - allowing you to use the DataDog distributed traces generated by your applications

  2. APM metrics - allowing you to use DataDog APM metrics (e.g trace.) common in monitors and dashboards

  3. Custom metrics - sent by your applications using DogStatsD

About Sampling

No sampling is done when data is sent from the DataDog agent.

Setting up Dual Shipping

Kubernetes

The recommended method to Dual Ship data in Kubernetes is by sending it to groundcover components inside the cluster

  • Traces and APM will be forwarded to the groundcover-sensor service

  • Custom metrics will be forwarded to the groundcover-custom-metrics service

Finding the groundcover sensor service endpoint

Use the instructions here to locate the endpoint for the sensor service, referenced below as {GROUNDCOVER_SENSOR_ENDPOINT}.

Finding the groundcover Custom Metrics Service Endpoint

Use the instructions here to locate the endpoint for the Custom Metrics service, referenced below as {GROUNDCOVER_CUSTOM_METRICS_ENDPOINT}.

Turning on Custom Metrics

Add the following values to your deployment configuration:

custom-metrics:
  enabled: true

Configuring the DataDog Agent

Add the following to the DataDog agent configuration:

datadog:  
  env:
    - name: "DD_APM_ADDITIONAL_ENDPOINTS"
      value: "{\"http://{GROUNDCOVER_SENSOR_ENDPOINT}:8126\": [\"groundcover-placeholder\"]}"
    - name: "DD_ADDITIONAL_ENDPOINTS"
      value: "{\"http://{GROUNDCOVER_CUSTOM_METRICS_ENDPOINT}:8429/datadog\": [\"groundcover-placeholder\"]}"

Non-Kubernetes

The recommended method to Dual Ship data from Non-Kubernetes is by sending it the groundcover BYOC endpoint.

Get your InCloud site address

Find your inCloud site in your installation values.yaml:

global:
  ingress:
    site: {inCloud_Site}

Need help finding your site value? Contact us on Slack.

Create an ingestion key

See how in the ingestion key docs.

Configuring the DataDog Agent

Add the following to the DataDog agent configuration:

DD_APM_ADDITIONAL_ENDPOINTS='{\"https://{inCloud_Site}:443\": [\"ingestion-key\"]}'
DD_ADDITIONAL_ENDPOINTS='{\"https://{inCloud_Site}:443/datadog\": [\"ingestion-key\"]}'

Last updated