DogStatsD ingestion
All ingested DogStatsD metrics are subject to sanitization rules that follow the Datadog best practice guidelines (opens in a new tab). For example, Chronosphere Observability Platform converts all DogStatsD labels to lowercase.
When accepting DogStatsD metrics over the UDP, Chronosphere recommends running the Collector as a Kubernetes DaemonSet or as a sidecar.
You can enable client-side aggregations for Datadog metrics. These aggregations reduce network egress and processed writes to Observability Platform.
For information on converting Datadog metrics and dashboards to Observability Platform, see our Datadog overview.
Configure DogStatsD ingestion
-
Download this annotated manifest (opens in a new tab) as a starting point.
-
Enable DogStatsD mode under the
push.dogstatsd.enabled
YAML collection in the Collector manifest.push: dogstatsd: enabled: true
-
Modify additional DogStatsD configuration options under the
push.dogstatsd
YAML collection.
DogStatsD configuration options
You can configure the following options in the Collector manifest for DogStatsD.
-
listenAddress
: The address the UDP server listens on. The default is0.0.0.0:9125
. This address is what your DogStatsD client points to.push: dogstatsd: enabled: true listenAddress: 0.0.0.0:9125
-
mode
: You can run DogStatsD ingestion in one of these modes when converting DogStatsD METRIC_NAME (opens in a new tab) into Prometheus labels:regular
,graphite
, orgraphite_expanded
.push: dogstatsd: enabled: true mode: "regular" # "regular", "graphite", or "graphite_expanded"
-
regular
(default): DogStatsDMETRIC_NAME
is assigned the Prometheus__name__
label, replacing all non-alphanumeric and non-dot characters with underscores, with dots changing to underscores (_
).For example, the
METRIC_NAME
my.very.first-metric
changes tomy_very_first_metric{}
. -
graphite
: The Prometheus__name__
label receives a constantstat
name and the DogStatsDMETRIC_NAME
assigned to a Prometheus label set in the configurationnameLabelName
(defaultname
).For example, the
METRIC_NAME
my.very.first-metric
changes tostat{name="my.very.first-metric"}
. -
graphite_expanded
: The same asgraphite
mode, except in addition to storing everything in thenameLabelName
label, it splitsMETRIC_NAME
at each.
and stores each part in separate labels named liket0
,t1
,t2
, and so on.For example, the
METRIC_NAME
my.very.first-metric
changes tostat{name="my.very.first-metric", t0="my", t1="very", t2="first-metric"}
.
-
-
nameLabelName
: Defines the label name used to storeMETRIC_NAME
in thegraphite
andgraphite_expanded
modes.The default value is
name
.push: dogstatsd: enabled: true nameLabelName: name
-
labels
: Adds one or more labels to all DogStatsD metrics pushed.For example, use this configuration to add the labels
env: "staging"
andfeature: "enabled"
to all DogStatsD metrics:push: dogstatsd: enabled: true labels: env: "staging" feature: "enabled"
-
prefix
: Adds a prefix to all DogStatsD metrics pushed.For example, setting this value to
"qa"
prefixes all metric names withqa
. A metric like"build_info.ip"
becomes"qa.build_info.ip"
.push: dogstatsd: enabled: true prefix: "qa"
You must enter a value for the
prefix
parameter to add a prefix to your metric names. If you want to prefix your metrics with a non-alphabetic character (such as a period), you must add that character as a value for theprefix
parameter. For example,prefix: "."
.