VictoriaMetrics components like vmagent, vminsert or single-node accepts data from DataDog agent
,
DogStatsD
and DataDog Lambda Extension
via “submit metrics” API
at /datadog/api/v2/series
or via “sketches” API at /datadog/api/beta/sketches
.
For logs ingestion see DataDog integration with VictoriaLogs .
See full list of DataDog-related configuration flags by running:
/path/to/victoria-metrics-prod --help | grep datadog
See how to send data to VictoriaMetrics via DataDog “submit metrics” API . The imported data can be read via export API .
Sending metrics to VictoriaMetrics #
DataDog agent allows configuring destinations for metrics sending via ENV variable DD_DD_URL
or via configuration file
in section dd_url
.

To configure DataDog agent via ENV variable add the following prefix:
DD_DD_URL=http://<victoriametrics-addr>:8428/datadog
Replace <victoriametrics-addr>
with the VictoriaMetrics hostname or IP address.
For cluster version use vminsert address:
http://<vminsert-addr>:8480/insert/<tenant>/datadog
Replace <vminsert-addr>
with the hostname or IP address of vminsert service.
If you have more than 1 vminsert, configure load-balancing
.
Replace <tenant>
based on your multitenancy settings
.
To configure DataDog agent via configuration file add the following line:
dd_url: http://<victoriametrics-addr>:8428/datadog
Sending metrics to DataDog and VictoriaMetrics #
DataDog allows configuring Dual Shipping
via ENV variable
DD_ADDITIONAL_ENDPOINTS
or via configuration file additional_endpoints
.

Run DataDog agent using the following ENV variable with VictoriaMetrics as additional metrics receiver:
DD_ADDITIONAL_ENDPOINTS='{\"http://<victoriametrics-addr>:8428/datadog\": [\"apikey\"]}'
To configure DataDog Dual Shipping via configuration file add the following line:
additional_endpoints:
"http://<victoriametrics-addr>:8428/datadog":
- apikey
Serverless DataDog plugin #
Disable logs (logs ingestion is not supported by VictoriaMetrics) and set a custom endpoint in serverless.yaml
:
custom:
datadog:
enableDDLogs: false # VictoriaMetrics doesn't support logs ingestion.
apiKey: fakekey # Set any key, otherwise plugin fails
provider:
environment:
DD_DD_URL: <victoriametrics-addr>:8428/datadog # VictoriaMetrics endpoint for DataDog
For logs ingestion see DataDog integration with VictoriaLogs .
Additional details #
VictoriaMetrics automatically sanitizes metric names for the data ingested via DataDog protocol
according to DataDog metric naming recommendations
.
If you need accepting metric names as is without sanitizing, then pass -datadog.sanitizeMetricName=false
command-line flag to VictoriaMetrics.
Extra labels may be added to all the written time series by passing extra_label=name=value
query args.
For example, /datadog/api/v2/series?extra_label=foo=bar
would add {foo="bar"}
label to all the ingested metrics.
DataDog agent sends the configured tags
to
undocumented endpoint - /datadog/intake
. This endpoint isn’t supported by VictoriaMetrics yet.
This prevents from adding the configured tags to DataDog agent data sent into VictoriaMetrics.
The workaround is to run a sidecar vmagent
alongside every DataDog agent,
which must run with DD_DD_URL=http://localhost:8429/datadog
environment variable.
The sidecar vmagent
must be configured with the needed tags via -remoteWrite.label
command-line flag and must forward
incoming data with the added tags to a centralized VictoriaMetrics specified via -remoteWrite.url
command-line flag.
See how to add labels to metrics on ingestion.