• Home
  • Extend Dynatrace
  • Extend metric observability
  • Ingestion methods
  • Send StatsD metrics to Dynatrace

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.

Enable at the environment level

To enable DynatraceStatsD metric ingestion at the environment level

  1. Go to Settings > Monitoring > Monitored technologies.
  2. In the list of supported technologies, search for the Dynatrace OneAgent StatsD, Pipe, HTTP Metric API entry.
  3. Select Edit.
  4. Turn on Enable Extensions Execution Controller on every host.
  5. Turn on StatsD.

Disable on selected hosts

When enabled at the environment level, you can disable ingestion for selected hosts.

  1. From the navigation menu, select Hosts, and select your host.
  2. Open the browse menu (…) and select Settings.
  3. In the Monitored technologies table, search for the StatsD entry. You can sort by Type and look for the Infrastructure insights type.
  4. Select Edit.
  5. Turn on Use host configuration.
  6. Turn off Enable on this host.
Enable for a single host

To enable DynatraceStatsD metric ingestion only for selected hosts

  1. Go to Settings > Monitoring > Monitored technologies.
  2. In the list of supported technologies, search for the Dynatrace OneAgent StatsD, Pipe, HTTP Metric API entry.
  3. Select Edit.
  4. Turn off Extension Execution Controller.
  5. From the navigation menu, select Hosts, and select your host.
  6. Open the browse menu (…) and select Settings.
  7. In the Monitored technologies table, search for the Extensions Execution Controller entry. You can sort by Type and look for the Infrastructure insights type. Select Edit and turn on Use host configuration and Enable on this host.
  8. Search for StatsD entry.
  9. Edit the entry.
    • Turn on Use host configuration.
    • Turn on Enable on this host.
Enable remote StatsD
ActiveGate 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

  1. Edit the extensionsuser.conf file in the following directory
    • Linux /var/lib/dynatrace/remotepluginmodule/agent/conf/extensionsuser.conf
    • Windows C:\ProgramData\dynatrace\remotepluginmodule\agent\conf\extensionsuser.conf
  2. Set the statsdenabled parameter to true:
    plaintext
    statsdenabled=true
  3. Restart the Extension Execution Controller service.
    • Linux Run the following commands:
      • for systems with SystemV:
        shell
        service extensionsmodule stop service extensionsmodule start
      • for systems with systemd:
        shell
        systemctl stop extensionsmodule systemctl start extensionsmodule
    • Windows Use Task Manager and restart the Dynatrace Extensions Controller service or run the following commands:
      shell
      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.

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:
plaintext
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 gauge and count metrics in the native StatsD format

plaintext
<metric name>:<value>|g

where g is a gauge metric value.

DynatraceStatsD extends the original protocol to enable you to also send dimensions. Use the following format:

plaintext
<metric name>:<value>|g|#<Dimension1>:<value>,<Dimension2>:<value>