Sie sind auf Seite 1von 41

Session : 1162

Administration of your WebSphere


Message Broker

Ralph Bateman
ralph@uk.ibm.com
Assumptions

▪ General Knowledge of WebSphere Message Broker


▪ V6 or V6.1
▪ All statements will apply to V6 and V6.1 unless otherwise stated

▪ Section at end suitable for more advanced users


http://www.ibm.com/developerworks/websphere/library/techarticles/0706_lucas/0706_lucas.html
…Or Google “Config Manager Secrets”
http://www.ibm.com/developerworks/websphere/library/techarticles/0808_lucas/0808_lucas.html
…Or Google “Reconfiguring Message Flows”
Objectives

ƒ To learn about the most effective ways to administer


WebSphere Message Broker:

f What tools and techniques are available for administration


f How to minimize the cost of administration
Objectives

ƒ To learn about the most effective ways to administer


WebSphere Message Broker:

f What tools and techniques are available for administration


f How to minimize the cost of administration
The Tools…
Message
Message
Broker Toolkit Command line,
Broker
(Admin Third Party etc.
Explorer (IS02)
Perspective)

Configuration Manager Proxy

Deployed
Configuration Resources

Manager Broker

Execution Group
Message Broker Explorer (IS02)

ƒ Alternative MQ Explorer based administration


f Simplifies administration of MQ,MB
networks in single Explorer console
f Uses MQ Eclipse ‘extension points’ to
provide seamless experience

ƒ Comprehensive administration facilities


f All features in Broker Administration
(excluding publish/subscribe)
f Also includes new features such as multi
Execution Group deploy
f Offload WS-Security to Data Power
appliances

ƒ IS02 Cat 3 SupportPac


f Fully supported in production

ƒ Performance Monitor
f Easily view CPU, IO and other metrics
Configuration Manager Proxy
▪ Comprehensive Java API for administering broker domains:

import com.ibm.broker.config.proxy.*;

public class AddBrokerReference {


public static void main(String[] args) {
ConfigManagerProxy cmp =
ConfigManagerProxy.getInstance(…);
TopologyProxy topology = cmp.getTopology();
topology.createBroker(“MYBROKER”, “QMGR”);
}
}

ƒ Used for administering brokers, execution groups, message flows, dictionaries (and other deployed message
flow dependencies), subscriptions, the publish/subscribe topology, collectives, the event log, topics hierarchy
and the Configuration Manager

ƒ The Message Broker Toolkit Administration perspective, IS02 and various commandline utilities are
visualizations of this API.

ƒ Powerful samples available (e.g. Configuration Manager Proxy Exerciser)


Configuration Manager Proxy API Exerciser
Various Types of Information
Monitoring Business Information

MDB

WebSphere
Business
Monitor
Objectives

ƒ To learn about the most effective ways to administer


WebSphere Message Broker:

f What tools and techniques are available for administration


f How to minimize the cost of administration
Administration Can Be Costly

ƒ Moving to production

ƒ Infrastructure changes

ƒ Problem Determination
f Message Flow Defects
f Broker Problems

ƒ Recovery
Separation of Concerns - User Roles
Application Developer Administrator

BAR

Knows the message flow logic Doesn’t know the message flow logic
No knowledge of production environment Knowledge of production environment
Minimizing the Cost of Administration
ƒ Before Deployment
f Deployment Descriptors

ƒ After Deployment
f Reviewing version information
f Configurable Services
f Trace Nodes
f LocalEnvironment
f Additional Products eg. WSRR, Adapters

ƒ Advanced Tools
f Backup and Restore
f Inter-process Communication
f Synchronization and Adoption
Moving to Production - Configuration Tweaks

ƒ Deployment Descriptors allow the


administrator to override specific
properties in the BAR

ƒ Enables smooth handover and a clear


separation of concerns between the
application developer and the
administrator

ƒ Three Sets of Properties


f Flow
f Node
f User-Defined
Improve PD - Runtime versioning
ƒ Lots of information is associated with each deployed resource, for example:
f The time the object was last modified
f The time the object was last deployed
f The name of the broker archive file that deployed the object

