IBMonitor

University of Minnesota PeopleSoft Integration Broker Monitoring Service

Monitor Overview

The PeopleSoft Integration Broker Service was developed by the University of Minnesota to provide robust monitoring of asynchronous messaging into and out of the PeopleSoft Enterprise. Through simple XML configuration, the monitor will check at defined intervals for pre-defined scenarios, when if found, will trigger configured actions such as notification. To ensure complete monitoring, with no issues able to slip by unnoticed, there is logic included in the monitoring to look for issues outside of those specifically configured. These are called Default Monitors.

The Integration Broker Monitor is capable of not only monitoring inbound and outbound messages, but it can also monitor for Active IB Domains, backlogged messages, and schedule Node downtime.

Database access is required to run the monitor, and the ID used for connectivity will need access to the following PeopleSoft tables:

Additionally, the IB Monitor will create a table called UM_IB_MONITOR in the schema for the Database User used for executing the monitors. This table is used with the "Notify Each" logic.

Installing the Monitor

To install the IB Monitor Service, pull the project to obtain a local copy.

git clone https://github.com/UMN-PeopleSoft/IBMonitorService

When you are ready to distribute the application to your monitoring platform, run the assembleDist task. Once complete, you will have a .tar and .zip file you can use for monitoring.

If you want a simple "one-liner" to pull and build, you can run the following: git clone https://github.com/UMN-PeopleSoft/IBMonitorService && cd IBMonitorService && ./gradlew assembleDist

Configuring the Monitor

There are a few layers for the configuraiton of the monitoring. Base configuration is the highest level of configuration and is used primarily to set the email configurations, along with specifying the database type and optionally setting debug mode.

The next level of configuration is for each database, or application, to be monitored. Here, configuration is centered around the connectivity for the database, and rules to use for default monitoring, such as status, time periods, notifications and more.

The actual events to watch for are configured at the next level, called Event Configuration. Here, the specific criteria to monitor for are defined, along with the necessary Escalations and/or Custom Actions.

The elements available for configuration are explained below.

Logging

The IB Monitor uses log4j for logging output. The configuration can be set in the log4j.properties file within the project. By default, logs are configured to be placed in a logs folder of the bin directory.

Base Configuration

Some core information must be configured for notifications to be sent. This information is configured in the nodes under configs, and includes:

Database Configurations

For each database to be monitored, connection and default event information can be configured in nodes under base configurations. The available database configurations include:

Event Configurations

Within each set of database configurations, multiple events can be set up. Each event can watch for a specified set of conditions. An event can notify via page/email, automatically resubmit or cancel a message, or execute a custom action (SQL). Default checks are performed which look for events not specifically configured, ie: catches everything but the configured events, so you don't have to configure every possible scenario. Events are configured with the following:

Escalation Configurations

Each Event can be configured to have any number of Escalations. Escalations will fire independent of the parent Event and the other Escalations. They can fire immediately, or after a defined delay. Escalations can also include additional text in the notifications. Escalations are configured with the following:

Email Addition Configurations

Each Escalation can be configured to have any number of Email Additions. Email Additions are configured with the following:

Custom Action Configurations

If an Event is set to use an Action of "Custom", the SQL for the Action should be configured in the Custom Actions section of the XML. Custom Actions are configured with the following: