Oracle Coherence Monitor

User Guide

 


OCM Substitutions
OCM is a configurable solution for monitoring Coherence clusters. OCM comes with default values for configuration options that determine Monitor behavior. Substitutions are a mechanism that allows you to configure Monitor behavior. At runtime, a defined substitution substitutes your own value for the preconfigured default. In this way, the runtime behavior of OCM can be configured.

We organize the substitutions based on the area of the Monitor they configure. This section explains how to use the following substitutions:

You configure an OCM substitution by defining a value for the substitution. To define the value for a substitution you edit the configuration file that contains the substitution definition. There are two main files in which OCM Substitutions are configured, the OPTIONS.ini file and the cluster.properties file.

OPTIONS.ini File
The OPTIONS.ini file specifies initial values for all application options, including data source options, connection options and alert settings. Alert substitutions and filter substitutions, as well as other types of substitutions, are set in the OPTIONS.ini file. Settings specified in initialization (.ini) files are read by all OCM components on startup: the OC Monitor, Data Server, Display Server and Historian. You can specify a directory for your initialization files. If no directory is specified and initialization files are not found in the directory where you started the current application, OCM searches under lib in your installation directory. The cluster properties file overrides OPTIONS.ini settings. To configure a substitution, open the OPTIONS.ini file in a text editor and edit as necessary.

See a sample OPTIONS.ini file.

Cluster.properties File
The cluster.properties file specifies settings for each cluster. For example, if you have more than one cluster you want to monitor, your cluster properties specifies settings for each cluster. To configure a substitution, open the cluster properties file in a text editor and edit as necessary.

See a sample cluster.properties file.


Substitution Syntax
Substitutions are optional and require the following syntax:

$subname:subvalue $subname2:subvalue2

If a substitution value contains a single quote, it must be escaped using a / :

$filter:Plant=/'Dallas/'

If a substitution value contains a space, it must be enclosed in single quotes. Do not escape these single quotes:

$subname:subvalue $subname2:'sub value 2'

A substitution string cannot contain the following:

:
|
.
tab
space
,
;
=
<
>
'
"
& / \ { } [ ] ( )
NOTE: The substitution string $value is reserved for internal use.

Database Substitutions
This section describes database substitutions which are configured in the OPTIONS.ini file. Use these substitutions to configure database connections and database tables. The table names and data connections specified in the substitutions must match the table names and data connections specified for your database configuration.

NOTE: The use of some persisted history value tables is optional. To prevent the use of such tables use the default substitution value of ‘’ (two single quotes) which prevents reading and writing of the given database table from OCM.

Substitution Description
$ALERTDEFS_DB Use this substitution to specify the SQL connection to use to connect to the database containing alert threshold tables (the named SQL connection name is defined in the OPTIONS.ini file). The default is ALERTDEFS. Configure this substitution in the OPTIONS.ini file.

Example:
sub $ALERTDEFS_DB:ALERTDEFS

$ALERTDEFS_TAB_TABLE Use this substitution to specify the name of the database table containing threshold values for tabular alerts. The default is ALERTDEFS_TAB. Configure this substitution in the cluster.properties file or the OPTIONS.ini file.

NOTE: When this substitution is specified in the Cluster Property File (by the ocm.alertdefs_tab_sub property) it overrides the setting in the OPTIONS.ini file.

Example:
sub $
ALERTDEFS_TAB_TABLE:ALERTDEFS_TAB

$ALERTDEFS_TABLE Use this substitution to specify the database table containing threshold values for scalar alerts. The default is ALERTDEFS. Configure this substitution in the cluster.properties file or the OPTIONS.ini file.

NOTE: When this substitution is specified in the Cluster Property File (by the ocm.alertdefs_sub property) it overrides the setting in the OPTIONS.ini file.

Example:
sub $ALERTDEFS_TABLE:ALERTDEFS

$OCMCACHESERVICESTATS_TABLE Use this substitution to specify the name of the persisted history value table for OCM cache service statistics. The use of this persisted history value table is optional and not enabled, by default (it has a value of ''). Configure this substitution in the OPTIONS.ini file.

Example:
sub $OCMCACHESERVICESTATS_TABLE:OCM_CACHESERVICESTATS_TABLE

$OCMCACHESERVICETOTALS_TABLE Use this substitution to specify the name of the database table containing persisted history values for OCM cache service totals. The default is OCM_CACHESERVICETOTALS. Configure this substitution in the OPTIONS.ini file.

Example:
sub $OCMCACHESERVICETOTALS_TABLE:OCM_CACHESERVICETOTALS

$OCMCACHESTATS_TABLE Use this substitution to specify the name of the database table containing persisted history values for OCM cache statistics. The use of this persisted history value table is optional and not enabled, by default (it has a value of ''). Configure this substitution in the OPTIONS.ini file.

Example:
sub $OCMCACHESTATS_TABLE:OCM_CACHESSTATS_TABLE

$OCMCACHETOTALS_TABLE Use this substitution to specify the name of the database table containing persisted history values for OCM cache totals. The default is OCM_CACHETOTALS. This can be configured in both the cluster.properties file or the OPTIONS.ini file. When this substitution is specified in the Cluster Property File it overrides the setting in the OPTIONS.ini file. To specify this substitution in the cluster.properties file use the ocm.cachetotals_sub property.

Cluster Property File Example:
ocm.cachetotals_sub=
-sub:$OCMCACHETOTALS_TABLE:OCMCACHETOTALS

