Send metrics and traces to both Lightstep Observability and Datadog

To send metrics and traces to Lightstep Observability and to Datadog, you need to add or update the endpoints. The endpoints take a key value pair, where the key for metrics is the Lightstep metrics ingest domain (https://metricingest.lightstep.com) and the key for trace data is the endpoint to your Microsatellite environment (where the data is collected). The value for both is your Lightstep Observability access token. You can configure this using either YAML or environment variables.

Use YAML to configure the Agent

  1. In your datadog.yaml file, add the additional_endpoints property in the Basic Configuration section, and configure it with the URL for Lightstep metrics ingest and your Lightstep access token.

If your environment uses public Microsatellites, use the values shown in the example for the trace endpoint. For on-premise Microsatellites, use the Microsatellite’s IP address.

Start tabs

Public Microsatellites

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#########################
## Basic Configuration ##
#########################

api_key: <EXISTING_DATADOG_API_KEY>

additional_endpoints:
  'https://metricingest.lightstep.com':
    - <LIGHTSTEP_ACCESS_TOKEN>

####################################
## Trace Collection Configuration ##
####################################

apm_config:
  additional_endpoints:
    'https://ingest.lightstep.com':
      - <LIGHTSTEP_ACCESS_TOKEN>

On-Premise Microsatellites

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#########################
## Basic Configuration ##
#########################

api_key: <EXISTING_DATADOG_API_KEY>

additional_endpoints:
  'https://metricingest.lightstep.com':
    - <LIGHTSTEP_ACCESS_TOKEN>

####################################
## Trace Collection Configuration ##
####################################

apm_config:
  additional_endpoints:
    '<MICROSATELLITE_ENDPOINT>':
      - <LIGHTSTEP_ACCESS_TOKEN>
    

End code tabs

  1. Redeploy the configuration file and restart the Datadog Agent.
    At startup, look for a log message containing Forwarder started;. This lists the destinations the agent is sending to (which should include both Datadog and Lightstep Observability).

Use environment variables to configure the Agent

The Datadog Docker Agent, the containerized version of the Datadog Agent, supports configuration via environment variables.

  1. Set the DD_APM_ADDITIONAL_ENDPOINTS variable with the appropriate endpoint for your Microsatellite environment. If your environment uses public Microsatellites, use the values shown in the example. For on-premise Microsatellites, use the Microsatellite’s IP address for the trace endpoint.

  2. Set the DD_ADDITIONAL_ENDPOINTS environment variable with values for the Lightstep metrics ingest domain (https://metricingest.lightstep.com) and Lightstep access token.
    Replace <LIGHTSTEP_ACCESS_TOKEN> with your value, and ensure it is in serialized JSON format.

Public Microsatellite configuration

Start tabs

Docker Run

1
2
-e DD_APM_ADDITIONAL_ENDPOINTS='{"https://ingest.lightstep.com": ["LIGHTSTEP_ACCESS_TOKEN"]}'
-e DD_ADDITIONAL_ENDPOINTS='{"https://metricingest.lightstep.com": ["LIGHTSTEP_ACCESS_TOKEN"]}'

Kubernetes

1
2
3
4
5
env:
  - name: DD_APM_ADDITIONAL_ENDPOINTS
    value: '{"https://ingest.lightstep.com": ["LIGHTSTEP_ACCESS_TOKEN"]}'
  - name: DD_ADDITIONAL_ENDPOINTS
    value: '{"https://metricingest.lightstep.com": ["LIGHTSTEP_ACCESS_TOKEN"]}'

Docker Compose

1
2
3
4
5
services:
  datadog:
    environment:
      - DD_APM_ADDITIONAL_ENDPOINTS='{"https://ingest.lightstep.com": ["LIGHTSTEP_ACCESS_TOKEN"]}'  
      - DD_ADDITIONAL_ENDPOINTS='{"https://metricingest.lightstep.com": ["LIGHTSTEP_ACCESS_TOKEN"]}'

End code tabs

On-Prem Microsatellite configuration

Start tabs

Docker Run

1
2
-e DD_APM_ADDITIONAL_ENDPOINTS='{'<MICROSATELLITE_ENDPOINT>': ["LIGHTSTEP_ACCESS_TOKEN"]}'
-e DD_ADDITIONAL_ENDPOINTS='{"https://metricingest.lightstep.com": ["LIGHTSTEP_ACCESS_TOKEN"]}'

Kubernetes

1
2
3
4
5
env:
  - name: DD_APM_ADDITIONAL_ENDPOINTS
    value: '{'<MICROSATELLITE_ENDPOINT>': ["LIGHTSTEP_ACCESS_TOKEN"]}'
  - name: DD_ADDITIONAL_ENDPOINTS
    value: '{"https://metricingest.lightstep.com": ["LIGHTSTEP_ACCESS_TOKEN"]}'

Docker Compose

1
2
3
4
5
services:
  datadog:
    environment:
      - DD_APM_ADDITIONAL_ENDPOINTS='{'<MICROSATELLITE_ENDPOINT>': ["LIGHTSTEP_ACCESS_TOKEN"]}'  
      - DD_ADDITIONAL_ENDPOINTS='{"https://metricingest.lightstep.com": ["LIGHTSTEP_ACCESS_TOKEN"]}'

End code tabs

  1. Restart the Datadog Agent.
    At startup, look for a log message containing Forwarder started;. This lists the destinations the agent is sending to (which should include both Datadog and Lightstep Observability).
  1. Restart the Datadog Agent.
    At startup, look for a log message containing Forwarder started;. This lists the destinations the agent is sending to (which should include both Datadog and Lightstep Observability).

What Did we learn?

  • To send metric and trace data to Lightstep Observability, you need to update the endpoints in your Datadog configuration.