Send StatsD metrics to Dynatrace
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).
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.
Enable DynatraceStatsD
The DynatraceStatsD listener comes with OneAgent version 1.201+. You only need to enable DynatraceStatsD metric ingestion at the environment or host level. Note that the host-level configuration overrides the environment configuration.
Communication port
OneAgent listener
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.
Check the ingestion port
Use the --get-extensions-statsd-port
parameter to show the current DynatraceStatsd UDP listening port (default = 18125
).
- Linux:
./oneagentctl --get-extensions-statsd-port
- Windows:
.\oneagentctl.exe --get-extensions-statsd-port
Set a custom ingestion port
Use the --set-extensions-statsd-port=<arg>
parameter to set a custom DynatraceStatsd UDP listening port.
- Linux:
./oneagentctl --set-extensions-statsd-port=18125 --restart-service
- Windows:
.\oneagentctl.exe --set-extensions-statsd-port=18125 --restart-service
Remote StatsD
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:
- Linux
/var/lib/dynatrace/remotepluginmodule/agent/conf/extensionsuser.conf
- Windows
C:\ProgramData\dynatrace\remotepluginmodule\agent\conf\extensionsuser.conf
:
StatsdPort=18126
Topology awareness
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.
Security
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.
StatsD metric format
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
<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>
Datasource limits and performance
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.
Hardware specification
OneAgent and ActiveGate are installed in a Linux-based VM in Amazon EC2 c5.large instance type.
- CPU: x2
- RAM: 4 GiB
- Storage: EBS
- Network bandwidth: up to 10 GBPS
Total records | Packets | Lines per packet | Connections | Metrics | |
---|---|---|---|---|---|
StatsD on OneAgent | 290,000 | 11,600 | 25 | 1 | 1 |
StatsD on ActiveGate | 345,00 | 13,800 | 25 | 1 | 1 |