OPTIONS.ini File Example:
sub $OCMCACHETOTALS_TABLE:OCMCACHETOTALS

$OCMCLUSTERSTATS_TABLE Use this substitution to specify the name of the persisted history value table for OCM cluster statistics. The default is OCM_CLUSTERSTATS. Configure this substitution in the OPTIONS.ini file.

Example:
sub $OCMCLUSTERSTATS_TABLE:OCM_CLUSTERSTATS

$OCMEXTENDCONNECTIONS_TABLE Use this substitution to specify the name of the persisted history value table for OCM extend connections. The use of this persisted history value table is optional and not enabled, by default (it has a value of ''). Configure this substitution in the OPTIONS.ini file.

Example:
sub $OCMEXTENDCONNECTIONS_TABLE:OCM_EXTENDCONNECTIONS

$OCMINVOCATIONSERVICESTATS_TABLE Use this substitution to specify the name of the persisted history value table for OCM invocation service statistics. The use of this persisted history value table is optional and not enabled, by default (it has a value of ''). Configure this substitution in the OPTIONS.ini file.

Example:
sub $OCMINVOCATIONSERVICESTATS_TABLE:OCM_INVOCATIONSERVICESTATS

$OCMINVOCATIONSERVICETOTALS_TABLE
 
Use this substitution to specify the name of the persisted history value table for OCM invocation service totals. The default is OCM_CLUSTERSTATS.  OCM_INVOCATIONSERVICETOTALS. Configure this substitution in the OPTIONS.ini file.

Example:
sub $OCMINVOCATIONSERVICETOTALS_TABLE:OCM_INVOCATIONSERVICETOTALS

$OCMJMXMGMTDATA_TABLE Use this substitution to specify the name of the persisted history value table for OCM JMX management data. The use of this persisted history value table is optional and not enabled, by default (it has a value of ''). Configure this substitution in the OPTIONS.ini file.

Example:
sub $OCMJMXMGMTDATA_TABLE:OCM_JMXMGMTDATA

$OCMJMXSTATSTOTALS_TABLE Use this substitution to specify the name of the persisted history value table for OCM JMX statistic totals. The default is OCM_JMXSTATSTOTALS. Configure this substitution in the OPTIONS.ini file.

Example:
sub $OCMJMXSTATSTOTALS_TABLE:OCM_JMXSTATSTOTALS

$OCMJVMGCINFO_TABLE Use this substitution to specify the name of the persisted history value table for OCM JVM garbage collection information. The use of this persisted history value table is optional and not enabled, by default (it has a value of ''). Configure this substitution in the OPTIONS.ini file.

Example:
sub $OCMJVMGCINFO_TABLE:OCM_JVMGCINFO

$OCMJVMMEMORYPOOL_TABLE Use this substitution to specify the name of the persisted history value table for OCM JVM memory pool data. The use of this persisted history value table is optional and not enabled, by default (it has a value of ''). Configure this substitution in the OPTIONS.ini file.

Example:
sub $OCMJVMMEMORYPOOL_TABLE:OCM_JVMMEMORYPOOL

$OCMJVMOPERATINGSYSTEM2_TABLE Use this substitution to specify the name of the persisted history value table for OCM JVM operating system data. The default is OCM_JVMOPERATINGSYSTEM2. Configure this substitution in the OPTIONS.ini file.

Example:
sub $OCMJVMOPERATINGSYSTEM2_TABLE:OCM_JVMOPERATINGSYSTEM2

$OCMNODESTATS_TABLE Use this substitution to specify the name of the persisted history value table for OCM node statistics. The default is OCM_NODESTATS. This can be configured in both the cluster.properties file or the OPTIONS.ini file. When this substitution is specified in the Cluster Property File it overrides the setting in the OPTIONS.ini file. To specify this substitution in the cluster.properties file use the ocm.nodestats_sub property.

Cluster Property File Example:
ocm.nodestats_sub=
-sub:$OCMNODESTATS_TABLE:OCMNODESTATS

OPTIONS.ini File Example:
sub $OCMNODESTATS_TABLE:OCMNODESTATS

$OCMNODETOTALS_TABLE Use this substitution to specify the name of the persisted history value table for OCM node totals. The default is OCM_NODETOTALS. Configure this substitution in the OPTIONS.ini file.

Example:
sub $OCMNODETOTALS_TABLE:OCM_NODETOTALS

$OCMPROXYSERVICESTATS_TABLE Use this substitution to specify the name of the persisted history value table for OCM proxy service statistics. The use of this persisted history value table is optional and not enabled, by default (it has a value of ''). Configure this substitution in the OPTIONS.ini file. 

Example:
sub $OCMPROXYSERVICESTATS_TABLE:OCM_PROXYSERVICESTATS

$OCMPROXYSERVICETOTALS_TABLE Use this substitution to specify the name of the persisted history value table for OCM proxy service totals. The use of this persisted history value table is optional and not enabled, by default (it has a value of ''). Configure this substitution in the OPTIONS.ini file.

Example:
sub $OCMPROXYSERVICETOTALS_TABLE:OCM_PROXYSERVICETOTALS

$OCMSTORAGESTATS_TABLE Use this substitution to specify the name of the persisted history value table for OCM storage statistics. The use of this persisted history value table is optional and not enabled, by default (it has a value of ''). Configure this substitution in the OPTIONS.ini file.

Example:
sub $OCMSTORAGESTATS_TABLE:OCM_STORAGESTATS

