Configure ColdFusion Performance Monitoring Toolset settings

Global Performance Monitoring Toolset Server Settings

General

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

Performance Monitoring Toolset

Server Protocol
  • HTTP
  • HTTPS

Choose to secure Performance Monitoring Toolset with HTTPS/SSL.

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.
  Refresh Interval Specifies the amount of time that must elapse before Performance Monitoring Toolset refreshes an index. You can manage indexing speed with this setting.
SSL Keystore Path The path to the keystore (JKS or PKCS12). For example, location/of/keystore/keystore.jks
  Keystore Password The keystore password that you had specified while creating the keystore.

Datastore

Host

Host name on which Datastore runs.

Port

Port number of Datastore server.

Theme   To change the theme, choose Dark or Light.
Note:

From the application.properties file (PMT_location/config), you can change the values of the following properties:

  • datastore.requestindex.replicacount
  • datastore.requestindex.shardcount

These settings are only applicable to request indices. After making the changes, restart Performance Monitoring Toolset.

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

Alerts

The mail settings here applies to all nodes, clusters, and groups for which monitoring is enabled, and the mail settings, which are not configured in Alerts.

However, if you want to change mail notification settings for a particular group, node, or cluster, then click Alerts > Settings, and change the values accordingly.

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

Slack Webhook URL

Post messages and notifications into Slack teams.

Datastore settings

Datastore health

CPU utilization threshold. (Default 95%)

 

Disk utilization threshold. (Default 95%)

 

Heap utilization threshold. (Default 95%)

 

Memory utilization threshold. (Default 80%)

Actions

When you enable Send Mail, you receive an email alert when any of the parameters above exceeds the specified thershold. You can configure the mail settings in the Settings tab.

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 or the host name 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.

Settings

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.

Datastore

Delete data from Datastore

Here you can see all data based on indices, which is data grouped by date. In an index, a full day’s data is stored. You can also delete an index to free up disk space.

You can delete the request indices for the Datastore.

Typically, you’d delete an index to free up system space.

Delete data from datastore
Delete data from datastore

You can also delete a specific index from the list.

To delete any index in the table, click Delete.

Delete data on a schedule

You can use the scheduler to delete data periodically. The depends on the frequency and data older than options, and based on the values defined, the scheduler will run and will delete data, which is older than the specified amount of days.

The scheduler, in this example, executes every day and deletes data that is older than seven days.

Scheduled data deletion
Scheduled data deletion

By default, the value for data deletion scheduler is 7 and 1 days. The data deletion scheduler is disabled by default.

After you click Submit, the scheduler run details get displayed.

To stop the scheduler, clear the option Enable. Then, click Submit.

Updates

You can verify and make product updates from the browser-interface itself.

Verify if there are any product updates by clicking update in the left navigation panel of the Administrator console. The updates can include hotfixes and security hotfixes for ColdFusion Performance Monitoring Toolset.

Available Updates

Click Check Updates to see if any hotfix updates are available for installation.

You can either:

  • Download: Downloads and places the file in <pmt_home>/hf-updates/ for installation later.
  • Download and Install: Downloads the hotfix and performs a silent installation.
Available updates
Available updates

Installed updates

Lists all hotfix updates to Performance Monitoring Toolset that you have installed.

Installed updates
Installed updates

Settings

Provides options to specify update preferences such as update notifications or if to automatically check for updates.

If you have set up a local update site, you can also specify URL of that site to get updates.

Settings
Settings

Server/Node/Cluster Settings

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.

  SQL / NoSQL Databases monitoring

When enabled, the toolset collects information on both regular datasources and MongoDB database. The following metrics are captured:

  • Average Response Time
  • API Invocation
  • Top slow services
  • Distribution of status code
  External services monitoring

When enabled, the toolset collects information when any external service sends a request. You can see the execution times and other metrics of the following external services:

  • CFHTTP
  • CFFTP
  • CFFEED
  • CFLDAP
  • CFMAIL
  • CFPOP
  • CFFILE
  • CFINVOKE
  • CFSHAREPOINT
  • CFOBJECT

Note: To enable external services monitoring, you must enable Tag/Function monitoring checkbox.

  Cloud services monitoring

When enabled, the toolset displays metrics of the following cloud services:

  • Amazon S3
  • Amazon Dynamo DB
  • Amazon SQS
  • Amazon SNS
  • Microsoft Azure Service Bus
  • Microsoft Azure Blob
  • GCP Storage
  • GCP Firestore
  • GCP PubSub

Each service gives you a time series trend of the Average Response Time, top slow methods, topic or queues, response, and so on.

  GraphQL monitoring When enabled, the toolset displays metrics of GraphQl client operations.
  Response time threshold (ms)

Any request that exceeds this threshold will be recorded in the data store.

If you want to to capture requests that are taking more than 30 seconds, enable the option. It also helps redce the storage in the data store.

All requests that return an error are always captured irrespective of the threshold.

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.

Note:
  • If the Query monitoring flag is disabled, then the data is not visible in the Database section and you’ll see a message to enable Query Monitoring.
  • If the External services monitoring flag is disabled, then the data will visible only in the Overview page.
  • If the Cloud services monitoring flag is disabled, then the data will be visible only in Cloud services>Overview page.

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.

Delete alerts

You can delete all alerts by clicking the notification icon on the top menu. Here are the ways using which you can delete alerts.

  • You can delete any specific alert by choosing the alert and clicking the Delete button.
  • You can select up to 100 alerts at a time and then delete them altogether.
  • You can delete all the alerts without selecting any alert. Simply click the Delete button.

On the list of all alerts, to delete any alert, click Delete near each alert.

Delete alerts
Delete alerts

After you click Delete, there is a confirmation pop-up message, where you click OK to delete the alert.

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.

  • Verify connection: Click this button to verify the connection details that you'd provided for the mail settings and Slack webhook.
  • Clear: Clear the form and re-enter all the details.

Note:

  1. Set JVM flag, -Dmailserver.security=ssl/ tls 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.
  • Applications 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.

 Adobe

Get help faster and easier

New user?

Adobe MAX 2024

Adobe MAX
The Creativity Conference

Oct 14–16 Miami Beach and online

Adobe MAX

The Creativity Conference

Oct 14–16 Miami Beach and online

Adobe MAX 2024

Adobe MAX
The Creativity Conference

Oct 14–16 Miami Beach and online

Adobe MAX

The Creativity Conference

Oct 14–16 Miami Beach and online