Docs » Available host and application monitors » Configure application receivers for networks » Statsd

Statsd πŸ”—

Description πŸ”—

The Splunk Distribution of OpenTelemetry Collector provides this integration as the statsd monitor type using the Smart Agent Receiver.

Use this monitor to collect statsd metrics. This monitor listens on a configured address and port to receive the statsd metrics. The monitor supports the Counter, Timer, Gauge, and Set types, which are dispatched as the Splunk Observability Cloud types counter, gauge, gauge, and gauge respectively. Statsd extensions such as tags are not supported.

This integration is available for Kubernetes and Linux.

Benefits πŸ”—

After you configure the integration, you can access these features:

Installation πŸ”—

Follow these steps to deploy this integration:

  1. Deploy the Splunk Distribution of OpenTelemetry Collector to your host or container platform:

  2. Configure the monitor, as described in the Configuration section.

  3. Restart the Splunk Distribution of OpenTelemetry Collector.

Note

This monitor is not available on Windows.

Verifying the installation πŸ”—

To verify the installation, send statsd metrics locally with netcat as follows, then verify in Observability Cloud that the metric arrived:

$ echo "statsd.test:1|g" | nc -w 1 -u 127.0.0.1 8125

For Kubernetes environments, use the status.hostIP environment variable to verify the installation. This environment variable is the IP address of the node where the pod is running.

Configuration πŸ”—

This monitor type is available in the Smart Agent Receiver, which is part of the Splunk Distribution of OpenTelemetry Collector. You can use existing Smart Agent monitors as OpenTelemetry Collector metric receivers with the Smart Agent Receiver.

This monitor type requires a properly configured environment on your system in which you’ve installed a functional Smart Agent release bundle. The Collector provides this bundle in the installation paths for x86_64/amd64.

To activate this monitor type in the Collector, add the following lines to your configuration (YAML) file:

Note

Provide a StatsD monitor entry in your Smart Agent or Collector configuration. Use the appropriate form for your agent type.

Splunk Distribution of OpenTelemetry Collector πŸ”—

To activate this monitor in the Splunk Distribution of OpenTelemetry Collector, add the following to your agent configuration:

receivers:
  smartagent/statsd:
    type: statsd
    ...  # Additional config

To complete the monitor activation, you must also include the smartagent/statsd receiver item in a metrics pipeline. To do this, add the receiver item to the service > pipelines > metrics > receivers section of your configuration file. For example:

service:
  pipelines:
    metrics:
      receivers: [smartagent/statsd]

Smart Agent πŸ”—

To activate this monitor in the Smart Agent, add the following to your agent configuration:

monitors:  # All monitor config goes under this key
  - type: statsd
    ...  # Additional config

See Install and configure the SignalFx Smart Agent for an autogenerated example of a YAML configuration file, with default values where applicable.

Configuration settings πŸ”—

The following table shows the configuration options for the statsd monitor:

Option

Required

Type

Description

listenAddress

No

string

The host or address on which to bind the UDP listener that accepts statsd datagrams. The default value is localhost.

listenPort

No

integer

The port on which to listen for statsd messages. The default value is 8125.

metricPrefix

No

string

A prefix in metric names that needs to be removed before metric name conversion.

converters

No

list of objects (see below)

A list converters to convert statsd metric names into SignalFx metric names and dimensions.

The nested converters configuration object has the following fields:

Option

Required

Type

Description

pattern

No

string

A pattern to match against statsd metric names.

metricName

No

string

A format to compose a metric name to report to Splunk Observability Cloud.

The Smart Agent and Collector don’t do any built-in filtering of metrics that come out of this monitor.

Metrics πŸ”—

This section describes how metrics can be collected with this monitor.

Adding dimensions to statsd metrics πŸ”—

The statsd monitor can parse keywords from a statsd metric name by a set of converters configured by a user, as shown in the following example:

converters:
  - pattern: "cluster.cds_{traffic}_{mesh}_{service}-vn_{}.{action}"
    ...

This converter parses traffic, mesh, service, and action as dimensions from the cluster.cds_egress_ecommerce-demo-mesh_gateway-vn_tcp_8080.update_success metric. If a section has only a pair of brackets without a name, it does not capture a dimension.

When multiple converters are provided, a metric is converted by the first converter with a matching pattern to the metric name.

Formatting metric name πŸ”—

You can customize a metric name by providing a format string within the converter configuration, as shown in the following example:

converters:
  - pattern: "cluster.cds_{traffic}_{mesh}_{service}-vn_{}.{action}"
    metricName: "{traffic}.{action}"

The metrics that match to the given pattern are reported to Infrastructure Monitoring as {traffic}.{action}. For instance, metric cluster.cds_egress_ecommerce-demo-mesh_gateway-vn_tcp_8080.update_success is reported as egress.update_success.

metricName is required for a converter configuration. A converter is disabled if metricName is not provided.

Data points get a host dimension of the current host that the agent is running on, not the host from which the statsd metric was sent. For this reason, send statsd metrics to a local agent instance. If you don’t want the host dimension, you can set disableHostDimensions: true on the monitor configuration.

Get help πŸ”—

If you are not able to see your data in Splunk Observability Cloud, try these tips:

To learn about even more support options, see Splunk Customer Success.