$OCMSTORAGETOTALS_TABLE Use this substitution to specify the name of the persisted history value table for OCM storage totals. The default is OCM_STORAGETOTALS. Configure this substitution in the OPTIONS.ini file.

Example:
sub $
OCMSTORAGETOTALS_TABLE:STORAGETOTALS

$RTVHISTORY_DB Use this substitution to specify the name of the SQL connection to use for the database containing persisted history value tables (the named SQL connection is defined in the OPTIONS.ini file). The default is RTVHISTORY. Configure this substitution in the OPTIONS.ini file.

Example:
sub $RTVHISTORY_DB:RTVHISTORY

 


Alert Substitutions
This section describes alert substitutions which are configured in the OPTIONS.ini file. Use these substitutions to configure behavior of the alerts described in the following table.

Substitution Description
$AVERAGE_MEMORY_TIME_WINDOW Use this substitution to specify the average memory time window (the time range over which available memory is averaged) for the AvailableMemoryLowNodeSpike alert. The default is 86400 seconds (24 hours). Configure this substitution in the OPTIONS.ini file.

Example:
sub $AVERAGE_MEMORY_TIME_WINDOW:86400

$BAD_COMMUNICATION_NODES_TIME_RANGE

 

Use this substitution to specify the time range for the BadCommunicationNodesInTimeRange alert. The default is 300 seconds (5 minutes). Configure this substitution in the OPTIONS.ini file.

Example:
sub $BAD_COMMUNICATION_NODES_TIME_RANGE:300

$NODES_DEPARTED_TIME_WINDOW

 

Use this substitution to specify the time window (the time range over which departed nodes are monitored) for the DepartedNodesPercentage alert. The default is 300 seconds (5 minutes). Configure this substitution in the OPTIONS.ini file.

Example:
sub $
NODES_DEPARTED_TIME_WINDOW:300

 


Filter Substitutions
This section describes filter substitutions which are configured in the OPTIONS.ini file. Use these substitutions to filter the JMX query returning data from the Coherence cluster. Reducing the amount of data retuned can improve OCM performance in cases where returning all data is too much. Filter substitutions specify what data to return in a JMX query (rather than what data to exclude) and subsequently display. Filter substitutions can be used to return all relevant data (when the filter is *) or a subset of data that matches the filter (for example, when the filter is service=DistributedCache,name=foo,*). Data can also be filtered to include a specific value.

For details about JMX specifications, see http://docs.oracle.com/javase/6/docs/technotes/guides/jmx/JMX_1_4_specification.pdf.

Substitution Description
$cacheFilter

Use this substitution to modify the basic OCM Cache query. The purpose of this substitution is to reduce the amount of Cache MBean data gathered from the cluster and subsequently displayed by the Monitor, thereby improving OCM performance. The default is * (asterisk), which returns all Cache MBean data. Configure this substitution in the OPTIONS.ini file.

To illustrate, the following examples contain red bold text to indicate where the $cacheFilter substitution modifies the OCM Cache query.

The following is the basic Cache query used by the OCM which is modified by the value of the $cacheFilter substitution variable: Coherence:type=Cache,$cacheFilter 0 * -1 *-

Examples:
The following cache filter substitution
returns all Cache MBean data:
sub $cacheFilter:*
and produces this query:
Coherence:type=Cache,
* 0 * -1 *-

The following cache filter substitution
returns a subset of Cache MBean data (from the DistributedCache service Cache named foo):
sub $cacheFilter:service=DistributedCache,name=foo,*
and produces this query:
Coherence:type=Cache,service=DistributedCache,name=foo,* 0 * -1 *-

$storageFilter

Use this substitution to modify the basic OCM StorageManager query. The purpose of this substitution is to reduce the amount of StorageManager MBean data gathered from the cluster and subsequently displayed by the Monitor, thereby improving OCM performance. The default is * (asterisk), which returns all StorageManager MBean data. Configure this substitution in the OPTIONS.ini file.

To illustrate, the following examples contain red bold text to indicate where the $storageFilter substitution modifies the OCM StorageManager query. 

The following is the basic StorageManager query used by the OCM which is modified by the value of the $storageFilter substitution variable: Coherence:type=StorageManager,$storageFilter 0 * -1 *-

Examples:
The following storage filter substitution
returns all StorageManager MBean data:
sub $storageFilter:*
and produces this query:
Coherence:type=StorageManager,
* 0 * -1 *-

The following storage filter substitution
returns a subset of StorageManager MBean data (from the DistributedCache service Cache named foo):
sub $storageFilter:service=DistributedCache,cache=foo,*
and produces this query:
Coherence:type=StorageManager,service=DistributedCache,cache=foo,* 0 * -1 *-

 

Cache Substitutions
This section describes cache substitutions which are configured in the OPTIONS.ini file. Use these substitutions to configure cache behavior. For details about OCM caches in the cluster that persist data to the database, see the index.html documentation located in the cachedocs directory. This documentation describes settings for the cache such as persisted columns, default table sizes and compaction rules.

Substitution Description
jvmCondenseRowsInterval Use this substitution to reduce the amount of in-memory data stored in a JVM cache table via in-memory condensing of historical data. Specifies the time interval used for JVM cache history condensing. The default is 300 seconds (5 minutes). Raw values for this interval are condensed into a single value representing the interval, on a per-column basis. Configure this substitution in the OPTIONS.ini file.

Specify a value using the following format:

NNu
where NN is a number and u is a single character. Valid characters are as follows:

