type=page
status=published
title=disable-monitoring
next=disable-secure-admin.html
prev=disable-http-lb-server.html
~~~~~~
disable-monitoring
==================

[[disable-monitoring-1]][[GSRFM00120]][[disable-monitoring]]

disable-monitoring
------------------

disables monitoring for the server or for specific monitorable modules

[[sthref1063]]

Synopsis

[source,oac_no_warn]
----
asadmin [asadmin-options] disable-monitoring [--help] 
[--modules module-name][:module-name]*
----

[[sthref1064]]

Description

The `disable-monitoring` subcommand is used to turn off monitoring for
\{product---name} or for particular modules during runtime. Changes are
dynamic, that is, server restart is not required.

Running the `disable-monitoring` subcommand without the `--module`
option disables the monitoring service by setting the
`monitoring-enabled` attribute of the `monitoring-service` element to
`false`. The individual modules retain their monitoring levels, but no
monitoring data is generated because the entire monitoring service is
disabled.

This subcommand used with the `--modules` option disables monitoring for
a module by setting the monitoring level to OFF. The status of the
monitoring service is not affected. For a list of monitorable modules,
see the `--modules` option in this help page.

An alternative method for disabling monitoring is to use the `set`
subcommand. In this case, the server must be restarted for changes to
take effect.

This subcommand is supported in remote mode only.

[[sthref1065]]

Options

asadmin-options::
  Options for the `asadmin` utility. For information about these
  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
`--help`::
`-?`::
  Displays the help text for the subcommand.
`--modules`::
  Disables the specified module or modules by setting the monitoring
  level to OFF. Multiple modules are separated by : (colon). Monitorable
  modules include `connector-connection-pool`, `connector-service`,
  `ejb-container`, `http-service`, `jdbc-connection-pool`, `jersey`,
  `jpa`, `jms-service`, `jvm`, `security`, `thread-pool`,
  `transaction-service`, `web-container`, and `web-services-container`.
  Additional modules can be listed by using the `get` subcommand.

[[sthref1066]]

Operands

[[sthref1067]]

Examples

[[GSRFM594]][[sthref1068]]

Example 1   Disabling the Monitoring Service for \{product---name}

This example disables monitoring for \{product---name} in general by
setting the `enable-monitoring` flag to `false` (default is `true`).

[source,oac_no_warn]
----
asadmin> disable-monitoring
Command disable-monitoring executed successfully
----

[[GSRFM595]][[sthref1069]]

Example 2   Disabling Monitoring for the Web and EJB Containers

This example disables monitoring for specific containers. Their
monitoring levels will be set to OFF.

[source,oac_no_warn]
----
asadmin> disable-monitoring --modules web-container:ejb-container
Command disable-monitoring executed successfully
----

[[sthref1070]]

Exit Status

0::
  subcommand executed successfully
1::
  error in executing the subcommand

[[sthref1071]]

See Also

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

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

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

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


