General

Info Version Displays the version of ColdFusion from where Performance Monitoring Toolset gathers all metrics.

Performance Monitoring Toolset

Host

Host name on which Performance Monitoring Toolset runs.

Port

Port number of Performance Monitoring Toolset server.

  Session Timeout Specifies the number of seconds that Performance Monitoring Toolset can remain idle before it terminates automatically.

Datastore

Host

Host name on which Datastore runs.

Port

Port number of Datastore server.

Note:

After making the changes, you must restart Performance Monitoring Toolset.

ColdFusion servers

Untracked servers

These are the servers that were not being tracked by the toolset when you started the toolset for the first time.

You can add the servers manually to be discovered by the toolset.

Server name IP address of the machine where ColdFusion is running.
Port no. The port of the server where ColdFusion is running.
J2EE context

Because the J2EE environment supports multiple, isolated web applications running in a server instance, J2EE web applications running in a server are each rooted at a unique base URL, called a context root (or context path). The J2EE application server uses this initial portion of the URL (that is, the portion immediately following http://hostname) to determine which web application services an incoming request.

For example, if you are running ColdFusion with a context root of cf1, you display the ColdFusion Administrator using the URL http://localhost/cf1/CFIDE/administrator/index.cfm.

Specify the context only in case of a J2EE server.

Monitoring shared secret

The shared secret is a key that is required by the Performance Monitoring Toolset to communicate with ColdFusion node.

To get the shared secret, in the ColdFusion Administrator, click Performance Monitoring Toolset, and toggle the option Show Secret.

Toggle the Auto-discovery switch to discover any new ColdFusion servers added in the network.

Tracked servers

These are the servers that were automatically discovered by the toolset when starting up.

You can:

  • Search for a tracked server
  • Send a server back to the untracked servers list
  • See a list of other servers that are tracked by another instance of Performance Monitoring Toolset.

Groups

There are situations when you only want to monitor a handful of sites. Instead of monitoring them separately, you can combine them and create a group. You can then apply the monitoring settings on the new group.

Name Name of the group.
Servers From the drop-down list, choose the node you want to add to the group.

You can modify a group and delete a group.

After deleting a group, all instances in the group (stand-alone or J2EE) reverts to being stand-alone nodes.

You can add as many instances as you can in a group.

If a site is served by two nodes, you can include the sites in a group, and then you can see how the sites are performing.

Similarly, you can include as many nodes you require in a group and monitor them collectively.

Note:

In a group, you cannot add clusters. You can only stand-alone nodes (ColdFusion or JEE) in a group.

Users

Username

The user name of the user who will have access to Performance Monitoring Toolset.

Password

The password of the user who will have access to Performance Monitoring Toolset.

Roles

Specify if the user is an admin or a normal user.

Allow client certificate authentication

Specify the following arguments in jvm.config to authenticate in this manner:

  • Firstly, to enable CCA, must set "-Dpms.security.admin.clientcert.auth=true" in jvm.config.
  • Secondly, to specify which header is to be checked for relevant information, you must set "-Dpms.security.admin.clientcert.subject.header=NPKE_SUBJECT" where the value is the header to be checked.
  • Thirdly, an optional parameter to be set is "-Dpms.security.admin.clientcert.subject.matchcriteria=CN". If you set the field, then the user information is taken from CN field of that header. Otherwise, the entire header value are taken by default.

Once the settings are enabled, the username or password field does not get displayed on the interface.

Archiving

As data grows in time, the need to properly archive it grows as well.

Archiving helps you to maintain regular backups of your data and comply with an organization's data retention policies. Using archiving, you can remove obsolete production data via a well-defined process. In Performance Monitoring Toolset, you can archive records in a repository and also set the frequency of archival and data retention period.

Create repository Repositories  
  Name Name of the repository to be created.
  Path

To register the shared file system repository, mount the same shared filesystem to the same location on all master and data nodes.

Path to the repository.

  • Windows: The format for path is C:/path/to/repository
  • Non-Windows: The format for path is /opt/path/to/repository

You must also whitelist the paths in the datastore configuration file at <Path to Performance Monitoring Toolset>/datastore/config/elasticsearch.yml.

For example,

In the elastricsearch.yml file, add the following:

path.repo: ["C:/path/to/repository"]

  Archive schedule
  • Enable: Choose this check-box to enable archiving for the selected repository.
  • Repository name: Lists all repositories created.
  • Archive data older than: Enter the number of days that data has to be retained from the time when archiving starts. If you have specified 30 days, only data for the last 30 days is retained. The rest is archived.
  • Frequency: Enter the interval in days to schedule the archiving periodically.

Monitoring

Basic

Enable monitoring

Enable this flag to start monitoring and collect metrics

 

Enable ColdFusion Administrator monitoring

This flag indicates whether ColdFusion Admin pages must be monitored or not.

Advanced

Enable tag/function monitoring

When enabled, the toolset collects information about ColdFusion tags and functions. The information is about the number of times a specific tag is called and the average time for execution.

Note: For capturing tag-related data for external services, this setting is not required. The metrics are captured as part of basic monitoring.

Connector Auto Tuning

Enable auto tuning

Enable to set auto-tuning of connector.

 

Auto-tuning threshold percentage

Enter the threshold for tuning if the above option is enabled.

 

Pool increase percentage

Enter the percentage for increasing the asynchronous pool.

  Maximum pool size Determines the maximum number of connections that can be created in the connection pool.

Include paths

 

Absolute path of the file that you want the suite to include in monitoring activity, provided that the file is present inside Exclude Path.

Exclude paths

 

Absolute path of the directory that you want the suite to restrict from monitoring.

Health score & baseline

Performance Monitoring Toolset can measure how your system is performing. In various pages of our brand new toolset, you can find health scores for node/application/cluster/group. These health scores reflect the state of various components in your ColdFusion setup.

This is how the health score is calculated.

Node Health Score

Health Score depends on four parameters. They are - ART, Error rate, CPU usage, and Memory Usage. The toolset calculates scores for each of the four parameters as shown below.

  • ART Score: To calculate an ART score, the ART of the last five minutes is calculated and compared against the ART provided by you.
  • For example, if Abaseline  is the baseline ART provided you and Aactual is ART of last five minutes and let (2*Abaseline  - Abaseline) / 5 = diff, then,
    • ART Score = 100    if Aactual  <=  Abaseline
    • ART Score = 83      if Abaseline < Aactual  <=   Abaseline + diff
    • ART Score = 66      if Abaseline + diff    < Aactual  <=   Abaseline + 2*diff
    • ART Score = 50      if Abaseline + 2*diff < Aactual  <=   Abaseline + 3*diff
    • ART Score = 33      if Abaseline + 3*diff < Aactual  <=   Abaseline + 4*diff
    • ART Score = 16      if Abaseline + 4*diff < Aactual  <=   Abaseline + 5*diff
    • ART Score = 0        if Aactual  >   Abaseline + 5*diff
  • Error Score : To calculate Error score, the Error percentage of last five minutes is calculated and compared against error percentage provided by the user.
  • For example, if Ebaseline  is error baseline provided by user and Eactual is error percentage of last 5 minutes and let (Min(5*Ebaseline  , 100) -  Ebaseline) / 5 = diff, then,
    • Error Score = 100    if Eactual  <=  Ebaseline
    • Error Score = 83      if Ebaseline < Eactual  <=   Ebaseline + diff
    • Error Score = 66      if Ebaseline + diff  < Eactual  <=   Ebaseline + 2*diff
    • Errror Score = 50    if Ebaseline + 2*diff < Eactual  <=  Ebaseline + 3*diff
    • Error Score = 33      if Ebaseline + 3*diff < Eactual  <=   Ebaseline + 4*diff
    • Error Score = 16      if Ebaseline + 4*diff < Eactual  <=   Ebaseline + 5*diff
    • Error Score = 0        if Eactual  >  Ebaseline + 5*diff
  • CPU Score : To calculate the CPU score, CPU usage percentage of last 5 minutes is calculated and compared against cpu usage percentage provided by the user.
  • For example, if Cbaseline  is the CPU usage baseline provided by you and Cactual is the CPU usage percentage of last 5 minutes, and let (Min(5*Cbaseline  , 100) -  Cbaseline) / 5 = diff, then,
    • CPU Score = 100    if Cactual  <=  Cbaseline
    • CPU Score = 83      if Cbaseline < Cactual  <=   Cbaseline + diff
    • CPU Score = 66      if Cbaseline + diff  < Cactual  <=  Cbaseline + 2*diff
    • CPU Score = 50      if Cbaseline + 2*diff < Cactual  <=  Cbaseline + 3*diff
    • CPU  Score = 33     if Cbaseline + 3*diff < Cactual  <=  Cbaseline + 4*diff
    • CPU Score = 16      if Cbaseline + 4*diff < Cactual  <= Cbaseline + 5*diff
    • CPU Score = 0        if Cactual  >  Cbaseline + 5*diff
  • Memory Score :  To calculate the memory score, the heap usage percentage of the last five minutes is calculated and compared against heap usage percentage provided by the user.
  • For example, if Mbaseline  is heap usage baseline provided by user and Mactual is heap usage percentage of last 5 minutes and let (Min(5*Mbaseline  , 100) -  Mbaseline) / 5 = diff, then,
    • Memory Score = 100    if Mactual  <=  Mbaseline
    • Memory Score = 83      if Mbaseline < Mactual  <=   Mbaseline + diff
    • Memory Score = 66      if Mbaseline + diff  < Mactual  <=  Mbaseline + 2*diff
    • Memory Score = 50      if Mbaseline + 2*diff < Mactual  <=  Mbaseline + 3*diff
    • Memory Score = 33       if Mbaseline + 3*diff < Mactual  <=  Mbaseline + 4*diff
    • Memory Score = 16      if Mbaseline + 4*diff < Mactual  <= Mbaseline + 5*diff
    • Memory Score = 0        if Mactual  >  Mbaseline + 5*diff
  • Node Health Score = (ART Score * ART Weightage + Error Score * Error Weightage + CPU Score * CPU Weightage + Memory Score * Memory Weightage) / (ART Weightage + Error Weightage + CPU Weightage + Memory Weightage)

Note that the error score has veto power. If the error score is zero, the entire health score becomes zero.

Application Health Score

Health Score depends on two parameters. They are - ART and Error rate. The toolset calculates scores for each of the two parameters as shown below.

  • ART Score : To calculate ART score, ART of last five minutes is calculated and compared against the ART provided by the user.
  • Suppose, Abaseline  is ART baseline provided by user and Aactual is ART of last 5 minutes and let (2*Abaseline  - Abaseline) / 5 = diff
    • ART Score = 100    if Aactual  <=  Abaseline
    • ART Score = 83      if Abaseline < Aactual  <=   Abaseline + diff
    • ART Score = 66      if Abaseline + diff < Aactual  <=   Abaseline + 2*diff
    • ART Score = 50      if Abaseline + 2*diff < Aactual  <=   Abaseline + 3*diff
    • ART Score = 33      if Abaseline + 3*diff < Aactual  <=   Abaseline + 4*diff
    • ART Score = 16      if Abaseline + 4*diff < Aactual  <=   Abaseline + 5*diff
    • ART Score = 0        if Aactual  >  Abaseline + 5*diff
  • Error Score : To calculate Error score, Error percentage of last five minutes is calculated and compared against error percentage provided by the user.
  • Suppose, Ebaseline  is error baseline provided by user and Eactual is error percentage of last five minutes and let (Min(5*Ebaseline  , 100) -  Ebaseline) / 5 = diff
    • Error Score = 100    if Eactual  <=  Ebaseline
    • Error Score = 83      if Ebaseline < Eactual  <=   Ebaseline + diff
    • Error Score = 66      if Ebaseline + diff  < Eactual  <=   Ebaseline + 2*diff
    • Errror Score = 50    if Ebaseline + 2*diff < Eactual  <=   Ebaseline + 3*diff
    • Error Score = 33      if Ebaseline + 3*diff < Eactual  <=   Ebaseline + 4*diff
    • Error Score = 16      if Ebaseline + 4*diff < Eactual  <=   Ebaseline + 5*diff
    • Error Score = 0        if Eactual  >  Ebaseline + 5*diff
  • Application Health Score = (ART Score * ART Weightage + Error Score * Error Weightage) / (ART Weightage + Error Weightage)

Note that error score has veto power. If the error score is zero, the entire health score becomes zero.

Cluster Health Score :  Cluster health score is simple mean of all nodes in cluster.

Group Health Score :  Group health score is simple mean of all nodes in group.

Setting Baseline for different parameters:  In Health Score and Baseline section of settings, admin can set baseline and weightage parameters for calculation of various health scores.

For a cluster of nodes

Health score of cluster
Health score of cluster

For application

Health score for application
Health score for application

Alerts

The Alert options let you specify the thresholds for when to generate an alert. Alerts provide warnings of potential problems, including a slow server or an unresponsive server. The unresponsive-server alert is triggered when the server's average response time exceeds a specified limit. The unresponsive-server alert is triggered when more than a specified number of threads are busy for more than a specified number of seconds. The unresponsive-server alert creates a snapshot file, which lets you determine where request threads are unresponsive.

Both types of alert let you run a custom CFC when the alert is triggered. The CFC also lets you provide your own automated response to an alert condition. You can specify whether to send an e-mail notification when an alert is triggered, and to whom.

The CFC triggers the alerts. The CFC contains the functions:

  • onAlertStart: This function executes when an alert becomes active. The structure passed to this function contains information about settings at which the alert was activated.
  • onAlertEnd: This function executes when the server recovers from an alert or when the alert invalidates. The structure passed to this function contains the alert settings when the alert was disabled or recovered.

JVM alerts

Because ColdFusion is an enterprise Java application, the Java Virtual Machine (JVM) is the software component that most influences performance. Different JVMs from different vendors and different versions of the same JVM from the same vendor have different performance characteristics. You can benefit from changing the JVM that you are using with ColdFusion.

To configure ColdFusion to use a different JVM, edit the cf_root/runtime/lib/jvm.config file with a text editor. To point to the root directory of the JVM to use, modify the value of java.home . Alternatively, you can switch to a different JVM in the ColdFusion Administrator on the Java and JVM Settings page.

Because switching the JVM changes the software environment significantly, do so first in a development or testing environment.

The JVM performs memory management and can have a significant effect on your performance depending on how you configure the JVM. The most important settings for the JVM are the initial heap size and maximum heap size. The initial heap size represents the amount of memory that the JVM uses on startup; the maximum heap size represents the amount of memory that the JVM can use. You can modify these settings in the ColdFusion Administrator on the Java and JVM Settings page. The Initial Memory Size setting specifies the initial heap size; the Maximum Memory Size setting specifies the maximum heap size.

The JVM arguments for initial heap size and maximum heap size are -XmsNm and -XmxNm respectively. N is the size of the heap in megabytes (MB). The JVM arguments are stored in the jvm.config file, in the value of the java.args setting.

In the Alerts section, you can tune JVM settings for the following:

  • JVM CPU usage.
  • JVM memory old generation.
  • JVM memory metaspace.
  • JVM memory code cache.
  • JVM heap usage.

System alerts

Slow server

If the average response time of the server is greater than the value specified, a slow server gets created.

Timeout

If the number of requests specified by the timeout count on an average or at all time in a specific interval, a timeout is created.

Unresponsive server

If the number of threads executes for longer than the amount of time specified below, the server becomes unresponsive.

System CPU usage

Define the trigger when CPU usage more than the defined threshold within an interval.

System memory usage

If the memory usage exceeds the defined threshold, define an action to be taken.

Others

Connector

Define the trigger if the number of busy connections are more than the specified amount of total number of connections.

Settings

Sender email

The address from which Performance Monitoring Toolset sends the notification emails from.

Receiver email

The email address that receives Performance Monitoring Toolset notifications emails. Multiple recipients can be entered, separated by commas.

User ID

If your mail server requires authentication, specify a user name.

Password

If your mail server requires authentication, specify a password.

Host

URL of the mail server.

Port

Port of the mail server.

Slack Webhook URL

Post messages and notifications into Slack teams.

1. Set JVM flag, -Dmailserver.security=ssl/tsl in JVM config in Performance Monitoring Toolset.

2. Add SSL certificate in JVM in Performance Monitoring Toolset.

Restart Performance Monitoring Toolset.

Purge

Lists all active ColdFusion instances that are a part of a cluster. You can also see the following:

  • Sites that are a part of the cluster.
  • APpplications that are a part of the cluster.

On the Server tab, if you click the Delete icon on a cluster, all instances within that cluster gets deleted. The process is irreversible. The monitoring for that cluster also stops.

Similarly,

On the Connector tab, you can delete the sites and monitoring is also stopped.

On the Applications tab, if you delete the applications, the applications cannot be rolled back for further monitoring.

This work is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License  Twitter™ and Facebook posts are not covered under the terms of Creative Commons.

Legal Notices   |   Online Privacy Policy