You are on page 1of 54

Best Practices for

WebSphere Business
Monitor v7
Agenda

Monitor Concepts & Architecture

Monitor Model Authoring Tips and


Pitfalls

Monitor Runtime Configuration


and Tuning

High Availability and the BPM


Golden Topology

1
Business Activity Monitoring (BAM) provides process visibility
Business leaders gain real-time visibility and actionable insight into processes

Real-time information Business leaders


consolidated into monitor process KPIs and
customizable, role-based receive alerts
dashboards

2
3
Analyze a range of process data with BAM
Take action faster with up-to-minute information on personalized dashboards

Individual Aggregated KPIs


Trend analysis
business across multiple
situations processes

 Drill down to investigate  Redirect Group A’s  Compare new


why John Smith’s new backlogged new account opening
bank account request account opening metrics across time
has not been processed queue to Group B to periods to manage
within the specified rebalance workload resources more
service level agreement effectively
4
Real-time KPIs help you make smarter decisions
Keep track of metrics and targets in the areas most critical to your business

Key Performance Indicators (KPIs) are metrics used to quantify and


measure business performance against strategic and operational targets.

For example:

 Percentage of sales order line


items delivered on time
 Average time to approve loan
application
 Total amount of loan
disbursements this month
Integrated KPI libraries help users pick the
best metrics to monitor their processes 5
Predictive KPIs enable proactive management
Take advantage of market opportunities and prevent problems before they occur

 Predict future values of


KPIs based on historic and
cyclic trends
 Pro-actively trigger alerts
when predicted values
indicate a problem
 Feed and correlate alerts
with business event
processing for enhanced
pattern detection

Predictive KPIs in WebSphere Business Monitor 6


Event Sources for WebSphere Business Monitor
Consume events from broad range of middleware for end-to-end process monitoring

WebSphere ESB & Adapters:


WebSphere Business SAP, PeopleSoft, etc.
Process Server
Monitor

CICS
WebSphere
Business Services
Fabric
IMS

WebSphere MQ
Workflow
WebSphere
Sensor Events
Events
WebSphere
Message Broker WebSphere WebSphere
Business Events Partner Gateway Third Party IBM FileNet P8
Applications 7
How to Publish Events to Monitor
Options to emit XML for BAM via a variety of approaches

* Use IBM product already enabled for event emission


WebSphere Application Server

* Java Message Service APIs (SIB) WebSphere Business Monitor

WebSphere MQ

REST Event Emitter API Common Event Infrastructure

WS-Notification

Note: All options take XSD-described XML – no CBEs needed 8


Example: Using the JMS API to send a BAM event
public void sendJMSMessage(String xmlToSend, String jmsQueue, String jmsQueueConnectionFactory)
{
// get the Connection Factory
Context context = new InitialContext();
ConnectionFactory qConnectionFactory = (ConnectionFactory) context
.lookup(jmsQueueConnectionFactory);
Connection connection = qConnectionFactory.createConnection();

// get the queue


Queue queue = (Queue) context.lookup(jmsQueue);

// Create session, producer, and message.


// get a session
Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);

// get the producer


MessageProducer producer = session.createProducer(queue);

// build the TextMessage


TextMessage message = session.createTextMessage(xmlToSend);

// send the message


producer.send(message);
} 9
Monitor Architectural Overview
Monitor using
Business
Event/data Monitor Toolkit Business Space
source (Modeler, RAD Personalize
spaces, Define
or WID)
Alerts & KPIs
2
8
Send events Call service to 1
through JMS, retrieve data Author & Deploy
REST, WS- (optional) Monitoring Call Monitor
Notification, etc. Model services to
5 retrieve data

REST
3 4 Services
Event Monitor Model Monitor
Distribution Application Event Database
processing

Action 7
Services
Business Take action (email, pager, alert,
situation events process/service invocation)

Monitor Server
(installed on WebSphere Application Server 7.0 or WebSphere Process Server 7.0)

10
Agenda

Monitor Concepts & Architecture

Monitor Model Authoring Tips and


Pitfalls

Monitor Runtime Configuration


and Tuning

High Availability and the BPM


Golden Topology

11
Model Authoring Tips and Pitfalls

• ***Business*** Monitoring
• Model granularity
• Model constructs to use with care
– Child MCs
– Recurring wait-time triggers
– Deliver to All

• Support multi-threaded event processing