w weeks (7 days)
d days
h hours
m minutes
s seconds

For example, to specify a ten minute interval:
10m

If only a number is entered, it is assumed to be seconds.

Example:
sub $jvmCondenseRowsInterval:300

jvmCondenseRowsRawDataTimeSpan Use this substitution to specify the time span of raw JVM historical data held in-memory before in-memory condensing is applied. the raw data is kept in the JVM cache history table and, if enabled, its history_combo table. By default, this is enabled. The default is 1200 seconds (20 minutes). Configure this substitution in the OPTIONS.ini file.

Specify a value using the following format:

NNu
where NN is a number and u is a single character. Valid characters are as follows:

w weeks (7 days)
d days
h hours
m minutes
s seconds

For example, to specify a ten minute interval:
10m

If only a number is entered, it is assumed to be seconds.

Example:
sub $jvmCondenseRowsRawDataTimeSpan:1200

$cacheNameFormat Use this substitution to modify how cache names are shown in OCM displays. Configure this substitution in the OPTIONS.ini file.

By default, $cacheNameFormat is set to 14*14 which displays the initial 14 characters followed by ".." if the name has more than 14 characters, then up to 14 remaining characters, followed again by ".." if the name has more than 28 characters.

You can change the value of $cacheNameFormat to N*M, where N is the number of initial characters to display, and M is the number of ending characters to display. In the following example the initial 4 characters of the cache name are displayed, up to 24 ending characters are displayed, and additional characters are elided and replaced by “…”

Example:
sub $cacheNameFormat:4*24

$ocmCompactionRules

 

Use this substitution to reduce the amount of data stored in the Historian table. Data compaction achieves this by aggregating stored data as the data ages. By default, data compaction is enabled, with settings suitable for most use cases. When data compaction is not enabled, data must be reduced manually by backing up or deleting archived data.

This substitution specifies to aggregate the number of data points and the time intervals for doing so. The default is 1d - ;1w 5m ;1M 15m (see detailed description, below). Configure this substitution in the OPTIONS.ini file.

Compaction is specified using a semi-colon separated list in the following format:

$ocmCompactionRules:'NNu<waitperiod> - ;NNu<firstaggregationrule> ;NNu<secondaggregationrule>'

where NN is a number and u is a single character. Valid characters are as follows:
w weeks (7 days)
d days
m minutes
M months

Using the ocmCompactionRules default settings, for example: sub $ocmCompactionRules:'1d - ;1w 5m ;1M 15m', no compaction occurs for data less than 24 hours old--a 1 day wait period specified by the first rule: 1d -. During this time data is stored 3600 points per hour (every second).

When data is 1 day old, compaction begins at 5 minute intervals for the next week, specified by the second rule: 1w 5m. During this time the data is aggregated at a compaction level of 12 points per hour (60 minutes divided by 5 minutes).

When the data is 8 days old (1 week + 1 day), compaction occurs at 15 minute intervals for the next month, specified by the third rule: 1M 15m. During this time the data is aggregated at a compaction level of 4 points per hour (60 minutes divided by 15 minutes). When that data is 38 days old (1 month + 1 week + 1 day), the data is stored in the Historian table at the compaction level of 4 points per hour.

Data compaction increases the length of time between trend graph data points as the data ages. You can modify compaction settings by editing the ocmCompactionRules substitution in the OPTIONS.ini file. For example, if you need to further reduce the amount of stored Historian data you might increase the compaction level sooner--in the second rule--from 4 points per hour to 1 point per hour. The 4 points per hour compaction level is the maximum recommended as trend graphs plot gaps when the level is above this.

Conversely, if you need more data points to be visible in trend graphs, you might decrease the compaction level from 4 points per hour to 8 points per hour.

Example:
sub $ocmCompactionRules:'1d - ;1w 5m ;1M 15m'

$ocmCondenseRowsInterval Use this substitution to reduce the amount of in-memory data stored in a cache table via in-memory condensing of historical data. Specifies the time interval used for OCM cache history condensing. The default is 300 seconds (5 minutes). Raw values for this interval are condensed into a single value representing the interval, on a per-column basis. Configure this substitution in the OPTIONS.ini file.

Specify a value using the following format:

NNu
where NN is a number and u is a single character. Valid characters are as follows:

w weeks (7 days)
d days
h hours
m minutes
s seconds

For example, to specify a ten minute interval:
10m

If only a number is entered, it is assumed to be seconds.

Example:
sub $ocmCondenseRowsInterval:300

$ocmCondenseRowsRawDataTimeSpan Use this substitution to specify the time span of raw OCM historical data held in-memory before in-memory condensing is applied. The raw data is kept in the OCM cache history table and, if enabled, its history_combo table. By default, this is enabled. The default is 1200 seconds (20 minutes).  Configure this substitution in the OPTIONS.ini file.

Specify a value using the following format:

NNu
where NN is a number and u is a single character. Valid characters are as follows:

w weeks (7 days)
d days
h hours
m minutes
s seconds

For example, to specify a ten minute interval:
10m

If only a number is entered, it is assumed to be seconds.

Example:
sub $jvmCondenseRowsRawDataTimeSpan:1200

ocmMaxNumberOfHistoryRowsLarge Use this substitution to size in-memory storage of history data. This substitution is typically helpful in multi-cluster monitoring, where a cache is used to hold data from multiple clusters. The default is 300000. This substitution is one of three substitutions that are used for the same purpose but for different cache sizes. By default, caches that store history data are categorized by size (as small, medium or large) according to the expected maximum number of history rows they store. Configure this substitution in the OPTIONS.ini file.

