Sending Directly from Instrumented Services

Overview

groundcover supports ingestion of data directly from DataDog SDKs, allowing you to continue using your existing DataDog instrumentation without sending it to DataDog itself.

Why would you use SDK Redirection?

This method is recommended when you want to leverage your existing SDKs - we know how much work it is adding these - without the need to run a DataDog agent or send the generated data to DataDog.

What data will be received in groundcover?

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

  2. Custom metrics - sent by your applications using DogStatsD

Sending custom metrics directly from the SDK is currently only supported for Kubernetes

Traces Sampling in Kubernetes

This part is only relevant for Kubernetes setups. Data sent from from non-kubernetes envs is not sampled.

groundcover automatically performs sampling for traces sent from DataDog SDKs to the sensors in kubernetes clusters.

To configure sampling, the relevant values can be used:

agent:
  sensor:
    apmIngestor:
      dataDog:
        samplingRatio: 0.05

The samplingRatio field is a fraction in the range 0-1. For example, 0.1 means 10% of the incoming traces will be sampled and stored in groundcover.

Configuring 100% Sampling Ratio (No Sampling)

Use the values below to disable sampling and ingest 100% of the incoming traces.

agent:
  sensor:
    apmIngestor:
      dataDog:
        samplingRatio: 1

Setting up Shipping from the Application

Kubernetes

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

  • Traces will be forwarded to the groundcover-sensor service

  • Custom metrics will be forwarded to the groundcover-vector 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 Vector Service Endpoint

Use the instructions here to locate the endpoint for the Vector's service, referenced below as GROUNDCOVER_VECTOR_ENDPOINT.

Configuring the Instrumented Application

Add the following to the application environment variables:

datadog:  
  env:
    - name: "DD_TRACE_AGENT_URL"
      value: "http://{GROUNDCOVER_SENSOR_ENDPOINT}:8126"
    - name: "DD_DOGSTATSD_URL"
      value: "udp://{GROUNDCOVER_VECTOR_ENDPOINT}:8125"

Standalone Hosts

Sending custom metrics directly from the SDK is currently only supported for Kubernetes

The recommended method to Dual Ship data from standalone hosts is by sending it do the groundcover sensor deployed on the host.

Deploy the groundcover sensor

Follow these steps to deploy groundcover sensor on your host:

Connect Linux hosts

Configuring the DataDog Agent

Add the following to the service environment variables:

DD_TRACE_AGENT_URL="https://localhost:8126"

Last updated