12
Business-relevant Events
• Only turn on event emission
where truly necessary for
business activity monitoring
– WebSphere Business Monitor should not
be used for IT monitoring
– Enabling emission for all possible event
types might cause 100 events to be
emitted per process instance, but your
monitor model may only have KPIs, etc.
that care about 10 of those
– Best practice is to just turn on events
used in selected templates and variables
– Turning off unneeded events improves
performance of both the emitting app
and the monitor model 13
Model Granularity
It is generally best to split up monitor models
based upon the event source
Each model is autonomous: a separate application
with its own input event stream
 Consider a single high-level
model, fed by outbound
events emitted from
multiple low-level models
– Business analysts only care
about the high-level model
– The low-level models could
change without affecting the
high-level model (if the event
definitions remain constant) 14
Generate high and low level monitor models
IBM developerWorks Download for Modeler

15
Child Monitoring Contexts
When generating an MM from BPEL, consider using
Event Groups rather than Child MCs for activities
- Reduces number of cubes, simplifies dashboard usage

16
Recurring wait time triggers
• Triggers that should be
evaluated periodically

• Be careful with many


active instances and a
short wait time
– With 100 new instances
per minute, averaging a
week to complete, a 15
minute period would
result in over 1000
evaluations/second

• Consider dashboard
defined KPI alerts over
modeled KPI alerts 17
Deliver to All
• Event delivery option for multiple correlation matches
• Be careful when you have many active instances and
the event could correlate to a high percentage of them
– With 1 million active instances, an event that correlates to
1/3 of them, arriving once every 5 minutes, would result in
over 1000 event deliveries/second

18
Multi-threaded event processing
• Events are processed more efficiently in multi-threaded mode
• Requirements to support multi-threading:
– All inbound events must contain the key to the root MC
– All correlation expressions (including for events for child/grandchild
MCs) must reference that key to the root MC

• Only multi-threaded models can utilize the error queue


– An event causing an exception, along with all future events that
correlate to the same instance, will be routed to the error queue
– Otherwise the entire model halts processing all events if any single
event fails to be processed successfully

• Only multi-threaded models can support event reordering


– Such as would be desirable if using asynchronous event emission
19
Agenda

Monitor Concepts & Architecture

Monitor Model Authoring Tips and


Pitfalls

Monitor Runtime Configuration


and Tuning

High Availability and the BPM


Golden Topology

20
Monitor Runtime Components
• CEI Event Service
• Queue Bypass
• Service Integration Bus
• Dimensional Analysis & Reporting
• Business Space
• Business Monitor API REST Service
• Business Monitor Action Services
• Business Monitor Data Movement Services
• Business Monitor Data Services Scheduler

21
CEI Event Service

• Business Monitor uses the CEI Event Service to emit outbound events.
• Which CEI Event Service is used is specified by defining an Emitter
Factory for use by Business Monitor.
• Business Monitor emits outbound events synchronously by default to
ensure that event order is preserved.

22
CEI Event Service

• Event Emitters being monitored by Business Monitor don’t have


to use the same CEI Event Service.
• When configuring the CEI Event Service for Business Monitor
decide if you are going to:
– Create an Event Service just for Business Monitor’s outbound events.
– Create an Event Service for both Business Monitor’s outbound events
and other event emitters.
– Configure Business Monitor to use an existing Event Service to emit
outbound events.
23
Queue Bypass

Monitor 6.2 introduced a • Simpler to configure


new configuration option – No cross-cell bus links

that enables CEI to directly • Enhanced reliability


insert events into the MM
database tables • Improved performance
– Single-phase commit 24
Service Integration Bus

• For queue based event delivery:


– Business Monitor processes events delivered to various JMS Queues.
– The JMS Queues are provided by Queue Destinations on the Service
Integration Bus.
– In order to automatically configure JMS and SI Bus resources, a specific
SI bus is expected to exist:
• MONITOR.cellname.Bus
• For queue bypass event delivery:
– Business Monitor processes events directly from MONITOR database.
– Monitor bus not used for monitor model event delivery, but input queue for
Action Services still exists.
– Note queues on CEI bus still used if asynch event emission is chosen 25
Service Integration Bus

• A Message Engine is the “runtime” of a Service Integration Bus.


• By default, when a message engine is deployed to a cluster, only
one member is active at a time.
• It is possible to change this behavior to, for example, have all
message engine members active at once, but this is not supported
by Business Monitor.
• Using anything other than the 1-of-N policy for the message engine
will cause events to be delivered to Business Monitor out of order.
26
Dimensional Analysis & Reporting

