OpsClarity

OpsClarity is part of Lightbend Monitoring, and together with Cinnamon provides an end-to-end monitoring solution for your Lightbend Platform applications.

As a Lightbend customer you have full access to OpsClarity, bundled with your subscription package. Contact us for more information.

Cinnamon dependency

First make sure that your build is configured to use the Cinnamon Agent and has the Akka instrumentation enabled.

Cinnamon provides a module that contains all the configuration required for reporting telemetry to OpsClarity via DogStatsD. Add the Cinnamon OpsClarity dependency to your build:

sbt
libraryDependencies += Cinnamon.library.cinnamonOpsClarity
Maven
<dependency>
  <groupId>com.lightbend.cinnamon</groupId>
  <artifactId>cinnamon-opsclarity_2.11</artifactId>
  <version>2.6.2</version>
</dependency>
Gradle
dependencies {
  compile group: 'com.lightbend.cinnamon', name: 'cinnamon-opsclarity_2.11', version: '2.6.2'
}

Configuration

The Cinnamon OpsClarity reporter provides a configured StatsD reporter.

The default settings can also be adjusted should you need to. In the Example tab there is example configuration to change which metric fields are reported:

Required
cinnamon.chmetrics {
  reporters += opsclarity-reporter
}
Example
cinnamon.chmetrics {
  reporters += opsclarity-reporter

  opsclarity-reporter {
    report {
      histogram = ["max", "p99", "p999"]
      meter = ["samples"]
    }
  }
}
OpsClarity Reference
cinnamon.chmetrics {
  opsclarity-reporter = ${cinnamon.chmetrics.statsd-reporter} {
    # Port of DogStatsD collector for OpsClarity agent (default is 10101)
    port = 10101

    dogstatsd {
      enabled = on
    }

    report {
      # Histogram fields to report for metrics
      histogram = ["max", "mean", "min", "p95", "p99"]

      # Meter fields to report for metrics
      meter = ["min1_rate", "samples"]
    }
  }
}

Note: These settings are defined in the reference.conf. You only need to specify any of these settings when you want to override the defaults.

StatsD Reference
cinnamon.chmetrics {
  statsd-reporter {

    # StatsD host.
    host = "127.0.0.1"

    # StatsD port.
    port = 8125

    # Frequency of metric reporting to StatsD.
    frequency = 10s

    # Prefix for all metric keys.
    prefix = ""

    # Suffix for all metric keys.
    suffix = ""

    report {
      # Histogram fields to report for metrics
      histogram = ["max", "min", "mean", "median", "stddev", "p75", "p95", "p98", "p99", "p999"]

      # Meter fields to report for metrics
      meter = ["samples", "min1_rate", "min5_rate", "min15_rate", "mean_rate"]
    }

    dogstatsd {
      # Whether DogStatsD format should be used
      enabled = off

      # Prefix for all metric keys, when DogStatsD is enabled
      prefix = ${cinnamon.chmetrics.statsd-reporter.prefix}

      # Suffix for all metric keys, when DogStatsD is enabled
      suffix = ${cinnamon.chmetrics.statsd-reporter.suffix}

      # Tags for all metrics, when DogStatsD is enabled.
      # Uses a "key-value" approach to generate the tags.
      # E.g. the following configuration:
      # tags {
      #   country = "UK"
      # }
      # will generate tags = "country:UK"
      tags {}

      # Whether to include "unique dimensions" as tags.
      # These are tags that are unique to this reporter,
      # such as host name and application identifier.
      # Off by default for compatibility with earlier versions.
      # Note: host tag is also already provided by DogStatsD
      unique-dimensions = off
    }
  }
}

Note: These settings are defined in the reference.conf. You only need to specify any of these settings when you want to override the defaults.