Determine the size category of a cache by referring to the number of rows specified for Max Number Of History Rows in the index.html documentation, located in the cachedocs directory.

Cache size categories with default values are as follows:

  • Small: 100000 maximum number of history rows. Use the ocmMaxNumberOfHistoryRowsSmall substitution to modify the maximum number of rows.
  • Medium: 200000 maximum number of history rows. Use the ocmMaxNumberOfHistoryRowsMedium substitution to modify the maximum number of rows.
  • Large: 300000 maximum number of history rows. Use the ocmMaxNumberOfHistoryRowsLarge substitution to modify the maximum number of rows.

A higher number of rows typically shortens response times and makes more history data available, while more memory is consumed. A lower number of rows typically lengthens response times as history data not in-memory is read from the SQL database.

Example:
sub $ocmMaxNumberOfHistoryRowsLarge:300000

ocmMaxNumberOfHistoryRowsMedium Use this substitution to size in-memory storage of history data. This substitution is typically helpful in multi-cluster monitoring, where a cache is used to hold data from multiple clusters. The default is 200000. This substitution is one of three substitutions that are used for the same purpose but for different cache sizes. By default, caches that store history data are categorized by size (as small, medium or large) according to the expected maximum number of history rows they store. Configure this substitution in the OPTIONS.ini file.

Determine the size category of a cache by referring to the number of rows specified for Max Number Of History Rows in the index.html documentation, located in the cachedocs directory.

Cache size categories with default values are as follows:

  • Small: 100000 maximum number of history rows. Use the ocmMaxNumberOfHistoryRowsSmall substitution to modify the maximum number of rows.
  • Medium: 200000 maximum number of history rows. Use the ocmMaxNumberOfHistoryRowsMedium substitution to modify the maximum number of rows.
  • Large: 300000 maximum number of history rows. Use the ocmMaxNumberOfHistoryRowsLarge substitution to modify the maximum number of rows.

A higher number of rows typically shortens response times and makes more history data available, while more memory is consumed. A lower number of rows typically lengthens response times as history data not in-memory is read from the SQL database.

Example:
sub $ocmMaxNumberOfHistoryRowsMedium:200000

ocmMaxNumberOfHistoryRowsSmall Use this substitution to size in-memory storage of history data. This substitution is typically helpful in multi-cluster monitoring, where a cache is used to hold data from multiple clusters. The default is 100000. This substitution is one of three substitutions that are used for the same purpose but for different cache sizes. By default, caches that store history data are categorized by size (as small, medium or large) according to the expected maximum number of history rows they store. Configure this substitution in the OPTIONS.ini file.

Determine the size category of a cache by referring to the number of rows specified for Max Number Of History Rows in the index.html documentation, located in the cachedocs directory.

Cache size categories with default values are as follows:

  • Small: 100000 maximum number of history rows. Use the ocmMaxNumberOfHistoryRowsSmall substitution to modify the maximum number of rows.
  • Medium: 200000 maximum number of history rows. Use the ocmMaxNumberOfHistoryRowsMedium substitution to modify the maximum number of rows.
  • Large: 300000 maximum number of history rows. Use the ocmMaxNumberOfHistoryRowsLarge substitution to modify the maximum number of rows.

A higher number of rows typically shortens response times and makes more history data available, while more memory is consumed. A lower number of rows typically lengthens response times as history data not in-memory is read from the SQL database.

Example:
sub $ocmMaxNumberOfHistoryRowsSmall:100000

ocmRowExpirationMode Use this substitution with the ocmRowExpirationTime and ocmRowExpirationTimeForDelete substitutions to configure the Node Expiration Mode.

Use this substitution to make expired nodes visible and selectable in Monitor displays. The default is 3 (to not mark and show expired nodes in displays). 

When enabled (1) only active node counts are included in the total number of nodes in the system. Expired nodes are included in displays that show all nodes and the expired nodes are highlighted in red. Trend graphs stop updating expired nodes at the time of departure. When displays show selectable nodes (heatmaps, table rows, grids and drop-down lists) the total of selectable nodes is shown - active nodes and expired nodes which are highlighted in red. Also, node drop-down lists include the suffix [X] for departed nodes. Single node displays have a red background for expired nodes.

When not enabled (3) only active nodes are included in the total number of nodes in the system and expired nodes are not shown in displays (they are not considered part of the system).  

Configure this substitution in the OPTIONS.ini file.

where:
1 - Specifies to mark and show expired nodes in displays and allow them to be selectable.
3 - Specifies not to mark and show expired nodes in displays. Only active nodes are shown and selectable. Expired nodes are not part of the system.

Use the ocmRowExpirationTime substitution to specify the amount of time, in seconds, after which a node is considered expired.

Example:
sub $ocmRowExpirationMode:1

ocmRowExpirationTime Use this substitution with the ocmRowExpirationMode and ocmRowExpirationTimeForDelete substitutions to configure the Node Expiration Mode.

Specifies the amount of time, in seconds, after which a node is considered expired when data updates are not received from it. The default is 25 (seconds). Configure this substitution in the OPTIONS.ini file.<

Best practices dictate to allow at least two JMX updates to detect an expired node. Less than two updates might< give a false positive. If node data is missing from one sample, the second sample can confirm it, making a false positive unlikely. To ensure a minimum of two JMX updates, set the ocmRowExpirationTime to 2.5 x the current JMX Mbean sampling interval. For example, if the JMX Mbean sampling interval is 10 seconds, set the ocmRowExpirationTime substitution to ocmRowExpirationTime:25.