• Embeds analytics support into Business Monitor


• Multidimensional analysis enabled in Dashboard
Dimension and Report views.
• Now installed / configured as part of the product
• Upgrade to Cognos BI for advanced analytics of
data collected by Business Monitor 27
Business Space

• Business Space widgets provide visualization of the


Business Monitor data.
• Uses AJAX for a rich user experience in a web browser.
• Uses the Business Monitor REST API to retrieve data
from the Business Monitor server.
• No need for Portal Server.
• Packaged as a web application.
28
Business Space with a Proxy

• Business Space widgets for Monitor are client-side mashups.


• In a “client side mash-up” the web browser’s Same-Origin Policy
prevents loading data from multiple web servers.
• Proxy allows you to install REST Service, Alphablox, Business
Space Manager, and the Business Space Widgets in separate
servers.
• When these components are installed into clusters, you need an
HTTP server to distribute traffic among all the cluster members;
this same HTTP server can act as a proxy.
29
Business Monitor API REST Service

• Provides access to the data that Business Monitor has collected


• Packaged as a Web Application that conforms to Representational
State Transfer (REST) architectural style
• JSON formatted responses enable easy integration of Business
Monitor data when developing Web 2.0 Applications
• Use of the API REST Service is not limited to Web applications
– For example, Business Monitor provides a Microsoft Excel plugin that
uses the REST APIs to import business monitoring metrics 30
Business Monitor Action Services

• Listens for Business Situation Events emitted by a model.


• Performs actions in response to Business Situation Events,
for example:
– Send an email
– Have an alert displayed in a user’s Business Space
– Send a page or SMS message
– Invoke a Web Service or SCA component
• Also required for dashboard-defined alerts
• Packaged as an EAR 31
Data Movement Service

• Optimizes server processing and reporting in higher volume


production environments.
• Moves data from operational tables to reporting tables while
pruning completed instances from the operational tables.
• Operational tables are optimized for inserts and updates, and
the reporting tables are optimized for dashboard queries.
• Optional – recommended for use in high-volume environments
32
Data Services Scheduler

• Performs data services at scheduled intervals:


– Data movement service
– Cube summary table refresh
– Cube refresh
– KPI history
– KPI predictions
– Dynamic alert evaluation
– Data archiving and pruning
• Packaged as an EAR 33
Monitor Runtime Configuration

• Tuning parameters
– Release-to-release performance results

• Error Handling

• Error Queue
34
Tuning Parameters
• Use multi-threaded mode

• Tune batch and cache sizes


– Defaults are pretty good

• Stand-off delays allow grouping


related events together
– Affects dashboard latency

• Enable reordering if asynch


event emission was used

• Time-based trigger tuning


35
Additional Tuning Suggestions

• Monitor 7.0 Performance Report


– CEI: Disable the CEI event data store and the All Events queue,
use queue bypass
– Database: Increase buffer pools, use RAID disks, use RUNSTATS
to help the optimizer
– Event processing measurements: 1711 events/second for 1 model,
5208 events/second for 8 models

• Work Load Estimator sizing tool (available from Techline)


• BPM 7.0 Performance Tuning redpaper
– http://www.redbooks.ibm.com/redpieces/abstracts/redp4664.html
• BPM 7.0 Production Topologies redbook
– http://www.redbooks.ibm.com/redpieces/abstracts/sg247854.html

36
Release-to-Release Performance
Events per Second

2000
1750
1500
1250
1000
750
500
250
0
Monitor 6.0.2 Monitor 6.1 Monitor 6.2 Monitor 7.0*

Results obtained by a monitor model installed to a single machine


37
Error Handling

• Hard vs. soft exceptions


– Choose which exceptions
should cause that instance to
stop processing events

• Correlation exceptions
• Parent exceptions
• Value out of range behavior
• Retry settings

38
Error Queue
• Use the admin console (or wsadmin/Jython)
to view and administer the error queue

• “Hard” exceptions sent here (multi-threaded


mode only)
– All future events that correlate to the same
instance also

• Check here if dashboards not showing


expected results

39
Just Announced

Increasing Visibility with Advanced Monitoring


WebSphere Business Monitor V7 for z/OS

• Now you can run the entire Monitor


infrastructure on z/OS

• This adds to previous z/OS related Monitor


