Overview | Index | Help
| Sonic Management API

## Metrics Overview

This documentation describes the metrics exposed by components managed within the Sonic Management environment.

- Introduction - introduction to metrics and how they are enabled.
- Instance Metrics - description of instance metrics and how they are enabled.
- Thresholds & Alerts - description of metric thresholds, how they are defined and the alert notifications they generate.

The following components expose metrics:

- SonicMQ Broker
- Agent (Container)
- Agent Manager
- Collections Monitor
- Logger

See Also:
  Notifications

Introduction

A metric is an interpretation of a statistic. There can be multiple interpretations of a single set of statistical data such as, total, average, maximum, and minimum. A metric is a single value at an instance in time calculated from raw statistical data, for example, a counter, or a rate per second calculated over a collection interval.

Metrics can be selectively and dynamically enabled and disabled at runtime (enabling is maintained across container restarts). A certain amount of overhead (depending on the particular metric) is associated with statistical data collection and metric interpretation. To minimize overhead, all metrics are disabled by default.

Metrics can be enabled/disabled and gathered using:

- The Sonic Management Console described in the SonicMQ Configuration and Management Guide.
- The Sonic Management Application API and the Sonic Administrative Programming Guide.

Metrics are classified into trees of related types. Each metric's path in the tree is represented using a list of strings, where each token describes a branch or leaf. The canonical form of the path is displayed as a period '.' delimited list, e.g. "system.memory.CurrentUsage".

Instance Metrics

Instance metrics are used to apply the same data collection and interpretation to multiple instances of similar entities maintained by a component, e.g. the SonicMQ broker provides instance metrics for queues and connections.

Instance metrics can be dynamically enabled and disabled at runtime for specific instances or instances that match a common prefix pattern (e.g. "queue.messages.Count.SampleQ*"). This allows for gathering metrics pertaining to specific entities of interest.

Enabling instance metrics does not require that a particular entity be present at the time of metric enabling. For example, the SonicMQ broker exposes instance metrics for connections and metrics for a particular connection identity can be enabled prior to the establishment of that particular connection identity (no data collection overhead will be incurred until the connection is established).

Thresholds & Alerts

Certain metrics allow thresholds to be defined for the purpose of asynchronous notification when those thresholds are exceeded. Which metrics allow thresholds to be specified is documented in a particular component type's documentation, e.g. the SonicMQ broker allows thresholds to be specified for the messages delivered to a particular connection identity.

The term used for the notification generated as a result of a threshold having been exceeded is an alert notification. Alert notifications are named based on their source metric (e.g. application.alert.connection.messages.ReceivedPerSecond for the example above) and encapsulate the actual value of the metric and the time the threshold was exceeded.

Where thresholds are allowed, multiple threshold values may be specified. Additionally some metrics allow for both high and low thresholds to be defined.

Overview | Index | Help
| Sonic Management API

Copyright © 2002-2013 Aurea, Inc. All Rights Reserved.