type=page
status=published
title=monitoring
next=passwords.html
prev=logging.html
~~~~~~

monitoring
==========

[[monitoring-5asc]][[GSRFM00271]][[monitoring]]

monitoring
----------

Reviewing the runtime state of components and services deployed in \{product---name}

[[sthref2406]]

=== Description

Monitoring is the process of reviewing the statistics of a system to
improve performance or solve problems. By monitoring the state of
various components and services deployed in \{product---name},
performance bottlenecks can be identified, failures can be anticipated,
and runtime standards can be established and observed. Data gathered by
monitoring can also be useful in performance tuning and capacity
planning.

The \{product---name} monitoring service is enabled by default, that is,
the `monitoring-enabled` attribute of the `monitoring-service` element
is set to true. Once the monitoring service is enabled, a deployed
module can then be enabled for monitoring by setting its monitoring
level to HIGH or LOW (default is OFF). Monitoring can be configured
dynamically by using the Administration Console or the
`enable-monitoring` and the `disable-monitoring` subcommands. The `set`
subcommand can also be used with dotted names to enable or disable
monitoring. However, a server restart is required for changes made by
using the `set` subcommand to take affect.

Monitoring data can be viewed by using the Administration Console or by
using the subcommands of the `asadmin` utility.

* The `monitor` subcommand displays monitoring data for a given type,
similar to the UNIX `top` command. The data is presented at given
intervals.
* The `list` and `get` subcommands display comprehensive data. Both use
dotted names to specify monitorable objects.

Alternate tools for monitoring \{product---name} components and services
include JConsole and the REST interface.

The Monitoring Scripting Client or DTrace Monitoring can be used to
start the available monitoring probes. Using these tools is helpful in
identifying performance issues during runtime. Monitoring Scripting
Client or DTrace Monitoring are only usable if their modules are
present.

[[sthref2407]]

=== See Also

link:monitor.html#monitor-1[`monitor`(1)],
link:enable-monitoring.html#enable-monitoring-1[`enable-monitoring`(1)],
link:disable-monitoring.html#disable-monitoring-1[`disable-monitoring`(1)],
link:list.html#list-1[`list`(1)], link:get.html#get-1[`get`(1)],
link:set.html#set-1[`set`(1)]

link:dotted-names.html#dotted-names-5asc[`dotted-names`(5ASC)]

link:asadmin.html#asadmin-1m[`asadmin`(1M)]

"link:../administration-guide/monitoring.html#GSADG00011[Administering the Monitoring Service]" in GlassFish
Server Open Source Edition Administration Guide


