You can use Sumo’s streaming metrics source with an installed collector to collect metrics from any application that emits metrics over TCP or UDP in the Graphite, Carbon 2.0, or Prometheus plaintext protocols. The streaming metrics source is analogous to a Syslog server, but for receiving metrics rather than logs.

Metrics support for Carbon 2.0 format requires collector version 19.216-22 or higher.

In the procedure below, you configure a streaming metrics source on an installed collector. You can deploy an installed collector with the streaming metrics source on each host from which you want to collect metrics. If you prefer, you can use a single centralized installed collector and source and point the remote hosts to the centralized installed collector, rather than localhost.

The procedure below assumes you will use an installed collector on each host from which you want to collect metrics.

Configure a streaming metrics source

Perform these steps on each host from which you want to collect metrics:

Protocol. By default, TCP is selected. If your apps or infrastructure use UDP, use the pull-down to select UDP.

ContentType. By default, Graphite is selected. If your apps or infrastructure emit metrics using the Carbon 2.0 format, use the pull-down to select Carbon2 or Prometheus.

Source Category. Enter a source category. Once you start ingesting metrics, you can use the _sourceCategory metadata field with this value to search for metrics. Example source categories:

prod/web/metrics or

dev/web/metrics

Click Save.

Specify the network interface for a streaming metrics source

When configuring a streaming metrics source on a computer that has more than one network interface you can specify which network interface the collector should bind to. This option is set in the collector.properties file in the collector’s config folder.

To specify the network interface

Navigate to collector/config/collector.properties. Open the file in a text editor.

Add the following line to the collector.properties file, where your_host_name identifies the network interface you'd like to use.streaming.metrics.hostname=your_host_name

The Prometheus format does not support metadata in the format itself. You can attach metadata to Prometheus metrics by specifying it the HTTP header when you upload the metrics to Sumo. For more information, see Upload Metrics to an HTTP Source.