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:
Evaluation of groundcover - showcasing all data available in the groundcover platform while maintaining your existing stack
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?
Traces - allowing you to use the DataDog distributed traces generated by your applications
APM metrics - allowing you to use DataDog APM metrics (e.g
trace.) common in monitors and dashboardsCustom 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-sensorserviceCustom metrics will be forwarded to the
groundcover-custom-metricsservice
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: trueConfiguring the DataDog Agent
Add the following to the DataDog agent configuration:
Leave groundcover-placeholder as is - do not replace with a real API key
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}Create an ingestion key
See how in the ingestion key docs.
Configuring the DataDog Agent
Add the following to the DataDog agent configuration:
Don't forget to replace "ingestion-key" with the real ingestion key created.
DD_APM_ADDITIONAL_ENDPOINTS='{\"https://{inCloud_Site}:443\": [\"ingestion-key\"]}'
DD_ADDITIONAL_ENDPOINTS='{\"https://{inCloud_Site}:443/datadog\": [\"ingestion-key\"]}'Last updated