capability
– Monitoring events from infrastructure running on
z/OS (CICS, IMS, MQ, WebSphere Message
Broker, WebSphere Process Server, etc)
– RACF for user registry/security repository
– Monitor data in DB2 for z/OS (performance
improvement in 7.0)
– Ability to federate Monitor running on zLinux
into a z/OS cell

• Monitor V7 for z/OS: You can now run


monitor models on z/OS. Now you can
have your entire BPM suite running in a
single, homogeneous z/OS cell.
40
Agenda

Monitor Concepts & Architecture

Monitor Model Authoring Tips and


Pitfalls

Monitor Runtime Configuration


and Tuning

High Availability and the BPM


Golden Topology

41
High Availability
• Use clustering to avoid a Single Point of Failure,
and for workload management*

• Vertical and Horizontal clustering options


– Can also mix, or have a cluster of one

• Consider using an HA database


– DB2 HA/DR
– Oracle RAC

• Your apps aren’t HA unless their monitoring is HA!


– Eventually event emission will fail if MM is down too long
– Consider using WebSphere MQ to support deep queues
42
High Availability, continued
• Cluster the emitting application (if J2EE-based)
– Use synchronous delivery if sequence info not in events

• Cluster the CEI event server application


– CEI can become the bottleneck otherwise

• Cluster the monitor model applications


– HA Manager enforces singleton policy
– Use core-group policies to “pin” each MM to its own
desired cluster member, to spread work around
– Offers fail-over in the event of an outage; avoids a
Single Point of Failure; supports fail-back
43
Business Monitor as part of BPM Deployment
Environments
v6.2 Background
• WPS has provided Deployment Environment
concept since 6.1.x. Deployment
Environments encapsulate a cell’s entire
topology configuration, making it easy to
create topologies from best practice patterns

v7 Improvement
• WPS has made Deployment Environment
framework a common component
available to all BPM stack products.
• Monitor exploits Deployment Environment
framework and offers two out of the box
topology patterns:
Sample 4-cluster topology with 2 nodes for failover and scalability
► Create a 1-cluster topology for POCs and
small production environments that need
simple failover
► Create a 4-cluster topology for increased
production isolation and scalability

44
Business Monitor as part of BPM Deployment
Environments

This option creates a 4 cluster


“BPM Golden Topology”

Administrator enters configuration parameters in a six-step wizard. The


Deployment Environment wizard then automatically updates 500+
configuration files that comprise the topology configuration. 45
The whole story!

46
Summary

• Model with performance in mind

• Follow tuning recommendations

• Choose queue-bypass

• Plan for highly availability

• Use the BPM Golden Topology


47
We Value Your Feedback !
• Please complete the session survey for this session by:

• Accessing the SmartSite on your smart phone or computer


at: http://imp2010.confnav.com
– Surveys / My Session Evaluations
• Visiting any onsite event kiosk
– Surveys / My Session Evaluations

• Each completed survey increases your chance to win an


Apple iPod Touch with daily drawing sponsored by
Alliance Tech

48
Get started on the path to agility, performance, and
growth TODAY !
• Learn about Getting Started with IBM
BPM for Rapid ROI

• Read case studies to see real examples


of business value derived by BPM
enabled by SOA

• Learn about BPM FastPath – Goal to


achieve BPM success in 90 days for
initial projects

• Get started quickly with no-cost cloud-


based BPM tools on BPM BlueWorks
ibm.com/bpm
Contact an IBM Representative to schedule a no-cost BPM Discovery
Session and let us show you how BPM can help optimize your business
49
Visit the BPM Samples and Tutorials page!

http://publib.boulder.ibm.com/bpcsamp/

50
Go to the Business Process Management Zone!

http://www.ibm.com/developerworks/bpm

51
Learning More about WebSphere BPM
IBM Education Assistant

http://publib.boulder.ibm.com/infocenter/ieduasst/v1r1m0/topic
/com.ibm.iea.wbmonitor_v7/plugin_coverpage.html
52
Copyright and Trademarks

© IBM Corporation 2010. All rights reserved. IBM, the


IBM logo, ibm.com and the globe design are
trademarks of International Business Machines
Corporation, registered in many jurisdictions
worldwide. A current list of IBM trademarks is available
on the Web at "Copyright and trademark information"
at www.ibm.com/legal/copytrade.shtml. Other
company, product, or service names may be
trademarks or service marks of others.

53

You might also like