StatsD is an industry standard for communicating arbitrary statistics and other metrics in a vendor-independent way via UDP. We recommend that you use Dynatrace OneAgent to ingest your metrics, as OneAgent comes with a StatsD daemon out of the box. This means that any application or library that supports StatsD can send metrics to Dynatrace. You only need to install OneAgent and make sure that your StatsD client uses the right port (18125
by default).
StatsD daemon is only available on OneAgent installed on the VM or host that you want to monitor. OneAgent deployed on Kubernetes, for example using Dynatrace Operator, isn't supported. For Kubernetes environments, we recommend remote StatsD monitoring using an ActiveGate.
If you can't install OneAgent on a host with your StatsD metrics, however, you can use an ActiveGate to act as a remote listener.
The DynatraceStatsD listener comes with OneAgent version 1.201+. You only need to enable DynatraceStatsD metric ingestion at the environment, host, or host group level. Note that the host-level and host group-level configurations override the environment configuration.
To enable DynatraceStatsD metric ingestion at the environment level
To enable DynatraceStatsD metric ingestion at the host group level
To enable DynatraceStatsD metric ingestion only for selected hosts
ActiveGate version 1.227+
If you can't use OneAgent to ingest StatsD metrics, you can use an Environment ActiveGate as your DynatraceStatsD ingestion point. Your ActiveGate needs to be able to connect to your StatsD client over UDP.
DynatraceStatsD metric ingestion is disabled by default on an ActiveGate.
To enable DynatraceStatsD metric ingestion
extensionsuser.conf
file in the following directory
/var/lib/dynatrace/remotepluginmodule/agent/conf/extensionsuser.conf
C:\ProgramData\dynatrace\remotepluginmodule\agent\conf\extensionsuser.conf
statsdenabled
parameter to true
:
statsdenabled=true
service extensionsmodule stopservice extensionsmodule start
systemctl stop extensionsmodulesystemctl start extensionsmodule
Dynatrace Extensions Controller
service or run the following commands:
net stop "Dynatrace Extensions Controller"net start "Dynatrace Extensions Controller"
Note that the default port for remote StatsD is different than for the OneAgent DynatraceStatsD listener (18126
). See Remote StatsD.
This file is not modified during ActiveGate updates.
Make sure that your ActiveGate can connect to your StatsD client. For example, you should configure the DNS name for your ActiveGate and make sure that it works after a new IP address is assigned from DHCP.
The default DynatraceStatsD UDP listening port for the OneAgent listener is 18125
. If necessary, you can use the oneagentctl command to check or change the metric ingestion port. Changing the port requires restart of OneAgent. Add --restart-service
to the command to restart OneAgent automatically.
Use the --get-extensions-statsd-port
parameter to show the current DynatraceStatsd UDP listening port (default = 18125
).
./oneagentctl --get-extensions-statsd-port
.\oneagentctl.exe --get-extensions-statsd-port
Use the --set-extensions-statsd-port=<arg>
parameter to set a custom DynatraceStatsd UDP listening port.
./oneagentctl --set-extensions-statsd-port=18125 --restart-service
.\oneagentctl.exe --set-extensions-statsd-port=18125 --restart-service
The default DynatraceStatsD UDP listening port for a remote listener is 18126
.
To change the default 18126
listening port, modify the StatsdPort
parameter in the ActiveGate extensionsuser.conf
file:
/var/lib/dynatrace/remotepluginmodule/agent/conf/extensionsuser.conf
C:\ProgramData\dynatrace\remotepluginmodule\agent\conf\extensionsuser.conf
:StatsdPort=18126
Using DynatraceStatsD with OneAgent, the host ID and host name context are added as dimensions to each metric automatically. For more information, see Metric ingestion. Note that we're already working on more automatic metric enrichments. For remote ingestion, no extra enrichment is added. If you want to add context to your metrics, you'll need to add dimensions of your choice to your StatsD metrics.
The DynatraceStatsD OneAgent listener only accepts input from localhost addresses. This means that only processes that are running on the same host as OneAgent can leverage the interface. This ensures that no unauthorized programs are sending data to your Dynatrace environment.
DynatraceStatsD accepts the following metrics in the native StatsD format:
count
<metric name>:<value>|c
gauge
<metric name>:<value>|g
time
<metric name>:<value>|ms
histogram
<metric name>:<value>|h
set
OneAgent version 1.303+
<metric name>:<value>|s
distribution
<metric name>:<value>|d
DynatraceStatsD extends the original protocol to enable you to also send dimensions. Use the following format:
<metric name>:<value>|g|#<Dimension1>:<value>,<Dimension2>:<value>
The limits are based on the test that deploys a Linux machine in the AWS cloud. The purpose of this test is to determine how much StatsD load the infrastructure framework can handle.
OneAgent and ActiveGate are installed in a Linux-based VM in Amazon EC2 c5.large instance type.