Also note that if the ocmRowExpirationTime is set to 3 (or more) x the current JMX Mbean sampling interval, it will take at least three (or more) updates after no data is received from a node before a node is marked expired. Therefore, a higher setting can increase the latency in detecting expired nodes.

The JMX Mbean sampling interval is specified by the jmx_metrics_period attribute.

Example:
sub $ocmRowExpirationTime:25

ocmRowExpirationTimeForDelete Use this substitution with the ocmRowExpirationMode and ocmRowExpirationTime substitutions to configure the Node Expiration Mode.

Specifies the amount of time, in seconds, after which an expired node is no longer shown in displays. The default is 25 (seconds). Configure this substitution in the OPTIONS.ini file.

Example:
sub $ocmRowExpirationTimeForDelete:25

 

Node Expiration Mode Substitutions 
When nodes expire, by default they are no longer selectable, nor are they shown, in OCM displays. However, under certain circumstances it might be beneficial to display them, and control how long expired nodes are shown in OCM displays. There are three possible modes you can configure for expired nodes:

  • Mode 1: Expired nodes are not shown in displays (the default)

  • Mode 2: Expired nodes are shown and selectable in displays indefinitely. Expired nodes persist as expired nodes until they rejoin the cluster. If there is a large population of expired nodes, consider Mode 3.

  • Mode 3: Expired nodes are shown and selectable in displays for a specified time, then they are removed from displays at a user-specified time. This option enables you to manage the clutter of expired nodes – with the time window with which you wish to investigate them.

NOTE: Expired nodes that rejoin the cluster are no longer considered expired, and thus are displayed and selectable.

To change the node expiration mode you configure three substitutions, ocmRowExpirationMode, ocmRowExpirationTime and ocmRowExpirationTimeForDelete.

Example Mode 1: Expired nodes not shown in displays

sub $ocmRowExpirationMode:3
sub $ocmRowExpirationTime:25
sub $ocmRowExpirationTimeForDelete:25

Where:

$ocmRowExpirationTime is 2.5 times the jmx_update_period in seconds
$ocmRowExpirationTimeForDelete is the same value as ocmRowExpirationTime (nodes are deleted as they expire and are thus not displayed)

Example Mode 2: Expired nodes shown and selectable in displays indefinitely

sub $ocmRowExpirationMode:1
sub $ocmRowExpirationTime:25
sub $ocmRowExpirationTimeForDelete:25

Where:

$ocmRowExpirationMode is 1
$ocmRowExpirationTime is 2.5 times the jmx_update_period in seconds
$ocmRowExpirationTimeForDelete is ignored in this mode

Example Mode 3: Expired nodes shown and selectable in displays for a specified time

sub $ocmRowExpirationMode:3
sub $ocmRowExpirationTime:25
sub $ocmRowExpirationTimeForDelete:86400

Where:

$ocmRowExpirationMode is 3
$ocmRowExpirationTime is 2.5 times the jmx_update_period in seconds
$ocmRowExpirationTimeForDelete is the amount of time, in milliseconds, expired nodes are displayed. This value must be longer than $ocmRowExpirationTime. A value of 86400 would display expired nodes for 24 hours.

jmx_metrics_period
It is helpful to understand jmx_metrics_period when configuring node expiration modes. The jxm_metrics_period is an attribute used to control the rate at which JMX MBean attributes are polled. It can be used to balance the overhead of requesting the data, with the latency of the results. To avoid overloading systems, request data at a rate no faster than it can be produced by the system being monitored. See the Metrics Administration display to see the total time taken to obtain the JMX data.

The jmx_metrics_period attribute specifies the time interval, in milliseconds, for polling MBean attributes and operations executed in data attachments if no poll interval is specified in the data attachment. The default is 10000 (10 seconds). This attribute is specified in the JMXOPTIONS.ini file, located in the OC Monitor projects\myocm directory. This attribute can be overridden by the ocm.jmx_period property in the Cluster.properties file

Because the Default Poll Interval is superseded by the General Update Period, the amount of time elapsed between MBean polls might be longer than the value entered. For example, if the General Update Period is 2000 milliseconds and the Default Poll Interval is 5000 milliseconds, MBean attributes and operations are polled every six seconds.

Cluster Substitutions
This section describes cluster substitutions which are configured in the OPTIONS.ini file. Use these substitutions to configure cluster behavior.

Substitution Description
$coherenceGlobalDomain Use this substitution to fetch data from "super size" clusters. Specifies the global domain name for JMX Queries. The default is Coherence. Configure this substitution in the OPTIONS.ini file. Use the default value of Coherence to fetch data from Coherence MBeans. NOTE: This feature requires additional system management for the cluster that is not included with the OC Monitor. For information, contact SL Corporation, at info@sl.com.

Example:
sub $coherenceGlobalDomain:Coherence

$coherenceLocalDomain Use this substitution to fetch data from "super size" clusters. Specifies the local domain name for JMX Queries. The default is Coherence. Configure this substitution in the OPTIONS.ini file. Use the default value of Coherence to fetch data from Coherence MBeans. NOTE: This feature requires additional system management for the cluster that is not included with the OC Monitor. For information, contact SL Corporation, at info@sl.com.

Example:
sub $coherenceLocalDomain:Coherence

 

Sample Configuration Files
Most OCM Substitutions are configured in one of the following files:

