New Agent rules in Pega 7.3.1
Understanding agents and agent queues is critical to managing your Pega deployment effectively. This article explains the new Agent rules introduced in Pega 7.3.1.
- Prerequisites
- New rules introduced in Pega 7.3.1
- Pega-IntegrationEngine: pzCleanupServiceMonitorInstances
- Pega-IntegrationEngine: pyValidateKMSMetadata
- Pega-Reporting: PopulateDistinctValues
Prerequisites
Before you read this article, you should have fundamental knowledge of the Pega 7 Platform, especially the following Pega 7 concepts, tasks, and reference information:
- How to develop rules for an application
- Pega Agent concepts and terms and related topics
- What Agents are available in Pega 7.3 or earlier releases and how to upgrade to Pega 7.3.1.
- How to create and schedule Agents in Pega 7 releases through Pega 7.3.1 on multiple nodes of a cluster (two or more Web Application Servers)
- How to create, modify, and schedule Pega 7 Agent Queues
- Information in the following PDN Articles:
Refer to Related Content for links to all prerequisite information and other references cited throughout this article.
New rules introduced in Pega 7.3.1
New Agent rules are available in Pega 7.3.1.
Pega-IntegrationEngine: pzCleanupServiceMonitorInstances
Node Type: BackgroundProcessing
Initiates Activity: pzPurgeServiceMonitorInstances
The agent pzCleanupServiceMonitorInstances is part of the Pega 7.3.1 functionality supporting the tracing of response and request REST services.
A new table, pr_data_svcinvhist, allows the agent to periodically purge content from the response or request REST service invocation history. Purging avoids increased disk space use that might also affect performance.
The agent pzCleanupServiceMonitorInstances, as provided by Pega, is disabled by default and is a background task that cleans up old instances of service monitoring.
You can enable service monitoring using any of the following three options:
- In the service rule
- In the service package data instance
- In the Dynamic System Setting
Pega-IntegrationEngine service/EnableGlobalMonitoring true
The agent pzCleanupServiceMonitorInstances runs on only one node at a time in a multi-node cluster environment and is configured to run no longer than 58 minutes.
- Do not enable pzCleanupServiceMonitorInstances in a production environment.
- Do not run pzCleanupServiceMonitorInstances on more than one node in a cluster at the same time.
You can disable the agent when service monitoring is turned off. If the agent is not disabled when service monitoring is turned off, the agent wakes up periodically and attempts to purge the records from an empty table; therefore, the agent it is not required in this case.
- Do not enable pzCleanupServiceMonitorInstances in a production environment.
- Do not run pzCleanupServiceMonitorInstances on more than one node in a cluster at the same time.
Pega-IntegrationEngine: pyValidateKMSMetadata
Node Type: BackgroundProcessing
Initiates Activity: pzValidateKMSKeyStoreMetadata
The agent pyValidateKMSMetadata, as provided by Pega, is disabled by default. It verifies as valid the Amazon Web Services (AWS) Key Management Service (KMS) credentials specified for encrypting TextEncrypted and BLOBs. You can extend this to include SendEmail or any other downstream processing required. The main activity, pzValidateKMSKeyStoreMetadata, is marked as FINAL. However, Step 2 calls pyHandleKMSValidationError, offering you a way to override the default behavior of the agent.
The Keystore rule form is where the AWS KMS is configured from the drop-down list along with the AWS Credentials. AWS KMS provides a notification mechanism if the key is deleted or modified. You can choose to use AWS notification, AWS Credentials, or both.
If you are using KMS Type Keystore for data encryption, the best practice is to enable pyValidateKMSMetadata.
Pega-Reporting: PopulateDistinctValues
Node Type: BackgroundProcessing
Initiates Activity: pzPopulateDistinctValues
The agent PopulateDistinctValues calls an activity that has a Java method, which simply runs this function: pega.populateDistinctValuesForProperties();
The activity is defined in the Index-DistinctValue class, which is mapped to a new table called pr_index_distinctvalue in the Rules Schema.
The agent, as provided by Pega, is enabled by default and is used internally by the Reporting Select Values gadget or new APIs being implemented. It has no correlation to Reporting on "distinct" values. The agent supports functionality that improves performance of the Reporting Select Values gadget when the underlying dataset is very large.