StatsD

Overview Copied

StatsD Collection Agent plug-in collects metrics from StatsD clients.

Note

This plugin requires both Netprobe and Gateway 5.1.x or higher.If you are using a Netprobe 5.2.x or higher (contains Collection Agent 2.1.0 or higher) when using this plugin, then you must upgrade to Gateway 5.2.x or higher.

This plugin also requires an additional licence to use. Please contact your ITRS Account Manager or ITRS Sales

StatsD configuration Copied

StatsD is a lightweight, industry standard daemon that allows you to collect and aggregate application metrics. Developers can instrument their applications using language specific libraries and communicate with the StatsD daemon using a simple protocol. Aggregated metrics from the StatsD daemon can be sent a variety of monitoring tools including the StatsDCollection Agent plug-in.

Using a StatsD monitoring solution has the following advantages:

Protocols Copied

You can configure instrumented applications to communicate with the StatsD daemon using either the default User Datagram Protocol (UDP) or the Transmission Control Protocol (TCP).

Using UDP ensures a minimal footprint, and the decoupling of application and instrumentation since it operates on a connectionless fire and forget principle. However, since UDP is connectionless it cannot ensure all packets are delivered or provide congestion control.

Using TCP ensures all messages are delivered since it connection orientated and requires message acknowledgement. However, using TCP can have a performance impact.

ITRS StatsD libraries Copied

ITRS provides custom StatsD libraries that allow you to instrument your applications.

Using ITRSStatsD libraries provides the following additional features:

The available StatsD libraries are:

Supported metrics Copied

The following StatsD metric types are provided by the ITRS StatsD libraries plug-in:

Metric type Description
Counter Integer count that can be incremented or decremented. You can use this to track events such as logins.
Gauge Numerical value that can be set arbitrarily. You can use this to record measured values such as percentage memory usage.
Timer Time duration. You can use this to record the time elapsed between events or the duration of processes.
Set Counter of unique events that can be incremented or decremented.
Event Custom type used to generate Geneos events.
Attribute Static value. You can use this for data that changes inadequately, such as the core count of a host.

Configure Geneos to deploy StatsD Copied

The StatsD plugin supports Collection Agent publication into Geneos using dynamic managed entities. To set up the StatsD plugin in Geneos, follow these steps:

  1. Setup your plugin either by:
    • Setting up your collector in the Gateway Setup Editor in Dynamic Entities > Collectors. For more information, see Collectors in Dynamic Entities.
    • Adding the following configuration in collection-agent.yml file on your local machine.
    collectors:
    - name: statsd
        type: plugin
        class-name: StatsdServer
    
        # Transport protocol.  Can be udp (default) or tcp.
        transport-protocol: udp
    
        # Number of milliseconds between reporting intervals.  All metrics are aggregated and windowed per interval.
        # Defaults to 10 seconds.
        reporting-interval: 10000
    
        # Listen port.  Defaults to 8125.
        listen-port: 8125
    
        # Size (in bytes) of the listening socket's receive buffer.  If configured, an attempt will be made to re-size the
        # buffer, but it is not guaranteed to take the configured size.
        # Defaults to 5MB. 
        receive-buffer-size: 5242880
    
        # Maximum supported message size (in bytes).  Messages over this size are dropped.  
        # Should be configured in correlation with the statsd client max message size.
        # Defaults to 1432 for UDP and 4096 for TCP.
        max-message-size: 1432
    
        # Number of milliseconds after which a metric will be purged if no updates have been received.
        # Defaults to 24 hours.
        stale-metrics-threshold: 86400000	
    
    
        # Optional settings for metric derived from collected metrics.
        derived-metrics:
        timers:
        # Defaults to false.
        enabled: false
    
        # Optional custom percentiles to publish. Default values shown.
        percentiles:
        - 99
        - 95
        - 90
        - 75
        - 50			
    
  2. Configure your custom mappings in Dynamic entities > Mappings setting in the Gateway. For information, see Mapping and mapping group in Dynamic Entities.
  3. Configure your other Dynamic Entities in the Gateway. For more information, see Create Dynamic Entities in Collection Agent setup.
["Geneos"] ["Geneos > Netprobe"] ["User Guide"]

Was this topic helpful?