Sample Cluster Properties File

The cluster properties file overrides OPTIONS.ini settings. The following is an example in which three clusters are monitored by OCM.

  # OCM Cluster Configuration Parameters
#
# Specify whether OCM should connect as a node or not
sl.rtview.ocm.node=true

# These are used if sl.rtview.ocm.node=true
# Specify Coherence parameters for connecting as a node
# These are the most commonly used parameters; see end of file for complete list
tangosol.coherence.cluster=MyClusterName
tangosol.coherence.wka=

tangosol.coherence.management.refresh.policy=refresh-expired
tangosol.coherence.management.refresh.expiry=500

# These are used if sl.rtview.ocm.node=false
# Specify parameters for connecting via JMX host and port
#sl.rtview.ocm.jmxhost=localhost
#sl.rtview.ocm.jmxport=9971

# - use a connection defined in JMXOPTIONS.ini
#sl.rtview.ocm.jmxconn=<connection_name>
#
# Specify parameters for connecting via JMX RMI
# Comment the JMX host and port properties if using RMI
#sl.rtview.ocm.jmxurl=service:jmx:rmi://localhost:3000/jndi/rmi://localhost:9000/server

# Options for OCM agent, data server, display server and historian options
ocm.work_dir=projects/myocm
ocm.log_dir=logs

# Usage flags require true/false
ocm.use_jmxtables=false
ocm.use_fastjmx=false
# Default ocm.use_agent should be false
ocm.use_agent=false

ocm.agent_dir=projects/myocm_agent
ocm.agent_port=3351

ocm.jmx_period=10000
ocm.dataserver_port=3381
ocm.displayserver_port=3361

# When dataserver_url is empty a default is generated automatically in the scripts
# When defined, it is used as is.
# Example: Direct Data Server Connection:
# ocm.dataserver_url=-dataserver://dataserver_host:dataserver_port
# Example: HTTP Data Server Connection:
# ocm.dataserver_url=-dataserver:remote:http://http_host:http_port/myocm_rtvdata
ocm.dataserver_url=

ocm.agent_log=MyClusterName_agent.log
ocm.data_log=MyClusterName_dataserver.log
ocm.display_log=MyClusterName_displayserver.log
ocm.historian_log=MyClusterName_historian.log

ocm.cachetotals_sub=-sub:$CACHETOTALS_TABLE:CACHETOTALS_MyClusterName
ocm.nodestats_sub=-sub:$NODESTATS_TABLE:NODESTATS_MyClusterName
ocm.alertdefs_sub=-sub:$ALERTDEFS_TABLE:ALERTDEFS_MyClusterName
ocm.alertdefs_tab_sub=-sub:$ALERTDEFS_TAB_TABLE:ALERTDEFS_TAB_MyClusterName

# OCV Options
ocv.work_dir=projects/myocv
ocv.log_dir=logs
ocv.dataserver_port=3341
ocv.dataserver_url=
ocv.displayserver_port=3321
ocv.data_log=MyClusterName_dataserver.log
ocv.display_log=MyClusterName_displayserver.log
ocv.historian_log=MyClusterName_historian.log

#-----------------------------------------------------------------------------
# The list of Coherence properties available for use in this file:
#tangosol.coherence.cluster=
#tangosol.coherence.clusteraddress=
#tangosol.coherence.clusterport=
#tangosol.coherence.override=
#tangosol.coherence.edition=
#tangosol.coherence.mode=
#tangosol.coherence.wka=
#tangosol.coherence.wka.port=
#tangosol.coherence.localhost=
#tangosol.coherence.localport=
#tangosol.coherence.cacheconfig=
#tangosol.coherence.management.refresh.policy=
#tangosol.coherence.management.refresh.expiry=
#tangosol.pof.enabled=
#tangosol.pof.config=
#tangosol.coherence.ttl=

 


Sample OPTIONS.ini File

  update_period 2000
redraw_rate 500
enable_data true
enable_antialias truestart
global ts_global_nodes.rtv
global ts_global_services.rtv
global ts_global_cluster.rtv
max_displays_in_cache 10
01342013450133701339013440130201339013490133101332013420133501334 01350013480135101335

#dataserver name=OCMAgent;connect=//localhost:3351

sub $RTVHISTORY_DB:RTVHISTORY
sub $ALERTDEFS_DB:ALERTDEFS
sub $ALERTDEFS_TABLE:ALERTDEFS
sub $ALERTDEFS_TAB_TABLE:ALERTDEFS_TAB

# New Subs for OCM cache history tables

#
# Default OCM Cache History Tables
#
sub $OCMCLUSTERSTATS_TABLE:OCM_CLUSTERSTATS
sub $OCMCACHETOTALS_TABLE:OCM_CACHETOTALS
sub $OCMSTORAGETOTALS_TABLE:OCM_STORAGETOTALS
sub $OCMCACHESERVICETOTALS_TABLE:OCM_CACHESERVICETOTALS
sub $OCMINVOCATIONSERVICETOTALS_TABLE:OCM_INVOCATIONSERVICETOTALS
sub $OCMNODETOTALS_TABLE:OCM_NODETOTALS
sub $OCMNODESTATS_TABLE:OCM_NODESTATS

#
# Optional Stats OCM Cache History Tables
#
#sub $OCMCACHESERVICESTATS_TABLE:OCM_CACHESERVICESTATS_TABLE
#sub $OCMINVOCATIONSERVICESTATS_TABLE:OCM_INVOCATIONSERVICESTATS
#sub $OCMCACHESTATS_TABLE:OCM_CACHESTATS
#sub $OCMSTORAGESTATS_TABLE:OCM_STORAGESTATS

