### Describe Your Changes Don't use legacy pages, use direct links to proper pages, avoid redirects or alias (aka `.html`) pages. ### Checklist The following checks are **mandatory**: - [ ] My change adheres to [VictoriaMetrics contributing guidelines](https://docs.victoriametrics.com/victoriametrics/contributing/#pull-request-checklist). - [ ] My change adheres to [VictoriaMetrics development goals](https://docs.victoriametrics.com/victoriametrics/goals/).
5.1 KiB
title, weight, menu
| title | weight | menu | ||||||
|---|---|---|---|---|---|---|---|---|
| Datadog | 4 |
|
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.