ƒ Use keywords to embed other information (e.g. Author, subflow versions, CVS $id$)
f Use ‘Version’ property or embed eyecatchers in your files
f Eyecatcher form is “$MQSI key = value MQSI$”

ƒ Information is viewable in Message Broker Toolkit, mqsireadbar and CMP applications


Improve PD - Disabling Trace Nodes

ƒ Trace nodes typically used for debug in flow development

ƒ You can operationally disable them in production to improve performance


f … and reinstate in the event of a problem

ƒ mqsichangetrace –n [on | off]


ƒ mqsireporttrace -n
> mqsireporttrace broker -n -e default –f *
BIP8869I: The execution group trace node switch setting is 'on'.

BIP8869I: The trace node switch setting for message flow 'f1' is ‘off’.
BIP8869I: The trace node switch setting for message flow 'f2' is ‘on’.
Coping With Infrastructure Changes –
Configurable Services
ƒ External applications with which the broker can connect can often be defined as ‘Configurable Services’
f For example: LDAP, FTP, WSRR, SAP and IMS servers, JMS destinations, TCP/IP servers and clients
ƒ Configurable Services allow you to modify connection information operationally, i.e. without redeploying your
message flows
ƒ Typically, you can set node properties that can refer to either a static destination or a Configurable Service
alias.
f An alias delegates the connection configuration to the broker runtime.
Coping With Infrastructure Changes -
LocalEnvironment
▪ Many configuration parameters can be computed dynamically through the LocalEnvironment
▪ For example, Web Services destination:
SET OutputLocalEnvironment.Destination.HTTP.RequestURL =
'http://ibm.com/abc/';

▪ The EndpointLookup node can be used to set up the LocalEnvironment based on the contents of
WebSphere Service Registry and Repository (WSRR)

WSRR
Advanced Administration
ƒ Backup and Restore

ƒ Inter-process Communication

ƒ Synchronization and Adoption


Recovery - Backing Up the Toolkit

▪ All configuration information is held in the workspace


▪ e.g. C:\Documents and Settings\Ralph\IBM\wmbt61\workspace

▪ .metadata subdirectory holds configuration information

▪ Other subdirectories hold project state

▪ Use Change Management systems (e.g. CVS) when working in a team


Recovery - Backing Up a ConfigMgr

▪ A Configuration Manager is made up of three resources:

Holds unprocessed
Queues messages from the broker
and CMP applications

Registry
Holds configuration
information set by
Repository
mqsicreateconfigmgr
Holds all other
configuration
information!

▪ Safeguarding the repository is therefore key to the Configuration Manager’s survival!


▪ Use mqsibackupconfigmgr on a regular basis
Recovery - Backing Up a Broker

▪ A broker is made up of four resources:

Holds message flow,


dictionary, pub/sub and Holds XSL stylesheets,
Database
other configuration JARs, Adapter
Configuration files,
File System
XSDZIPs etc.
Holds some ($MQSI_FILEPATH)
Registry configuration
information
(mqsicreatebroker)
Queues
Holds in-flight
aggregations and
collections

▪ …plus any resources your message flows require


Improve PD - Inter-component Communication
Broker
SYSTEM.BROKER. SYSTEM.BROKER. SYSTEM.BROKER.
CONFIG.QUEUE ADMIN.QUEUE EXECUTIONGROUP.QUEUE

Config Data
Admin
CMP Manager Flow
Agent
Engine

SYSTEM.BROKER. SYSTEM.BROKER. SYSTEM.BROKER.


CONFIG.REPLY ADMIN.REPLY EXECUTIONGROUP.REPLY

ƒ Important Queues:
f SYSTEM.BROKER.CONFIG.QUEUE (CMP to CM)
f SYSTEM.BROKER.CONFIG.REPLY (CM to CMP)
f SYSTEM.BROKER.ADMIN.QUEUE (CM to Admin Agent)
f SYSTEM.BROKER.ADMIN.REPLY (Admin Agent to CM)
f SYSTEM.BROKER.EXECUTIONGROUP.QUEUE (Admin Agent to EG)
f SYSTEM.BROKER.EXECUTIONGROUP.REPLY (EG to Admin Agent)
Improve PD - How Deployment Works
SYSTEM.BROKER. SYSTEM.BROKER. SYSTEM.BROKER.
CONFIG.QUEUE ADMIN.QUEUE EXECUTIONGROUP.QUEUE

