webMethods Optimize is used to monitor resource availability and thresholds. It also sends alerts and takes actions in case of failures or rule violations.
The two different implementations of Optimize are:
- Optimize for Infrastructure (OFI)
OFI is used to monitor system data in real-time such as the status of Scheduler and the trigger or ports on Integration Server (IS). It can monitor individual objects as well as the overall status of your system.
- Optimize for Process (OFP)
OFP is used to monitor how business processes are performing across the enterprise.
Components of OFI
a) Infrastructure Data Collector
It collects the infrastructure data using the Monitoring API and passes it to the Analytic Engine.
b) Web Service Data Collector
The Web Service Data Collector provides an interface through which clients or programs can send operational or process data about applications to the Analytic Engine.
c) The Analytic Engine
The Analytic Engine receives business, system, and process data from the data collection engine and saves it in the database. Optimize for Infrastructure analyzes data, saves the analysis in the database, and sends information about the status of business and system activity to the My webMethods user interface. It also performs other actions such as sending alerts to specified users, when problems occur.
Software AG Products Required for OFI Implementation
|Web Service Data Collector (WSDC)
Infrastructure Data Collector (IDC)
|Software AG Universal Messaging||Data Communication|
|Analytic Engine (AE)||Data Processing and Analysis|
|Database Components||Data Storage|
|My webMethods User Interface||Data Presentation|
Sub-components of Analytic Engine
|Event Handler||Receives system data from IDC and business data from Web Service Descriptor (WSD).|
|Process Tracker||Receives data from WSD and tracks the state of processes such as
wait and cycle time.
|Statistical Engine||Runs algorithms on data.|
|Rules Engine||Compares the data received from the Analytic Engine with existing or custom rules.|
|Web Services||Sends the analysis results to the Marketplace Web Service (MWS) user interface. It displays the results, along with icons, and indicates if there is a rule violation.|
a) Database for OFI
- Create a separate schema (Oracle) or database (SQL server) for OFI and run the database script for Optimize.
- The script will install the below tables in the database.
b) Install Optimize
The script will install the below tables in the database.
Starting and Stopping OFI Components
Once the installation is done, start the Optimize components by running the below .bat or .sh script.
|Optimize Component||Startup Batch Application|
Note: If these components were registered as windows demons during installation, they can also be started through windows services.
|Optimize Component||Startup Batch Application|
Checking Server Status
- Analytic Engine
In MWS, navigate to Administrator->My webMethods->System Settings->Server
and click on Check Server Status. Green color means AE is running.
- Infrastructure Data Collector
Open the below-mentioned URL in a browser.
If IDC is running, the below window will open
c) Integration Server Configuration
Once the Integration Server is up, configure using the below-mentioned steps:
- Optimize package configuration
- Navigate to Packages->Management
- Click on the home page of the package WmOptimize
- Set the Analytic Engine host, port, and the Unified Messaging (UM) server URL other than Default
2. JMS Configuration
- Navigate to Settings->Messaging->JMS Configuration- JNDI Settings
- Change the provider URL and make it other than Default on the Default JNDI provider
- Click on Test lookup and make sure that it is returning the list of connection factories, topic, and queue
- Navigate to Settings->Messaging->JMS Settings and enable the Default IS JMS connection
d) MWS (My webMethods Server) configuration
1. Database Pool Configuration for OFI
- In MWS, Navigate to Administrator->System Wide->Environment and click on Add Pools to create a database connection pool to Optimize database and test the connection
- This is similar to the JDBC pool on the Integration Server.
2. Define Environment
- The Define Environment page enables you to configure Optimize components such as Analytic Engine and Data Collector
- My webMethods provides a user interface to configure Optimize (Environment), once all the components are running
- In MWS, navigate to Applications->Administration->System-Wide-> Environments>Define Environments to add a new environment
The following are the seven configuration steps:
- Add Design Servers
- Configure Servers
- Define Host
- Map Server
- Map Endpoints
- Map Database Pools
3. Deploy Environment
6. Monitor Components
Configuration Overview and Analytics Overview
a) Configuration Overview
b) Analytics Overview
KPIs and Rules
a) Key Performance Indicators (KPIs)
- It is used to monitor quantitative business and system data. Optimize uses KPIs to monitor data for exceptions and trends.
- System KPI instances store application data and business KPI instances store data on business processes.
- Optimize create and store data that corresponds to the KPI in a KPI instance.
State KPI instance is used to store the value of the last data collected in each collection interval where the possible values are 1 (online) or 0 (offline).
- A rule signifies a condition under which a processor resource becomes problematic and requires attention when the IS trigger or UM is down.
- We can also define the alert notification or action required, in case of a rule violation.
- Optimize provides inbuilt rules that can be modified or, a new custom rule that can be created.
- By default, Optimize applies the rule on all processes or applications. To apply the rule on specific processes or applications, the rule filter needs to be created.
Types of rules
- KPI Rules: This applies to KPIs that were created for business or system data
- Event and Threshold Rules: These rules are applied on all types of data that require immediate response, such as unexpected shut down of an application or the CPU usage exceeding its limits
OFI Use Case
a) Alert notification when an application is down
- When the Integration Server is down
- When the UM server is down
b) Alert notifications when a Software AG component is offline or down
a. Alert notification when any webMethods component is offline or down
- When the IS Scheduler is disabled
- When the IS Port is disabled
Disable the https port 5557 on IS
- If any package is disabled
Disable the package on the server
c) Alert notification when the server memory threshold is reached
When the used memory of IS exceeds 10% of the allocated memory
d) Alert notification when Realm Channel has queued up documents
e) Alert notification when CSQ for Native Connection is more than 0
f) Take an action when the rule is violated
In case a trigger is down, it is considered to be a violation of rules. The desired action should be taken to execute the services instantly, which will enable the trigger again.