sub $OCMCACHESERVICESTATS_TABLE:''
sub $OCMINVOCATIONSERVICESTATS_TABLE:''
sub $OCMCACHESTATS_TABLE:''
sub $OCMSTORAGESTATS_TABLE:''

#
# Optional Proxy / Extend OCM Cache History Tables
#

#sub $OCMPROXYSERVICESTATS_TABLE:OCM_PROXYSERVICESTATS
#sub $OCMPROXYSERVICETOTALS_TABLE:OCM_PROXYSERVICETOTALS
#sub $OCMEXTENDCONNECTIONS_TABLE:OCM_EXTENDCONNECTIONS

sub $OCMPROXYSERVICESTATS_TABLE:''
sub $OCMPROXYSERVICETOTALS_TABLE:''
sub $OCMEXTENDCONNECTIONS_TABLE:''


#
# Optional JVM/GC/JMX OCM Cache History Tables
#

#sub $OCMJVMGCINFO_TABLE:OCM_JVMGCINFO
#sub $OCMJVMMEMORYPOOL_TABLE:OCM_JVMMEMORYPOOL
#sub $OCMJVMOPERATINGSYSTEM2_TABLE:OCM_JVMOPERATINGSYSTEM
#sub $OCMJMXMGMTDATA_TABLE:OCM_JMXMGMTDATA
#sub $OCMJMXSTATSTOTALS_TABLE:OCM_JMXSTATSTOTALS

sub $OCMJVMGCINFO_TABLE:''
sub $OCMJVMMEMORYPOOL_TABLE:''
sub $OCMJVMOPERATINGSYSTEM2_TABLE:OCM_JVMOPERATINGSYSTEM
sub $OCMJMXMGMTDATA_TABLE:''
sub $OCMJMXSTATSTOTALS_TABLE:OCM_JMXSTATSTOTALS


sub $clusterName:ClusterUnknown

sub $cacheFilter:*
#sub $cacheFilter:service=DistributedCache,name=foo,*
sub $cacheNameFormat:4*24

sub $storageFilter:*
#sub $storageFilter:service=DistributedCache,cache=foo,*

#
# OCM Cache History Size Subs
#
sub $ocmMaxNumberOfHistoryRowsSmall:100000
sub $ocmMaxNumberOfHistoryRowsMedium:200000
sub $ocmMaxNumberOfHistoryRowsLarge:300000


#
# OCM Cache Condense/Compaction Subs
#
sub $ocmCondenseRowsRawDataTimeSpan:1200
sub $ocmCondenseRowsInterval:300
sub $ocmCompactionRules:'1d - ;1w 5m ;1M 15m'

#
# OCM JVM Cache Condense/Compaction Subs
#
sub $jvmCondenseRowsRawDataTimeSpan:1200
sub $jvmCondenseRowsInterval:300


#
# Expiry Mode
# 1 = Mark // Show Expired nodes
# 3 = Mark + Delete // Remove (don't show) Expired Nodes
#
sub $ocmRowExpirationMode:3
sub $ocmRowExpirationTime:25

#
#Alert Configuration Subs
#
sub $AVERAGE_MEMORY_TIME_WINDOW:86400
sub $BAD_COMMUNICATION_NODES_TIME_RANGE:300
sub $NODES_DEPARTED_TIME_WINDOW:600

#
# Super Size Cluster Subs
#
sub $coherenceGlobalDomain:Coherence
sub $coherenceLocalDomain:Coherence

#
# Initial cluster connection
#
sub $cluster_conn local


heartbeat_enable false
heartbeat_period 0
heartbeat_command
xmlsource constants.xml 0 constants.xml 0 1
defaultxmlsource constants.xml
xmlsource navtree_tabs.xml 0 navtree_tabs.xml 0 1
xmlsource ocm_displays.xml 0 ocm_displays.xml 0 1

defaultdb RTVHISTORY
sqldb ALERTDEFS sa - jdbc:hsqldb:hsql://localhost:3380/alertdefs org.hsqldb.jdbcDriver - false true
sqldb RTVHISTORY sa - jdbc:hsqldb:hsql://localhost:3380/rtvhistory org.hsqldb.jdbcDriver - false true

 

 

 

 


 

RTView contains components licensed under the Apache License Version 2.0.

 

Treemap Algorithms v1.0  is used without modifications and licensed by MPL Version 1.1. Copyright © 2001 University of Maryland, College Park, MD

 

Datejs is licensed under MIT. Copyright © Coolite Inc.

 

jQuery is licensed under MIT. Copyright © John Resig,

 

JCalendar 1.3.2 is licensed under LGPL. Copyright © Kai Toedter.

 

jQuery is licensed under MIT. Copyright (c) 2009 John Resig, http://jquery.com/ JCalendar 1.3.2 is licensed under LGPL. Copyright © Kai Toedter.

 

JMS, JMX and Java are trademarks or registered trademarks of Sun Microsystems, Inc. in the United States and other countries. They are mentioned in this document for identification purposes only. 

 

SL, SL-GMS, GMS, RTView, SL Corporation, and the SL logo are trademarks or registered trademarks of Sherrill-Lubinski Corporation in the United States and other countries. Copyright © 1998-2011 Sherrill-Lubinski Corporation. All Rights Reserved.