BAR BIP1520 BIP2056 BIP4040


Config Manager Data
Admin
CMP Flow
Agent
Engine

SYSTEM.BROKER. SYSTEM.BROKER. SYSTEM.BROKER.


CONFIG.REPLY ADMIN.REPLY EXECUTIONGROUP.REPLY

1. CMP sends BAR file as a message to SYSTEM.BROKER.CONFIG.QUEUE

2. Config Manager applies overrides and converts BAR file to an internal message format.

3. Internal deployment message sent to SYSTEM.BROKER.ADMIN.QUEUE. The Config Manager Generates a BIP1520
(deployment initiated) message, which is sent to the CMP.

4. Admin agent receives message, sends execution group information onto the correct DFE by writing to
SYSTEM.BROKER.EXECUTIONGROUP.QUEUE.

5. DFE picks up message and processes message. Generates a BIP4040 if all is well.

6. DFE responds to SYSTEM.BROKER.EXECUTIONGROUP.REPLY.

7. Admin Agent receives message, generates BIP2056 and responds to SYSTEM.BROKER.ADMIN.REPLY.

8. Config Manager receives and processes the response.

9. Config Manager sends updates to connected CMP application(s) using SYSTEM.BROKER.CONFIG.REPLY.


Improve PD How can I see what happened
6.1.0.3 and higher.
ƒ When Admin Agent receives an request :
SYSTEM.BROKER. SYSTEM.BROKER. BIP2152I MQ88BRK JCN 39 CONFIGURATION MESSAGE
ADMIN.QUEUE EXECUTIONGROUP.QUEUE RECEIVED FROM BROKER. : ImbConfigurationNode(275)

ƒ Then the request will be reported either BIP2153 for an


Execution Group or BIP2155 for a Message Flow
BIP2152 BIP2153I ABOUT TO ‘xxxxxx' AN EXECUTION GROUP.
Data
Admi TO 'change' AN EXECUTION GROUP
Flow TO 'start' AN EXECUTION GROUP
n
Engin TO 'stop' AN EXECUTION GROUP
Agent
e
BIPxxxx BIP2155I ABOUT TO ‘xxxxxx ' THE MESSAGE FLOW ‘xxxxxx’.
TO 'delete ' THE MESSAGE FLOW - ‘RALPH.FLOW'.
TO ‘create ' THE MESSAGE FLOW - ‘RALPH.FLOW'.
TO 'stop ' THE MESSAGE FLOW - ‘RALPH.FLOW’
TO 'start ' THE MESSAGE FLOW - ‘RALPH.FLOW’
BIP2154
SYSTEM.BROKER. ƒ When Admin Agent completed the request :
EXECUTIONGROUP.REPLY
BIP2154I MQ88BRK JCN 39 EXECUTION GROUP FINISHED WITH
CONFIGURATION MESSAGE.
Some things to look for…

ƒ Non-zero queue depths


f A hanging (or slow running) component?

ƒ BIP messages in the System Log, MB Toolkit etc.


ƒBIP5xxx = Parsers
f Number indicates the origin of the message
y BIP0xxx = Message Broker Toolkit
ƒBIP6xxx = Parsers
y BIP1xxx = Configuration Manager ƒBIP7xxx = Pub/Sub
y BIP2xxx = Admin Agent ƒBIP8xxx = Commands
y BIP3xxx = DFE / Nodes ƒBIP9xxx = Other
y BIP4xxx = DFE / Nodes

f …but not the root cause of any problem, for example


y BIP1520 “Deployment Initiated”
– Does not indicate a successful deployment
y BIP1510 “Deployment already in progress”
– Simply means that a response hasn’t been received on SYSTEM.BROKER.ADMIN.REPLY
– Wait for the Admin Agent/DFE to respond, or use cancel deployment
Coping With Infrastructure Changes -
Synchronization (V6.1 only)

ƒ In certain circumstances, a Configuration Manager can report


out-of-date information…
f …if you tell the Configuration Manager to cancel a
deployment which is subsequently processed by the DFE
f …if you modify properties using “direct” broker commands
(e.g. mqsichangeproperties), the Configuration Manager
isn’t told.

