®IBM Software Group WebSphere Message Broker V7.0 Administration and Troubleshooting Made Easy Amar Shah Advisory Software Engineer
[email protected] WebSphere® Support Technical Exchange IBM Software Group Agenda Architectural and Conceptual changes Configuration Manager Removal overview Database removal overview Admin Security Administration using Message Broker Explorer (MBX) Problem determination Summary WebSphere ® Support Technical Exchange 2 of 35 IBM Software Group Configuration Manager Removal overview WebSphere Message Broker (WMB) V7 does not contain a Configuration Manager Brokers become responsible for deployment, management and enforcement of administrative security Existing tools administer each broker directly More information on what’s happening WebSphere ® Support Technical Exchange 3 of 35 IBM Software Group Broker’s Interaction with Tools WebSphere ® Support Technical Exchange 4 of 35 IBM Software Group Configuration Manager Proxy API Exerciser Changes New actions “Connect to Broker” option View menu (Basic/Advanced/Everything) Show BAR files under execution group; view and re-deploy them Control service trace for execution group and message flow Removed all pub/sub administration options, including topology Added nodes, BAR files, message flow dependencies and icons to tree Added Administration Queue Added Configurable Services Right-click now uses sub-menus to group similar tasks WebSphere ® Support Technical Exchange 5 of 35 IBM Software Group Managing Configurable Services WebSphere ® Support Technical Exchange 6 of 35 IBM Software Group Administering Message Flows WebSphere ® Support Technical Exchange 7 of 35 IBM Software Group Compatibility with Existing CMP Applications Benefit from direct broker connections without having to change existing applications You can use your V6.x CMP code to connect to a broker: ConfigManagerConnectionParameters cmcp = new MQConfigManagerConnectionParameters("localhost", 1414, "QMGR"); ConfigManagerProxy cmp = ConfigManagerProxy.getInstance(cmcp); TopologyProxy t = cmp.getTopology(); BrokerProxy b = t.getBrokerByName(“BROKER”); In this case, the broker will pretend to be a Configuration Manager and return sensible information that the existing application might expect You will receive deprecation warnings when compiling. We recommend that you use v7 APIs where possible. WebSphere ® Support Technical Exchange 8 of 35 IBM Software Group Admin Security Setup WMB V7 WebSphere ® Support Technical Exchange 9 of 35 IBM Software Group Administrative Security Mqsicreatebroker MB7BROKER –q MB7QMGR –s active Simplified administrative security in WMB V7 allows 3 levels of authorisation for administrative actions: Reading Writing Executing On two object types: Broker Execution Group Administrative Security is not enabled by default Access controlled using MQ queues on the broker’s queue manager WebSphere ® Support Technical Exchange 10 of 35 IBM Software Group Actions Vs Authorizations WebSphere ® Support Technical Exchange 11 of 35 IBM Software Group Database Removal Overview WMB V7 does not use a system database Internally managed store holds broker’s configuration Backup and restore commands for disaster recovery User database access unaffected WMB only uses ODBC/JDBC if you want to access data from within your message flows WMB v7 does not ship with a DBMS System Database DBInstanceMgr removed. A key feature to improving the simplicity of Message Broker. WebSphere ® Support Technical Exchange 12 of 35 IBM Software Group The broker's configuration (v7) WebSphere ® Support Technical Exchange 13 of 35 IBM Software Group Tables moved to the Filesystem BROKERAA BROKERAAEG BROKERRESOURCES BRMPHYSICALRES BRMRTDINFO BRMWFDINFO mqsibrowse can be used to view the contents of the tables still. WebSphere ® Support Technical Exchange 14 of 35 IBM Software Group Command Changes – Flags Several flags are now ignored in WMB v7 mqsicreatebroker –u dataSourceUserId –p dataSourcePassword –n dataSourceName mqsichangebroker –p dataSourcePassword mqsicreatebroker -3 (z/OS only) To set default userid and password for user databases mqsisetdbparms BROKER –n dsn::DSN -u USERID –p PASS mqsisetdbparms BROKER –n jdbc::JDBC -u USERID –p PASS On Unix®/Linux® –i and –a parameters (system userid and password parameters are no longer required. On Windows® ‘LocalSystem’ can be used as the system userid and a dummy password. N.B. mqsisetdbparms no longer requires a broker restart! WebSphere ® Support Technical Exchange 15 of 35 IBM Software Group Default DB access on Windows When accessing a user database, the following logic is used to find the connecting userid and password. ODBC values in order of precedence: mqsisetdbparms specific DSN mqsisetdbparms default DSN (dsn::DSN) System userid and password JDBC values in order of precedence: mqsisetdbparms specific JDBC mqsisetdbparms default JDBC (jdbc::JDBC) System userid and password WebSphere ® Support Technical Exchange 16 of 35 IBM Software Group Default DB access on Unix and Linux When accessing a user database, the following logic is used to find the connecting userid and password. ODBC values in order of precedence: mqsisetdbparms specific DSN mqsisetdbparms default DSN (dsn::DSN) UserId=“mqsiUser”, Password=“********” JDBC values in order of precedence: mqsisetdbparms specific JDBC mqsisetdbparms default JDBC (jdbc::JDBC) UserId=“mqsiUser”, Password=“********” WebSphere ® Support Technical Exchange 17 of 35 IBM Software Group Backup and Restore New commands to backup and restore a broker’s configuration mqsibackupbroker BROKERNAME –d dirName [-a archiveName] mqsirestorebroker BROKERNAME –d dirName –a archiveName [-c] Backs up configuration state from the filesystem Internal Configuration Store Registry Artefacts deployed from BARs (not UDNs) Shared Configuration Broker Online backups supported No backup to be taken while the broker is processing configuration changes and deployments Used for disaster recovery scenarios only • Operational state (e.g. from queues) not saved WebSphere ® Support Technical Exchange Broker QMgr File system Backup 18 of 35 IBM Software Group What is Message Broker Explorer (MBX)? MBX is an Eclipse plugin to WMQExplorer v7.0.1.0 or above. It can run on Windows and Linux. It is installed as an “eclipse extension” to WMQExplorer by using an Install Anywhere standalone installer. Windows and Linux packages produced from same config file • Install.exe and install.bin InstallAnywhere packages can be silently, console or GUI installed. WMQExplorer plugins are never polluted. WebSphere ® Support Technical Exchange 19 of 35 IBM Software Group What does MBX provide? MBX provides a mechanism for Administering WebSphere Message Brokers. It allows a Broker Administration User to do the following: View local and remote Brokers in the WMQExplorer (automatically discovers local components) View Execution groups and Flows running on the Brokers Create and Delete local Brokers Starting and Stopping local Brokers Deploying of BAR files to multiple execution groups Starting and Stopping service trace on execution groups and flows Enable Broker Tooling, Administration API and MQClient Traces Broker Accounting and Statistics Charting DataPower Security Wizard Policy Sets & Security Profiles Much more… WebSphere ® Support Technical Exchange 20 of 35 IBM Software Group MBX showing Brokers, Broker Archives & Stats View WebSphere ® Support Technical Exchange 21 of 35 IBM Software Group MBX showing various artifacts WebSphere ® Support Technical Exchange 22 of 35 IBM Software Group Selection of Deploy Mechanisms Drag and Drop BAR’s from Filesystem (1 click) Drag and Drop BAR’s from Message Broker Toolkit Resource Perspective to Execution Group in Message Broker Explorer (1 click) Drag and Drop BAR’s from within the Broker Resources in Message Broker Explorer to Execution Groups Use Deploy menu from Execution Group to deploy several BARs From FileSystem From Message Broker Explorer workspace Use BAR menu to deploy a BAR to a group of Execution Groups Simultaneous deploys of a single BAR quickly Use BAR content page to open the BAR Deploy Wizard and then double click to deploy a BAR. (2 click) + many more combinations! 23 of 35 WebSphere ® Support Technical Exchange IBM Software Group Administration Log (change history) More useful messages to the administrator A move away from BIP4040/BIP2056 and towards full administrative audit capability Persistence option in MBX See changes by all users connected to the broker Displayed automatically in MBX WebSphere ® Support Technical Exchange 24 of 35 IBM Software Group Configurable Services exposed! You can create/ delete/ view and edit Configurable Services on your broker Using the Configurable Services Wizard you can base a Configurable Service on one already defined on the broker You can import and export Configurable Services files to the broker from other brokers Also supports Drag and Drop onto Configurable Services directory between brokers WebSphere ® Support Technical Exchange 25 of 35 IBM Software Group Administration Queue W hat is the broker doing? W hat administration requests are outstanding? Allows work items not yet started to be cancelled. WebSphere ® Support Technical Exchange 26 of 35 IBM Software Group WMB V7 Admin - Benefits The broker environment is lot easier to manage One view of the world More information returned to tools Improved connect and deploy times Long-standing niggles have been eliminated. V7 has: One-step broker creation (i.e. no CM association step) No service user ID requirement on non-Windows platforms No default execution groups (i.e. to host pub/sub) No “Deployment already in progress” messages No CM/Broker Synchronization problems • • Cancel Deployment Performance WebSphere ® Support Technical Exchange 27 of 35 IBM Software Group Problem Determination - MBX There are 4 logs which are constantly written to. These are all found in the workspace .metadata/ directory. <workspace>/.metadata/.log <workspace>/.metadata/BrokerExplorer.log <workspace>/.metadata/DefaultConfigurationW izard.log <workspace>/.metadata/CommandAssistantW izard.log WebSphere ® Support Technical Exchange 28 of 35 IBM Software Group Problem Determination - MBX The .log file is Eclipses’ main error log file and uncaught exceptions. The other 3 logs are MBX specific. BrokerExplorer.log • Is constantly written to in an Errors and W arnings capacity. This is overwritten at every MBX startup and a backup log made called BrokerExplorer.log.bak DefaultConfigurationW izard.log • Contains the output from the running of the Default Config wizard. CommandAssistantW izard.log • Contains all actions instigated by the MBX plugin such as mqsistart, mqsistop, mqsicreatebroker etc… WebSphere ® Support Technical Exchange 29 of 35 IBM Software Group Problem Determination using Resource Statistics – JVM A JVM has two memory areas, Heap and Non Heap, the following properties are reported InitialMemoryInMB The initial amount of memory (in megabytes) that the Java™ virtual machine requests from the operating system for memory management during startup. Its value may be undefined which is indicated by a value of -1. UsedMemoryInMB The amount of memory currently used (in megabytes). CommittedMemoryInMB The amount of memory (in megabytes) that is guaranteed to be available for use by the Java virtual machine. MaxMemoryInMB The maximum amount of memory (in megabytes) that can be used for memory management. WebSphere ® Support Technical Exchange 30 of 35 IBM Software Group JVM Stats – Interpretation How much memory is the JVM using? CommittedMemoryInMB - how much memory is currently allocated to the JVM MaxMemoryInMB - how big this may grow. How often am I doing garbage collection? CumulativeNumberOfGCCollections – Frequent increase in this indicates the garbage collection (GC) may be excessive. Excessive GC can impact performance. CumulativeGCTimeInSeconds – If this is increasing at more than 2 seconds per 20 second stats interval then consider increasing the JVM Max Heap size Inspect any Java Plugin nodes or Java Compute nodes in your message flows to ensure that you are not creating and deleting many objects that could be reused. Should I change my min or max heap size? If your CumulativeGCTimeInSeconds is increasing by more than 2 seconds per stats interval then look to increase the Max Heap Size to reduce this. If your UsedMemoryInMB is never close to your InitialMemoryInMB then this indicates that you are pre-allocating more memory for the heap than necessary and could reduce the JVM Min Heap Size value for you execution group to a value closer to the UsedMemoryInMB value. WebSphere ® Support Technical Exchange 31 of 35 IBM Software Group Summary Radical simplification of operational model Configuration Manager has been removed. Broker does not need a system Database . Administration Security for MB managed by MQ. MBX gives Finer control over the Broker and Qmanager operations. WebSphere ® Support Technical Exchange 32 of 35 IBM Software Group Additional WebSphere Product Resources Discover the latest trends in WebSphere Technology and implementation, participate in technically-focused briefings, webcasts and podcasts at: http://www.ibm.com/developerworks/websphere/community/ Learn about other upcoming webcasts, conferences and events: http://www.ibm.com/software/websphere/events_1.html Join the Global WebSphere User Group Community: http://www.websphere.org Access key product show-me demos and tutorials by visiting IBM® Education Assistant: http://www.ibm.com/software/info/education/assistant View a webcast replay with step-by-step instructions for using the Service Request (SR) tool for submitting problems electronically: http://www.ibm.com/software/websphere/support/d2w.html Sign up to receive weekly technical My Notifications emails: http://www.ibm.com/software/support/einfo.html WebSphere ® Support Technical Exchange 33 of 35 IBM Software Group We Want to Hear From You! Tell us about what you want to learn Suggestions for future topics Improvements and comments about our webcasts W e want to hear everything you have to say! Please send your suggestions and comments to:
[email protected] WebSphere ® Support Technical Exchange 34 of 35 IBM Software Group Questions and Answers WebSphere ® Support Technical Exchange 35 of 35