VictoriaMetrics 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
.
See full list of Graphite-related configuration flags by running:
/path/to/victoria-metrics-prod --help | grep datadog
VictoriaMetrics components like vmagent, vminsert or single-node can receive inserts from DataDog agent.
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.