ƒ The V6.1 Configuration Manager is able to synchronise itself with


every broker in the domain
f After the first successful deployment
f During the “adoption” process
f When the Configuration Manager starts
f Every sixty minutes (configurable)
f If you call the CMP method
BrokerProxy.discoverConfiguration()

ƒ The Configuration Manager compares its definition with what the


broker is actually running, and updates the definition accordingly

ƒ Can be disabled for all or selected brokers using the CMP API
Exerciser
Coping With Infrastructure Changes –
Broker Adoption
ƒ The V6.1 Configuration Manager is able to adopt
previously deployed brokers

ƒ You can adopt a broker by just adding it to your domain,


specifying the UUID; the Configuration Manager will
synchronize its configuration automatically

ƒ Use
f if your Configuration Manager repository is destroyed
(and backups are not available!)
f If you need to restructure your domain
f Broker’s should still be owned by only one active
Configuration Manager

ƒ Removes the need to delete and recreate brokers


Adopting a broker
Objectives

ƒ To learn about the most effective ways to administer WebSphere


Message Broker:

f What tools and techniques are available for administration


f How to minimize the cost of administration
Further Information:

WebSphere Message Broker V6.1


http://www.ibm.com/software/integration/wbimessagebroker

Support Information
http://www.ibm.com/software/integration/wbimessagebroker/support/
For those with a taste for more…

Session Date/Time
1102
Introduction to WebSphere Message Broker
Mon 1:30 - 2:30
1162
Administration of your z/OS MB (w/o the toolkit) Tues 1:30 - 2:30
1198
MQ and MB with WSRR on z/OS

Thurs 9:30 - 10:30


1140
WMQ and WMB on z/OS Surgery + Drop-in Lab
(18C, ACC)

Thurs 11:00 - 12:30


1134
Using WMB to connect to SAP, Siebel and PeopleSoft Thurs 3:00 - 4:00
1121
Message Broker - Practical Examples Best Practices for Performance
Fri 09:30 - 10:30
Thank you for listening!

ƒ Please fill in your evaluation forms for this session.

f Session 1162
WebSphere Message Broker: Administration of your Message
Broker
Backup charts
Command-line – three types

▪ Tools that perform “direct” administration


▪ Tend to contain an unflagged component name parameter (e.g. mqsilist BROKER)
▪ Run locally on the machine on which the component exists
▪ Examples: mqsilist, mqsicreatebroker

▪ Tools run in Eclipse “headless” mode


▪ Parameters to specify workspace or project location
▪ Examples: mqsicreatebar, mqsicreatemsgdefs

▪ Tools based on the Configuration Manager Proxy


▪ Parameters to specify location of Configuration Manager
▪ Examples: mqsideploy, mqsicreateexecutiongroup
Controlling access to resources
Broker

Message Configuration
Brokers E
Manager
Toolkit G

▪ MQ Configuration
▪ Control access to the Configuration Manager and broker’s queues and queue manager:
▪ Who should have access to the Configuration Manager’s queues and queue manager?
▪ Who should have access to the broker’s queue manager? And broker system queues?
▪ Use SSL between MBT and CM (and between Config Manager and brokers if necessary)
▪ Consider using the same queue manager for both broker and Config Manager
▪ This will minimize MQ administration, but having multiple CMs may increase administration cost

▪ Configuration Manager ACLs


▪ Runtime authentication / authorization / identity mapping with LDAP or TFIM (MB v6.1 only)
Deployment – Problem Determination

▪ Any error messages?


▪ Event log viewer/command output/DeployResult
▪ System log

▪ Are the components running?


▪ Alerts view
▪ System log
▪ ps/Task Manager etc.

▪ Check queue depths

▪ Use supplied tools


Tools to Determine the State of your
Domain
▪ Configuration Manager Proxy API Exerciser

▪ mqsideploy –cancel (only if there is no chance that the broker could have
picked up the deployment message)

▪ Only at the direction of IBM Service (or the foolhardy):


▪ mqsicmdt
▪ mqsicmrv

▪ Also:
▪ Documentation, mqseries.net, Tech docs, IBM Education Assistant, IBM
Service etc.