WHERE DO I START?
You are here:Integrations > Netuitive StatsD

Netuitive StatsD

Summary

The Netuitive StatsD server is already installed as part of the Linux Agent. We recommend setting up a Netuitive StatsD integration if you do not have a StatsD server already. The Netuitive StatsD integration interprets, aggregates, and forwards custom metrics generated from your application. Using the values instrumented from your application's key actions and data (method calls, database queries, etc.), Netuitive aggregates the values, associates them with corresponding metrics, and analyzes them in our analytics cycles. Metrics are taken into the server using the specified UDP format:

metric.name:floatvalue|metrictype|@samplerate|#tag1:value1, tag2, tag3:value3
Note   If you have a StatsD server already and want to send your instrumented data to Netuitive, we recommend using our Etsy StatsD integration. Read more about the Etsy StatsD integration here.

Configuration

Important   If you haven't installed the Linux agent already, see the instructions on this page for how to install it. If you need to disable the Linux integration or view the unique API key assigned to your account, navigate to the Integrations page under the user account drop-down menu and click the integration designated as Infrastructure under the Integration column.

Server Setup

  1. Navigate to the Linux Agent configuration file and open it.
    Note   The configuration file is typically found at /opt/netuitive-agent/conf/netuitive-agent.conf.
  2. Change the enabled setting to True in the [[[statsd]]] section of the file.
  3. Optionally, adjust the listen (listen_port and listen_ip) and forward (forward_ip, forward_port, and forward) options. The listen settings are used to tell the Linux Agent where to "listen" for statistics (metrics); typically the server that your application is located. The forward settings are used to tell the Linux Agent where to send the information.
  4. Restart the Linux Agent.

Instrumentation

Netuitive StatsD will collect and organize your data as your application calls functions and methods. This data is flushed to the Netuitive StatsD server every 60 seconds by default, and then aggregated in Netuitive's five-minute batch analytics cycle. After Netuitive analyzes your data, it's then graphed for you to see. The Netuitive StatsD server will place all of your metrics under the StatsD namespace in the Metrics page. Metrics about the Netuitive StatsD server itself are organized under the netuitive-statsd namespace in the Metrics page.

Before you begin instrumenting custom metrics, you'll need to find a language library to "talk" to the Netuitive StatsD server using certain metric types. Netuitive StatsD supports the following metric types:

Note   Your client library may support different metric types, but Netuitive StatsD will only be able to use the metric types listed below.
  • Counters: Count how many times an event occurs.
    example.counter:1|c
  • Timers: Measure in milliseconds how long an action took.
    example.timer:250|ms
  • Gauge: An arbitary, persistent value (e.g., a fuel meter).
    example.gauge:0.6|g
  • Sets: A number of unique elements received over a set interval.
    example.set:username|s
  • Histograms: The statistical distribution of a set of values.
    example.histogram:129|h

Tagging

You can also pass in tags to any of your metrics like so:

netuitive_statsd.increment('login.errors', tags=['name', 'value'])

Be sure to reference the reserved tags section before you begin passing in tags.

Additional Configuration Options

Option Default Description
enabled True Enable collecting Netuitive StatsD metrics.
interval 60 The interval (in seconds) at which to collect metrics.
listen_port 8125 User Datagram Protocol (UDP) port to listen on.
listen_ip 127.0.0.1 IP address to listen on.
element_type SERVER Element type applied to your netuitive-statsd server instance in Netuitive.
prefix statsd Prefix applied to your netuitive-statsd metrics in Netuitive.
forward_ip 127.0.0.1 IP address to forward StatsD messages to.
forward_port 9125 UDP port to forward StatsD messages to.
forward False Enable StatsD forwarding.

Dependencies

OS

Redhat 6 and 7
CentOS 6 and 7
Amazon Linux (latest)
Ubuntu 12, 14, 15, and 16
Debian 7, 8, and 9

Miscellaneous

Linux Agent
  • CPU:
    /proc/stat
  • Diskspace:
    /proc/mounts
  • Disk Usage:
    /proc/diskstats
  • Load Average:
    /proc/loadavg
  • Memory:
    /proc/stat
  • Network:
    /proc/net/dev
  • VM Stat:
    /proc/vmstat

Additional Information

Netuitive StatsD Reserved Metric Tags

Netuitive already uses a few tags, so be mindful when passing in tags with StatsD metrics.

  • h: Sets the hostname (element ID) of the element.
    Important   The h tag should be replaced with caution, as replacing it with a custom value will create a separate, extra element.
  • un: Sets the unit of the metric you're creating. An exhaustive list of the units Netuitive supports can be found here.
  • sds: Defines the strategy for replacing missing data. You can either replace missing data with a zero (ReplaceWithZero) or take no strategy at all (None). You should schedule a data push at least once in every five-minute cycle. If you cannot send data every five minutes, you should consider sending zeroes.
  • ty: Sets the type of the element in Netuitive (e.g., SERVER).