-
Notifications
You must be signed in to change notification settings - Fork 111
Monitoring
Rexster comes with a variety of options for monitoring given its integration with Metrics. Rexster continually gathers information about itself as it is accepting requests and sending back responses. This information is then periodically sent to the reporters configured in rexster.xml
. Rexster supports the following reporters:
The metrics provided by Rexster can help inform administrators of Rexster’s health and include things like:
- Gremlin script engine processing times
- RESTful endpoint request/response times
- Underlying JMX attributes from Grizzly and Jersey
All configuration of metrics reporting is handled through rexster.xml
. With in that file, there is a <metrics>
element, which contains one or more <reporter>
elements. These <reporter>
elements represent places where Rexster will make gathered metrics available. Basic reporter configuration looks like this:
<rexster>
...
<metrics>
<reporter>
<type>console</type>
</reporter>
</metrics>
...
</rexster>
The <type>
may be one of the following options: console
, http
, jmx
, ganglia
or graphite
.
type | description | behavior | common 1 |
---|---|---|---|
console |
Metrics written to the console at predefined periods. | scheduled push | Yes |
http |
Metrics served via HTTP as a REST-based service. | on-demand | No |
jmx |
Metrics served as MBean to be consumed by tools like VisualVM. | on-demand | No |
ganglia |
Metrics pushed to Ganglia on a schedule. | scheduled push | Yes |
graphite |
Metrics pushed to Graphite on a schedule. | scheduled push | Yes |
1 – Uses Common Configuration settings explained below.
Rexster provides configuration options for several different reporters.
When the Console Reporter is configured, Rexster will periodically send its metrics to the console output. This reporter is mostly useful for debugging and demonstration purposes. Output looks something like:
4/26/13 5:01:14 PM =============================================================
-- Counters --------------------------------------------------------------------
rexpro.script-engine.fail
count = 0
rexpro.script-engine.success
count = 113650
-- Timers ----------------------------------------------------------------------
rexpro.script-engine
count = 114633
mean rate = 4074.89 calls/second
1-minute rate = 1464.61 calls/second
5-minute rate = 442.48 calls/second
15-minute rate = 252.12 calls/second
...
Reporters that “push” metrics on a schedule have common configuration and default settings as set through the <properties>
element of the <reporter>
. The common configuration looks like this:
<reporter>
...
<properties>
<rates-time-unit>SECONDS</rates-time-unit>
<duration-time-unit>SECONDS</duration-time-unit>
<report-period>60</report-period>
<report-time-unit>SECONDS</report-time-unit>
</properties>
</reporter>
The example above also represents the default settings assigned when none of these values are supplied in configuration.