Monitoring Metric Types
This section describes the monitoring metric types that are available in AM. The available types are:
- Summary
Metric that samples observations, providing a count of observations, sum total of observed amounts, average rate of events, and moving average rates across sliding time windows.
Fields
When using the Common REST, JMX, or Graphite interfaces, the
Summary
metric type has the following fields:Field Description _id
The metric ID. _type
The metric type. count
The number of events recorded for this metric. total
The sum of the values of events recorded for this metric.
Note
As the increment is always 1, the total and the count will always be equal.
m1_rate
The one-minute average rate. m5_rate
The five-minute average rate. m15_rate
The fifteen-minute average rate. mean_rate
The average rate. units
A description of the units the metric is presented in. The following is an example of the
authentication.success
metric from the Common REST endpoint:{ "_id" : "authentication.success", "_type" : "summary", "count" : 2, "total" : 2.0, "m1_rate" : 3.2668341885586836E-14, "m5_rate" : 7.794695663154025E-5, "m15_rate" : 0.01377545747021923, "mean_rate" : 8.238608027596704E-4, "units" : "events/second" }
Prometheus Fields
The Prometheus endpoint does not provide rate-based statistics, as rates can be calculated from the time-series data.
When using the Prometheus interface, the
Summary
metric type has the following fields:Field Description # TYPE
The metric ID, and type. Formatted as a comment. _count
The number of events recorded. _total
The sum of the amounts of events recorded The following is an example of the
am_authentication{outcome="success"}
metric from the Prometheus endpoint:# TYPE am_authentication summary am_authentication_count{outcome="success"} 2.0 am_authentication_total{outcome="success"} 2.0
- Timer
Metric that combines both rate and duration information.
Fields
When using the Common REST, JMX, or Graphite interfaces, the
Timer
metric type has the following fields:Field Description _id
The metric ID. _type
The metric type. count
The number of events recorded for this metric. total
The sum of the durations recorded for this metric. min
The minimum duration recorded for this metric. max
The maximum duration recorded for this metric. mean
The mean average duration recorded for this metric. stddev
The standard deviation of durations recorded for this metric. duration_units
The units used for measuring the durations in the metric. p50
50% of the durations recorded are at or below this value. p75
75% of the durations recorded are at or below this value. p95
95% of the durations recorded are at or below this value. p98
98% of the durations recorded are at or below this value. p99
99% of the durations recorded are at or below this value. p999
99.9% of the durations recorded are at or below this value. m1_rate
The one-minute average rate. m5_rate
The five-minute average rate. m15_rate
The fifteen-minute average rate. mean_rate
The average rate. rate_units
The units used for measuring the rate of the metric. Note
Duration-based values, such as
min
,max
, andp50
, are weighted towards newer data. By representing approximately the last five minutes of data, the timers make it easier to see recent changes in behavior, rather than a uniform average of recordings since the server was started.The following is an example of the
cts.connection.success
metric from the Common REST endpoint:{ "_id" : "cts.connection.success", "_type" : "timer", "count" : 486, "total" : 80.0, "min" : 0.0, "max" : 1.0, "mean" : 0.1905615495053855, "stddev" : 0.39274399467782056, "duration_units" : "milliseconds", "p50" : 0.0, "p75" : 0.0, "p95" : 1.0, "p98" : 1.0, "p99" : 1.0, "p999" : 1.0, "m1_rate" : 0.1819109974890356, "m5_rate" : 0.05433445522996721, "m15_rate" : 0.03155662103953588, "mean_rate" : 0.020858521722211427, "rate_units" : "calls/second" }
Prometheus Fields
The Prometheus endpoint does not provide rate-based statistics, as rates can be calculated from the time-series data.
When using the Prometheus interface, the
Timer
metric type has the following fields:Field Description # TYPE
The metric ID, and type. Note that the Timer
metric type is reported as aSummary
type. Formatted as a comment._count
The number of events recorded. _total
The sum of the durations recorded. {quantile="0.5"}
50% of the durations are at or below this value. {quantile="0.75"}
75% of the durations are at or below this value. {quantile="0.95"}
95% of the durations are at or below this value. {quantile="0.98"}
98% of the durations are at or below this value. {quantile="0.99"}
99% of the durations are at or below this value. {quantile="0.999"}
99.9% of the durations are at or below this value. Note
Duration-based quantile values are weighted towards newer data. By representing approximately the last five minutes of data, the timers make it easier to see recent changes in behavior, rather than a uniform average of recordings since the server was started.
The following is an example of the
am_authentication{outcome="success"}
metric from the Prometheus endpoint:# TYPE am_cts_connection_seconds summary am_cts_connection_seconds{outcome="success",quantile="0.5",} 0.0 am_cts_connection_seconds{outcome="success",quantile="0.75",} 0.0 am_cts_connection_seconds{outcome="success",quantile="0.95",} 0.001 am_cts_connection_seconds{outcome="success",quantile="0.98",} 0.001 am_cts_connection_seconds{outcome="success",quantile="0.99",} 0.001 am_cts_connection_seconds{outcome="success",quantile="0.999",} 0.001 am_cts_connection_count{outcome="success",} 492.0 am_cts_connection_seconds_total{outcome="success",} 0.081
- Gauge
Metric for a numerical value that can increase or decrease. The value for a gauge is calculated when requested, and represents the state of the metric at that specific time.
Fields
When using the Common REST, JMX, or Graphite interfaces, the
Timer
metric type has the following fields:Field Description _id
The metric ID. _type
The metric type. value
The current value of the metric. The following is an example of the
jvm.used-memory
metric from the Common REST endpoint:{ "_id" : "jvm.used-memory", "_type" : "gauge", "value" : 2.13385216E9 }
Prometheus Fields
When using the Prometheus interface, the
Timer
metric type has the following fields:Field Description # TYPE
The metric ID, and type. Formatted as a comment. {Metric ID}
The current value. Large values may be represented in scientific E-notation. The following is an example of the
am_jvm_used_memory_bytes
metric from the Prometheus endpoint:# TYPE am_jvm_used_memory_bytes gauge am_jvm_used_memory_bytes 2.13385216E9
- DistinctCounter
Metric providing an estimate of the number of unique values recorded.
For example, this could be used to estimate the number of unique users who have authenticated, or unique client IP addresses.
Note
The
DistinctCounter
metric is calculated per instance of AM, and cannot be aggregated across multiple instances to get a site-wide view.Fields
When using the Common REST, JMX, or Graphite interfaces, the
DistinctCounter
metric type has the following fields:Field Description _id
The metric ID. _type
The metric type. Note that the distinctCounter
type is reported as agauge
type. The output formats are identical.value
The calculated estimate of the number of unique values recorded in the metric. The following is an example of the
authentication.unique-uuid.success
metric from the Common REST endpoint:{ "_id" : "authentication.unique-uuid.success", "_type" : "gauge", "value" : 3.0 }
Prometheus Fields
When using the Prometheus interface, the
distinctCounter
metric type has the following fields:Field Description # TYPE
The metric ID, and type. Note that the distinctCounter
type is reported as agauge
type. The output formats are identical. Formatted as a comment.{Metric ID}
The calculated estimate of the number of unique values recorded in the metric. The following is an example of the
am_authentication_unique_uuid{outcome="success"}
metric from the Prometheus endpoint:# TYPE am_authentication_unique_uuid gauge am_authentication_unique_uuid{outcome="success"} 3.0