Professional Documents
Culture Documents
Solution Deployment Guide for IBM Tivoli Composite Application Manager for WebSphere
Quickly start a services engagement with ITCAM for WebSphere Statement of work samples and scope development assistance Includes sample code and installation instructions
Budi Darmawan
ibm.com/redbooks
International Technical Support Organization Solution Deployment Guide for IBM Tivoli Composite Application Manager for WebSphere December 2006
SG24-7293-00
Note: Before using this information and the product it supports, read the information in Notices on page vii.
First Edition (December 2006) This edition applies to Version 6, Release 0 of IBM Tivoli Composite Application Manager for WebSphere (product number 5724-L62).
Copyright International Business Machines Corporation 2006. All rights reserved. Note to U.S. Government Users Restricted Rights -- Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
Contents
Notices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vii Trademarks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . viii Preface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ix The team that wrote this book . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ix Become a published author . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . x Comments welcome. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . x Chapter 1. IBM Tivoli Composite Application Manager for WebSphere solution offering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.1 Services solution overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.2 ITCAM for WebSphere concepts. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.2.1 Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.2.2 Supported platform overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 1.3 ITCAM for WebSphere solution. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 1.3.1 Solution overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 1.3.2 Software components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 1.3.3 Suggested hardware configuration . . . . . . . . . . . . . . . . . . . . . . . . . . 10 1.4 Document organization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 Chapter 2. Planning for customer engagement . . . . . . . . . . . . . . . . . . . . . 13 2.1 Services engagement preparation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 2.1.1 Implementation skills. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 2.1.2 Available resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 2.2 Solution scope and components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 2.2.1 Basic solution definition. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 2.2.2 Cross-sell and up-sell opportunities . . . . . . . . . . . . . . . . . . . . . . . . . 16 2.3 Services engagement overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 2.3.1 Executive Assessment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 2.3.2 Demonstration system setup. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 2.3.3 Analyze solution tasks. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 2.3.4 Creating a contract . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 2.4 Defining solution timing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 2.4.1 Environment analysis tasks. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 2.4.2 WebSphere application management tasks . . . . . . . . . . . . . . . . . . . 26 2.5 Statement of work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 2.5.1 Environment analysis service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 2.5.2 WebSphere application management service. . . . . . . . . . . . . . . . . . 33
iii
Chapter 3. Demonstration of ITCAM for WebSphere . . . . . . . . . . . . . . . . . 37 3.1 Demonstration system setup. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 3.1.1 Installing application environment . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 3.1.2 Installing ITCAM for WebSphere environment . . . . . . . . . . . . . . . . . 41 3.1.3 Setting up management resources . . . . . . . . . . . . . . . . . . . . . . . . . . 42 3.1.4 Running the application load generator . . . . . . . . . . . . . . . . . . . . . . 43 3.2 WebSphere Application Server monitoring . . . . . . . . . . . . . . . . . . . . . . . . 44 3.3 Generating performance report . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 Chapter 4. Implementation of ITCAM for WebSphere service. . . . . . . . . . 47 4.1 Install the managing server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 4.2 Modify the managing server for the other site . . . . . . . . . . . . . . . . . . . . . . 61 4.3 Install data collectors. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 4.4 Customize the management environment. . . . . . . . . . . . . . . . . . . . . . . . . 71 4.4.1 IBM Tivoli Composite Application Manager for WebSphere . . . . . . 71 4.4.2 Activating data collection. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 4.4.3 Defining server groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 4.4.4 Defining operators. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 4.5 Run initial data collection. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 4.6 Collect performance reports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 4.7 Run detailed data collection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 4.7.1 Scheduling monitoring level changes . . . . . . . . . . . . . . . . . . . . . . . . 85 4.7.2 Getting transaction trace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 4.7.3 Performing lock analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89 4.7.4 Performing memory leak analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . 93 4.8 Develop the finding report . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102 4.9 Remove the data collector. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102 Chapter 5. Complementary solutions for ITCAM for WebSphere engagement. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105 5.1 Cross-sell and up-sell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106 5.2 Additional solutions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106 5.2.1 Managing and analyzing response time . . . . . . . . . . . . . . . . . . . . . 106 5.2.2 Working with messaging infrastructure . . . . . . . . . . . . . . . . . . . . . . 107 5.2.3 Managing Web Services and SOA infrastructure . . . . . . . . . . . . . . 108 5.3 Enhancement solutions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109 5.3.1 Enabling a split server for load balancing and reliability . . . . . . . . . 109 5.3.2 Security enhancement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110 5.3.3 Integrating performance monitoring with the portal solution . . . . . . 110 5.3.4 Collecting performance information in Tivoli Data Warehouse . . . . 110 Appendix A. Additional material . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111 Locating the Web material . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111 Using the Web material . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
iv
Solution Deployment Guide for IBM Tivoli Composite Application Manager for WebSphere
System requirements for downloading the Web material . . . . . . . . . . . . . 112 How to use the Web material . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112 Abbreviations and acronyms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113 Related publications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115 IBM Redbooks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115 Other publications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115 Online resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116 How to get IBM Redbooks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117 Help from IBM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117 Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
Contents
vi
Solution Deployment Guide for IBM Tivoli Composite Application Manager for WebSphere
Notices
This information was developed for products and services offered in the U.S.A. IBM may not offer the products, services, or features discussed in this document in other countries. Consult your local IBM representative for information on the products and services currently available in your area. Any reference to an IBM product, program, or service is not intended to state or imply that only that IBM product, program, or service may be used. Any functionally equivalent product, program, or service that does not infringe any IBM intellectual property right may be used instead. However, it is the user's responsibility to evaluate and verify the operation of any non-IBM product, program, or service. IBM may have patents or pending patent applications covering subject matter described in this document. The furnishing of this document does not give you any license to these patents. You can send license inquiries, in writing, to: IBM Director of Licensing, IBM Corporation, North Castle Drive, Armonk, NY 10504-1785 U.S.A. The following paragraph does not apply to the United Kingdom or any other country where such provisions are inconsistent with local law: INTERNATIONAL BUSINESS MACHINES CORPORATION PROVIDES THIS PUBLICATION "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Some states do not allow disclaimer of express or implied warranties in certain transactions, therefore, this statement may not apply to you. This information could include technical inaccuracies or typographical errors. Changes are periodically made to the information herein; these changes will be incorporated in new editions of the publication. IBM may make improvements and/or changes in the product(s) and/or the program(s) described in this publication at any time without notice. Any references in this information to non-IBM Web sites are provided for convenience only and do not in any manner serve as an endorsement of those Web sites. The materials at those Web sites are not part of the materials for this IBM product and use of those Web sites is at your own risk. IBM may use or distribute any of the information you supply in any way it believes appropriate without incurring any obligation to you. Information concerning non-IBM products was obtained from the suppliers of those products, their published announcements or other publicly available sources. IBM has not tested those products and cannot confirm the accuracy of performance, compatibility or any other claims related to non-IBM products. Questions on the capabilities of non-IBM products should be addressed to the suppliers of those products. This information contains examples of data and reports used in daily business operations. To illustrate them as completely as possible, the examples include the names of individuals, companies, brands, and products. All of these names are fictitious and any similarity to the names and addresses used by an actual business enterprise is entirely coincidental. COPYRIGHT LICENSE: This information contains sample application programs in source language, which illustrate programming techniques on various operating platforms. You may copy, modify, and distribute these sample programs in any form without payment to IBM, for the purposes of developing, using, marketing or distributing application programs conforming to the application programming interface for the operating platform for which the sample programs are written. These examples have not been thoroughly tested under all conditions. IBM, therefore, cannot guarantee or imply reliability, serviceability, or function of these programs.
vii
Trademarks
The following terms are trademarks of the International Business Machines Corporation in the United States, other countries, or both: AIX CICS Database 2 DB2 Universal Database DB2 IBM IMS Monitoring On Demand MVS OMEGAMON OS/400 PartnerWorld Redbooks Redbooks (logo) Tivoli Enterprise Tivoli Enterprise Console Tivoli VTAM WebSphere z/OS
The following terms are trademarks of other companies: Enterprise JavaBeans, EJB, Java, JavaBeans, JavaServer, JavaServer Pages, JDBC, JMX, JSP, JVM, J2EE, Solaris, Sun, and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both. Microsoft, Windows, and the Windows logo are trademarks of Microsoft Corporation in the United States, other countries, or both. Intel, Pentium, Intel logo, Intel Inside logo, and Intel Centrino logo are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States, other countries, or both. UNIX is a registered trademark of The Open Group in the United States and other countries. Linux is a trademark of Linus Torvalds in the United States, other countries, or both. Other company, product, or service names may be trademarks or service marks of others.
viii
Solution Deployment Guide for IBM Tivoli Composite Application Manager for WebSphere
Preface
This IBM Redbook is written for services professionals who are responsible for developing, selling, and implementing customer-based service engagements. The book focuses on implementation services for IBM Tivoli Composite Application Manager for WebSphere V6.0. IBM Tivoli Composite Application Manager for WebSphere is a performance management solution for WebSphere Application Server-based applications. It enables monitoring of various performance aspects of WebSphere Application Servers and provides valuable assistance in finding and removing application bottlenecks. This implementation service for IBM Tivoli Composite Application Manager for WebSphere is suitable for customers with multiple mission-critical applications deployed on WebSphere Application Server. This book explains the fundamental aspects of services engagement and Statement of Work creation. We explore in detail how to analyze the effort required for implementing the solution. We also provide several additional add-ons that you might be able to package in the implementation service. This book is meant to be used in conjunction with Deployment Guide Series: IBM Tivoli Composite Application Manager for WebSphere V6.0, SG24-7252. We will not cover deployment in detail; we are more focused on building the service engagement package.
ix
Thanks to the following people for their contributions to this project: Betsy Thaggard International Technical Support Organization, Poughkeepsie Center Elizabeth Purzer IBM Software Group
Comments welcome
Your comments are important to us! We want our Redbooks to be as helpful as possible. Send us your comments about this or other IBM Redbooks in one of the following ways: Use the online Contact us review redbook form found at: ibm.com/redbooks Send your comments in an e-mail to: redbook@us.ibm.com Mail your comments to: IBM Corporation, International Technical Support Organization Dept. HYTD Mail Station P099 2455 South Road Poughkeepsie, NY 12601-5400
Solution Deployment Guide for IBM Tivoli Composite Application Manager for WebSphere
Chapter 1.
Solution Deployment Guide for IBM Tivoli Composite Application Manager for WebSphere
into SQL performance analysis without the need for database monitors. It can provide SQL information and calls that were made through Java Database Connectivity (JDBC). ITCAM for WebSphere provides a composite status correlation for transactions that use CICS or IMS as the back-end system. ITCAM for WebSphere V6.0 evolved from WebSphere Studio Application Monitor and OMEGAMON XE for WebSphere. ITCAM for WebSphere observes and reports on the health of J2EE-based applications. It tracks the progress of applications as they traverse through J2EE application servers, middleware adapters and transports, and database calls, and on to back-end systems such as CICS or IMS to extract business data or to invoke mainframe business processes. The tracking of applications produces request traces, where the events in a requests life are recorded and stored in a monitoring repository database. ITCAM for WebSphere captures the CPU and the elapsed internal times when events are called and when they are exited, measuring as far down as the CPU times consumed and the elapsed internal times charged to individual methods in J2EE classes. The methods or events taking the most time are marked as an applications parts that deserve attention for runtime improvement studies and code optimizations. ITCAM for WebSphere does not need modification of any application code. Java Virtual Machine Tool Interface (JVMTI) interfaces and primitives, along with WebSphere Performance Management Interface (PMI) and z/OS System Measurement Facility (SMF) 120 records, are ITCAM for WebSpheres principal data sources. The monitoring data is collected and analyzed to offer a wealth of information about the health of J2EE applications and their servers. Many system-level performance metrics are collected and reported about J2EE application servers. The status of the servers and their resources (particularly at vital checkpoints such as CPU utilization), memory usage, and the status of internal components such as database connection pools, JVM thread pools, EJB usage, and request processing statistics can be very useful and important for locating real-time problems with J2EE applications. ITCAM for WebSphere brings attention to these critical indicators with real-time, graphical displays of their values and their trends over time.
1.2.1 Components
ITCAM for WebSphere is a distributed performance monitoring application for application servers. Its components are connected through TCP/IP communication. The central component of ITCAM for WebSphere, the managing server, is its heart and brain. It collects and displays various performance information from application servers. The application servers run a component of ITCAM for WebSphere called the data collector (DC), which is a collecting agent
Chapter 1. IBM Tivoli Composite Application Manager for WebSphere solution offering
that runs in the application server and sends monitoring information to the management server. These data collectors operate independent of each other. Figure 1-1 shows the overall architecture of ITCAM for WebSphere.
Web Server Application servers with ITCAM for WebSphere Data collectors
The managing server Acts as the central component that manages and administers the data collectors. It stores that data in a relational database repository. A Web-based application is provided to show the monitoring results; this interface is also called the visualization engine. We discuss the managing server in The managing server on page 5. Data collectors run on the application servers that are being monitored. They collect performance information for the managing server. These data collectors operate independent of each other. They are discussed in WebSphere data collector on page 6. Tivoli Enterprise Monitoring Agent collects information that shows the status of the WebSphere server and sends this information to the Tivoli Enterprise Monitoring Server for display via the Tivoli Enterprise Portal. Tivoli Enterprise
Solution Deployment Guide for IBM Tivoli Composite Application Manager for WebSphere
Monitoring Agent is installed on the individual machines where the data collector resides.
Chapter 1. IBM Tivoli Composite Application Manager for WebSphere solution offering
well as event-driven functions. The visualization engine runs on a J2EE server, such as WebSphere Application Server. Figure 1-2 shows the conceptual relationship between the components.
Snapshot traffic
Publish Server (PS) Message Dispatcher (MD) Archive Agent (AA) Polling Agent (PA)
Publish traffic
Kernel (KL)
Provide services on: - Lookup - Registration - Recovery - Configuration
Visualization Engine
Provide services on: -Administration -Availability -Problem Determination -Performance Management
OCTIGATE
database
When it reaches the managing server, monitoring data is prepared for real-time displays within the monitoring console and is inserted into the ITCAM for WebSphere data repository. These are very resource-intensive operations; moving them to a standalone distributed server (or servers) isolates them from other enterprise activities, thus reducing ITCAM for WebSpheres system resource footprint in the monitored systems. This design also helps keep ITCAM for WebSpheres processing overhead at levels low enough for 24x7 production system monitoring. Data from the distributed data collectors is collected by the publishing server and then stored in the OCTIGATE database by the archive agent. The Visualization Engine reads the database in order to present data through the Web console, while snapshot information such as lock analysis and in-flight transaction are retrieved directly from the data collectors.
Solution Deployment Guide for IBM Tivoli Composite Application Manager for WebSphere
Data collectors have two agents: Command agent The command agent collects requests from other components for information about EJB invocations, database connection pools, thread pools, stack traces, memory analyses, and heap dumps. Event agent The event agent provides data to the publish servers according to polling frequencies. This data includes system initialization data, application request-level data, and application method-level data. Collectively, these agents and other data collector routines unleash the probes, package the monitoring data into Java formats for the managing server, and deliver the data to the managing server. The data collectors send the probes into the application servers to analyze the applications performance. The probes collect monitoring data and feed it to transport routines that in turn route the data to the managing server. The managing server processes this data for appropriate display in the ITCAM for WebSphere console and for storage in the OCTIGATE repository. This relieves the processing burden of ITCAM for WebSphere from the application servers as much as possible. The data collectors and probes are not designed to analyze or interpret data, but to collect it and route it as quickly as possible to the managing server where the analysis is performed. The data sources employed by ITCAM for WebSphere are: JVMTI garbage collection data, method trace, stack trace, CPU time, and heap dump JMX system resources SMF system resources (z/OS only) PMI system resources OS services SCC, platform CPU, and its environment Byte Code Modification (BCM) instrumentation of some classes The data collector in a J2EE server runs as a custom service called am. Figure 1-3 on page 8 shows the conceptual data collector structure.
Chapter 1. IBM Tivoli Composite Application Manager for WebSphere solution offering
WebSphere
JVMTI JMX PMI
bcm
Custom Service am
Publish data
KYN
To TEMS
Solution Deployment Guide for IBM Tivoli Composite Application Manager for WebSphere
Table 1-1 ITCAM for WebSphere supported platform overview Component Managing server operating system Software AIX 5.2, 5.3 Solaris 9 cluster, 10 cluster HP-UX 11iv1 RHEL 3.0, RHEL 4.0, SLES 8, SLES 9 Windows 2000 Server or Advanced Server with SP4 Windows 2003 Server SE/EE DB2 7.2 EE/EEE FP11 DB2 8.1 ESE FP6 DB2 8.2 ESE Oracle 9i S/E R2 9.2+ Oracle 10g WebSphere Application Server 5.1.1 and above or WebSphere Application Server 6.x Windows 2000 Pro SP4 Windows 2000 Server or Advanced Server with SP4 Windows 2003 Server SE/EE AIX 5.2 and 5.3 RHEL 3.0 and 4.0 SLES 8 and 9 Solaris 8, 9, 10, Solaris 9 Cluster HP-UX 11iv1 RFAS 4.0 and 4.1 OS/400 V5R2 and V5R3 z/OS 1.4, 1.5, 1.6, or 1.7 CTG 5.0.1 or 5.1 and 1.3, 2.2, 2.3 or 3.1 7.1, 8.1 and 9.1
CICS IMS
Chapter 1. IBM Tivoli Composite Application Manager for WebSphere solution offering
10
Solution Deployment Guide for IBM Tivoli Composite Application Manager for WebSphere
Chapter 1. IBM Tivoli Composite Application Manager for WebSphere solution offering
11
12
Solution Deployment Guide for IBM Tivoli Composite Application Manager for WebSphere
Chapter 2.
13
14
Solution Deployment Guide for IBM Tivoli Composite Application Manager for WebSphere
Classroom Training: IBM PartnerWorld provides current information about available classes, their dates, locations, and registration. Additionally, check the PartnerEducation Web site, which serves as a single point of contact for all Business Partner education and training. IBM Technical Education Services (ITES): ITES offers a variety of classes at all knowledge levels to help you achieve any of the offerings prerequisite skills. IBM Redbooks: You can access various practical and architectural information regarding IBM hardware and software platforms from these books. They are available for download in the PDF format at http://ibm.com/redbooks.
15
16
Solution Deployment Guide for IBM Tivoli Composite Application Manager for WebSphere
It is important to work with your customers to understand their expectations. After you have gathered this data, document the tasks, deliverables, and associated costs in a statement of work. The statement of work acts as your contractual agreement with the customer for the duration of the project; therefore, a detailed and well-defined statement of work is advantageous both to you and your customer. A good overall understanding of the solution scope is a crucial prerequisite to successfully selling, developing, and implementing it. As a solution provider, you must understand what is involved in developing such a solution before you can discuss it with your customer and size it for a cost estimate.
17
Task Preparation of a set of strategic recommendations Creation of a demonstration prototype Presentation of findings and close for a contract Total
This is a business-case assessment, not a technical assessment, so your audience should be business owners, line-of-business executives, marketing and sales managers, and finally, the IT manager. The business owner or line-of-business executive is likely to be the decision maker. For their initial investment, your clients get: A business assessment prepared by a professional (you) A competitive analysis A prototype solution for their review A strategic and tactical proposal for justifying and implementing their solution for Web-based business Over the course of the Executive Assessment, you determine who will be involved in the project, what they want to accomplish, when they plan to deploy, where the Web plays a mission-critical role in their business, and how the project will be funded. Armed with this information, a competitive analysis, and a prototype solution, you will be able to justify their investment, build perceived value, present your recommendations in a way that is almost irresistible, and successfully close the contract. Having the ability to recommend the correct course of action to your client has tremendous value. In a market where it is difficult for companies to find qualified Business Intelligence consultants, the Executive Assessment and resulting presentation gives you a chance to prove conclusively that you have the right technology and the right people to do the job.
18
Solution Deployment Guide for IBM Tivoli Composite Application Manager for WebSphere
You can set up ITCAM for WebSphere demonstration system using a two-machine environment: one running the managing server and the other running the application client with the data collector. This demonstration system is typically running a test application that you can load onto it so that you can use ITCAM for WebSphere to show monitoring processes and collect results. The demonstration system enables your customers to evaluate whether the solution suits their particular needs. Table 2-2 shows the tasks and estimated time for demonstrating the solution. Chapter 3, Demonstration of ITCAM for WebSphere on page 37 suggests some demonstration ideas.
Table 2-2 Solution demonstration task Task Set up hardware Install and configure operating system Install sample application Install ITCAM for WebSphere Install data collector Run application load Demonstrate to customer Run reports Total Estimated time (hours) 1-2 2-3 2-4 3-4 1 1 2 1 13 - 18
19
Understands J2EE application environment, with its components, such as Enterprise JavaBeans (EJB), Servlets, Java 2 Connector (J2C), Java Database Connectivity (JDBC), and Web Services. Understands WebSphere security concepts, such as Secure Socket Layer (SSL), LDAP authentication, and certificate usage Has thorough knowledge of ITCAM for WebSphere Depending on your skills and experience, the estimates we present might be too high or too low. Table 2-3 illustrates one method of approximating more realistic time estimates for your efforts, based on whether you or your team are new to each skill area or could be considered experts. A novice is someone who has completed training in the skill area but has no hands-on experience. An expert has completed training in the skill area and has implemented ITCAM for WebSphere projects.
Table 2-3 Skill adjustment Skill Experience with the operating system Deep understanding of WebSphere Application Server or J2EE environment Experience in ITCAM for WebSphere installation Familiarity of ITCAM for WebSphere reports Novice increase by 25% 40% 10% 25% Expert reduce by 10% 20% 20% 20%
For the detailed task breakdown, see 2.4, Defining solution timing on page 21.
20
Solution Deployment Guide for IBM Tivoli Composite Application Manager for WebSphere
Solution description, which contains the major components and solution building blocks that will be implemented. It should cover conceptual architecture of the solution and solution scope in general. This description is aimed for technical personnel to understand the implementation scope. Assumptions, which lists all of the assumptions that are used to prepare the contract and provide task estimation. Any deviation to the assumptions that is used will definitely affect the scope of engagement and must be managed using the change management procedure. Typical changes include cost changes or scope changes. Business partner responsibilities, which lists all of the responsibilities or major tasks that will be performed by you or your team to implement the solution. Customer responsibilities, which lists all of the responsibilities or items that the customer must provide for you or your team to perform the engagement. If you cannot obtain any item in the customer responsibilities, then a change management procedure may be invoked. Staffing estimates, which lists the estimated personnel needed to implement the solution. Project schedule and milestones, which shows the major steps, schedule, and achievement calendar that can be used to check the project progress. Testing methodology, which lists the test cases to ensure that the project implementation is successful. Deliverables, which provides tangible items that the customer will get at the end of the service engagement, including: Machine installation Documentation Training Completion criteria, which lists the items that, when provided to the customer, indicate that the engagement is successfully completed. For most services engagements, this is probably the most delicate to define. Completion criteria can be so general that you will be tied up providing the customer ongoing support for life. On the other hand, an inadequate completion criteria is often rejected by the customer fearing that you might back away from the engagement in an incomplete state. See 2.5, Statement of work on page 29 for a sample statement of work.
21
section guides you on the tasks that you might need to perform for an ITCAM for WebSphere solution implementation and the timing estimate. The estimate relies largely on some basic assumptions: Managed environment size: the number of data collectors that must be implemented correspond directly with the load of the managing server and the time needed for: Installing the data collectors Designing monitoring server group and assigning operators Analyzing performance information Application complexity: the number of servlets, EJB resources, and inter-server communication must be considered as they relate to the time needed for: Analyzing performance information Determining performance bottlenecks Providing performance recommendations Transaction rate of the application server would affect processing overhead on the managing server and have an impact on the collected performance data size. A higher transaction rate requires a smaller sample percentage, but this might prevent some of important transaction data from being collected, so you should lengthen the analysis of performance information. Table 2-4 lists our sizing assumptions.
Table 2-4 Sizing assumptions Assumption Number of data collectors Number of J2EE resources Inter-server communication Transaction rate per data collector Simple <5 < 50 N/A < 60/min Moderate 5 - 10 50 - 100 one to one 60 - 300/min Complex 10 - 20 100 - 200 interconnected 300 - 900/min
Important: You must be aware of any specific application problems or offending transactions that the customer is experiencing. It is common for the customer to assume that you can resolve this problem. Any such specific analysis must be listed in the assumption and factored properly for the time estimation. Our estimate does not cover analyzing existing or specific problems.
22
Solution Deployment Guide for IBM Tivoli Composite Application Manager for WebSphere
Gather requirements At the beginning of your engagement, you should meet with your customers to understand their proposed objectives and gather their requirements. First, you have to determine the functional requirements, which define the business functions that the Business Intelligence system is going to provide. You determine your requirements by developing a good understanding of the business needs and of what you hope to achieve. For example, look at issues such as business goals, purpose, and usage questions, such as who the users are and how they expect to interact. It is important to gather these requirements early and discover any challenges that might lay ahead while
23
they can still be dealt with easily. When you have determined the functional requirements, you can clarify the technical or system requirements. The technical requirement involves spending time at the customer site to determine and understand the available data sources. These data sources might come in different formats, such as relational databases, spreadsheets, text files, or even hard copies only. You need to be able to identify the fields or data elements in these data sources and plan how these data elements will be used in the target data mart. You also need to identify the schema or data usage changes from the supplied sample scenario, which is based on the non-customized products. The system requirement will be determined from the number and size of the data sources and the expected goals that the business questions will cover. This information dictates the size and performance of the systems that will be used in the solution. Design the solution Topics that should be addressed include scalability, functionality, and performance of this solution. Design involves understanding the customers environment including hardware, software, data volumes, special requirements, and operational procedures. It is necessary to identify and plan for any additional tuning of software that might be required because of the customers environment or special needs. In addition, an analysis of the modifications made to the scenarios and reports must be performed. After you have designed the proposed solution and reviewed it with your customer, you are ready to begin development of the offering. Perform gap analysis This task involves performing a gap analysis to give the customer an estimate of the development effort that is required to set up the solution. At its core, the analysis seeks to determine what customizable components should be extended, modified, or created. The number and complexity of customizable components drives the size of the project and the required resources. After you have designed the proposed solution and reviewed it with your customer, you are ready to proceed.
24
Solution Deployment Guide for IBM Tivoli Composite Application Manager for WebSphere
Table 2-7 Implementation tasks Task Estimated time (hours) Simple Install managing server on site Install data collector Run initial data collection Run detailed data collection Collect performance reports Develop finding report Removal of data collector Total 1-2 2-3 1-2 2-3 2-3 4-5 2-3 14-21 Moderate 1-2 3-4 2-4 3-4 4-6 5-6 3-4 21-30 Complex 1-2 4-6 4-7 4-5 8-10 6-7 4-6 31-43
Detailed sub-tasks for the solution follow: Installing managing server on site Installing data collector Run initial data collection Run detailed data collection Collect performance reports Develop finding report Removal of data collector
25
Gather requirements At the beginning of your engagement, you should meet with your customers to understand their proposed objectives and gather their requirements. First, you have to determine the functional requirements. Functional requirements define the business functions that the Business Intelligence system will provide. You determine your requirements by developing a good understanding of the business needs and of what you hope to achieve. For example, look at issues such as business goals, purpose, and usage questions, such as who the users are and how they expect to interact. It is important to gather these requirements early to discover any challenges that might lie ahead while they can still be dealt with easily. When you have
26
Solution Deployment Guide for IBM Tivoli Composite Application Manager for WebSphere
determined the functional requirements, you can clarify the technical or system requirements. The technical requirement involves spending time at the customer site to determine and understand the available data sources. These data sources may come in different formats, such as relational databases, spreadsheets, text files, or even hard copy only. You need to be able to identify the fields or data elements in these data sources and plan how these data elements will be used in the target data mart. You also need to identify the schema or data usage changes from the supplied sample scenario, which is based on the non-customized products. The system requirement will be determined from the number and size of the data sources and the expected goals that the business questions will cover. This information dictates the size and performance of the systems that will be used in the solution. Design the solution Topics that should be addressed include scalability, functionality, and performance of this solution. Design involves understanding the customers environment including hardware, software, data volumes, special requirements, and operational procedures. It is necessary to identify and plan for any additional tuning of software that might be required because of the customers environment or special needs. In addition, an analysis of the modifications to be made to the scenarios and reports has be performed. After you have designed the proposed solution and reviewed it with your customer, you can begin development of the offering. Perform gap analysis This task involves performing a gap analysis to give the customer an estimate of the development effort that is required to set up the solution. At its core, the analysis seeks to determine what customizable components need to be extended, modified, or created. The number and complexity of customizable components drive the size of the project and the required resources. After you have designed the proposed solution and reviewed it with your customer, you are ready to proceed.
27
Table 2-11 Implementation tasks Task Estimated time (hours) Simple Install managing server Install data collector Customize management environment Establish operation procedure Run initial data collection Run detailed data collection Collect performance reports Develop performance observation Total 1-2 2-3 1-2 2-3 1-2 2-3 2-3 4-5 15-23 Moderate 1-2 3-4 2-4 2-4 2-4 4-6 3-4 5-6 22-34 Complex 1-2 4-6 4-7 3-6 4-7 8-10 4-5 6-7 34-50
Detailed subtasks for the solution follow: Install managing server Install data collector Customize management environment Establish operation procedure Run initial data collection Run detailed data collection Collect performance reports Develop performance observation report
Provide training
Part of your implementation responsibilities can include training selected customer staff to troubleshoot basic problems and perform other operational tasks. This could involve some of the following topics: Solution technical design Problem Determination process Look at application logs Check software status Back up/restore important files and databases Develop a troubleshooting checklist Establish a Frequently Asked Questions list Administer the application Generate performance reports
28
Solution Deployment Guide for IBM Tivoli Composite Application Manager for WebSphere
Technical training with your customer could take 16 hours or more, depending on the technical depth of the discussions.
Provide training
Table 2-12 lists the training tasks.
Table 2-12 Training tasks Task Estimated time (hours) Simple Administrator training Operator training Total 4-8 4-6 8-14 Moderate 4-12 4-8 8-20 Complex 8-16 4-8 12-24
Removal of data collectors Presentation of performance findings and recommendations Closing of service engagement
29
Executive summary
The environment analysis service provides a high-level assessment of <customer> application environment. <You> provide an initial assessment of <customer> application on the area of <application name>, which consists of the following application servers: <lists>. The monitoring of these application servers will be conducted over the period of <date> for two weeks. At the end of the assessment period, <you> will present the assessment finding, including: Application server performance summary Application highlight, such as load profile, and transaction rate Performance highlights such as: potential bottleneck, excessive errors, deadlock Environment tuning recommendations
Solution description
In the environment analysis service, <you> will provide a managing server hardware that runs ITCAM for WebSphere managing server. ITCAM for WebSphere data collectors will be installed on <customer>s production servers for assessment. The data collector will mainly run in level 1 monitoring, which will have limited impact on your servers; lab testing shows a typical increase of 2%-3% of CPU usage for the J2EE application server. The solution assumes that the managing server connection to the data collectors would not go through a firewall. During the assessment period, transaction performance information and application server performance information will be collected and stored in the ITCAM for WebSphere managing server database. <You> will analyze the collected performance information and possibly perform monitoring with additional detail as needed. The analysis is performed dynamically and will not need a restart of the application servers. At the end of the assessment period, <you> will remove the data collectors from <customer> application servers and present the performance finding.
30
Solution Deployment Guide for IBM Tivoli Composite Application Manager for WebSphere
Assumptions
These are possible assumptions that can be used in the environment analysis service: Number of data collectors to be configured Transaction rate of each application server Transaction mix of each application server Note: Insert any additional assumptions about specific performance or transaction problem that the customer has.
Customer responsibilities
This section describes the responsibilities the customer has to the Business Partner; for example: Designating a representative who will be the focal point for all communication with the Business Partner relative to this project and who will have the authority to act on the customers behalf in matters regarding this project Designating operations personnel to work with the Business Partner as appropriate Providing all required Web site content in digital form, as specified by the Business Partner Providing all product data in a format as requested Providing all data and information required for implementation Providing suitable workspace with telephone access for the services specialists while working on customer premises Providing user IDs, passwords, and IP addresses as required, enabling the Business Partner to perform the service Providing information to allow estimates on current and future system workload and performance expectations
31
Staffing estimates
The project will be performed using one ITCAM for WebSphere specialist who will be on site as required by the project schedule. The project is estimated to be performed within three weeks.
ID 1 2 3
Task Name Plan the solution Implement the solution Close the engagement
Duration
19 20
3d 8d 2d
Testing methodology
The testing of the solution is demonstrated using the reports generated by ITCAM for WebSphere in PDF format. <You> will generate the following reports during the assessment period: Top CPU user reports (daily) Top transaction usage (daily) Top response time report (daily) Transaction hourly profile on a day for top five transactions (weekly) Memory analysis report on the application server (once)
Deliverables
The deliverable of this project can be in the following form: ITCAM for WebSphere reports that are used for testing the solution Performance assessment and recommendation presentation by you
Completion criteria
The completion criteria should be listed here. You have to engage with the customer to get a proper signoff of the project with an appropriate completion criteria. Some ideas for the completion criteria are: Acceptance of the performance finding and recommendations. Data collectors and managing server have been removed from the customer environment.
32
Solution Deployment Guide for IBM Tivoli Composite Application Manager for WebSphere
Specific performance problems or offending transaction resolutions may be included explicitly in the completion criteria. You have to be aware of these additional specific completion criteria for your customer.
Executive summary
The WebSphere application management service implements ITCAM for WebSphere in <customer> environment. ITCAM for WebSphere enables proactive monitoring of WebSphere Application Server and transaction performance. The implementation covers the application servers in <lists>. The initial monitoring of these application servers will be conducted over the period of <date range> for two weeks. At the end of the assessment period, <you> will present the assessment finding, including: Application server performance summary Application highlight, such as load profile, and transaction rate Performance highlights such as: potential bottleneck, excessive errors, deadlock Environment tuning recommendations <You> will also train <customer> for using ITCAM for WebSphere to manage your own environment.
Solution description
In the WebSphere application management service, <you> will install ITCAM for WebSphere managing server on your hardware platform. ITCAM for WebSphere data collectors will be installed on <customer>s production servers for assessment. The data collector will mainly run in level 1 monitoring, which will have limited impact on your servers; lab testing shows a typical increase of 2%-3% of CPU usage for the J2EE application server. The solution assumes that the managing server would not have to connect to the data collector through a firewall. During the assessment period, transaction performance information and application server performance information will be collected and stored in the ITCAM for WebSphere managing server database.
33
<You> will analyze the collected performance information and possibly perform monitoring with additional detail as needed. The analysis is performed dynamically and will not require a restart of the application servers. <You> will provide training for <customer> personnel to use and maintain the ITCAM for WebSphere solution that has been implemented.
Assumptions
Possible assumptions that can be used in the environment analysis service include: Number of data collectors to be configured Transaction rate of each application server Transaction mix of each application server Note: Insert any additional assumption about specific performance or transaction problem that the customer has.
Customer responsibilities
This section describes the responsibilities the customer has to the Business Partner, such as: Designating a representative who will be the focal point for all communication with the Business Partner relative to this project and who will have the authority to act on the customers behalf in matters regarding this project Designating operations personnel to work with the Business Partner as appropriate Providing all required Web site content in digital form, as specified by the Business Partner Providing all product data in a format as requested Providing all data and information required for implementation Providing suitable workspace with telephone access for the services specialists while working on customer premises Providing user IDs, passwords, and IP addresses as required, enabling the Business Partner to perform the service
34
Solution Deployment Guide for IBM Tivoli Composite Application Manager for WebSphere
Providing information to allow estimates on current and future system workload and performance expectations
Staffing estimates
The project will be performed using one ITCAM for WebSphere specialist who will be on site as required by the project schedule. The project is estimated to be performed within three weeks.
ID 1 2 3
Task Name Plan the solution Implement the solution Close the engagement
Duration
19 20
3d 8d 2d
Testing methodology
The testing of the solution is demonstrated using the reports generated by ITCAM for WebSphere in PDF format. <You> will generate the following reports during the assessment period: Top CPU user reports (daily) Top transaction usage (daily) Top response time report (daily) Transaction hourly profile on a day for top five transactions (weekly) Memory analysis report on the application server (once)
Deliverables
The deliverable of this project can be in the following form: ITCAM for WebSphere managing server installed and running ITCAM for WebSphere reports that are used for testing the solution Performance assessment and recommendation presentation by you Operational procedure for ITCAM for WebSphere operation Training material and presentation
35
Completion criteria
The completion criteria should be listed here. You have to engage with the customer to get a proper signoff of the project with an appropriate completion criteria. Some ideas for the completion criteria are: Acceptance of the performance finding and recommendation Data collectors and managing server have been removed from the customer environment Specific performance problems or offending transaction resolutions may be included explicitly in the completion criteria. You have to be aware of these additional specific completion criteria for your customer.
36
Solution Deployment Guide for IBM Tivoli Composite Application Manager for WebSphere
Chapter 3.
37
Managing server
Visualization engine
Managed server
Loader HTTP
This section explains the procedure of setting up the demonstrating ITCAM for WebSphere solution using the Trader DB2 application.
38
Solution Deployment Guide for IBM Tivoli Composite Application Manager for WebSphere
The following procedure uses a Windows-based server. The application environment installation is as follows: 1. Install DB2 Universal Database; we use the DB2 installation image that come with ITCAM for WebSphere. a. Start DB2 installation using the setup.exe command. b. From the LaunchPad panel, click Install. c. Follow the DB2 installation wizard and use the default options. 2. Install WebSphere Application Server V6.0.1, using the same image for ITCAM for WebSphere. a. Start WebSphere Application Server installation using the setup.exe command. b. Use the default installation options to install WebSphere. c. After WebSphere Application Server is installed, run the profile creator again from C:\Program Files\IBM\WebSphere\AppServer\bin\ProfileCreator\ and invoke pctWindows command. d. Create a new profile called srvr and use default options. 3. Create the sample Trader database. a. The Trader database is supplied in the additional material of this book. For information, see Appendix A, Additional material on page 111. b. Unzip the TraderDB.zip file into a temporary directory. c. From the DB2 Command Window, create the new Trader database by issuing this command: db2 create db TRADER. d. Import the table data and definition using the command: db2move TRADER import. You must run this command from the temporary directory where you extracted TraderDB.zip. 4. Define JDBC connection to the Trader database. a. Connect to the AppSrv administration console instance using http://<machine>:9061/ibm/console b. Select Resources JDBC Provider. c. Create a new JDBC provider with the following data: Database Driver Connection DB2 DB2 Universal JDBC driver Connection Pool Data source
d. Click Apply in the JDBC Provider window, then click the Data Source link.
39
e. Create a new Data Source by setting: Name JNDI name Trader jdbc/Trader
f. Click Apply, and then click J2C Authentication Entry. g. Create a new Authentication entry by setting: Name UserID Password db2admin db2admin The password you specify when you install DB2
h. Save your definition, click Save and then click OK. 5. Install the Trader application file. a. Connect to the AppSrv administration console instance using http://<machine>:9061/ibm/console b. Go to Application Install New Application. c. Select the TraderDBSvc.ear file from your machine and click OK. d. Confirm all of the default deployment options and save the configuration when it is done. e. Connect to the AppCln administration console instance using http://<machine>:9062/ibm/console f. Go to Application Install New Application. g. Select the TraderClient.ear file from your machine and click OK. h. Confirm all the default deployment options and save the configuration when it is done. 6. Restart WebSphere Application Servers. a. Go to Programs IBM WebSphere Application Server Profiles AppSrv Stop the server. b. Go to Programs IBM WebSphere Application Server Profiles AppSrv Start the server. c. Go to Programs IBM WebSphere Application Server Profiles AppCln Stop the server. d. Go to Programs IBM WebSphere Application Server Profiles AppCln Start the server. 7. Test the sample application. a. Open a Web browser and go to http://<machine>:9081/TraderClientWeb b. Enter a name, select DB2, and enter the server name of <machine>:9080 as shown in Figure 3-2 on page 41. Click GO.
40
Solution Deployment Guide for IBM Tivoli Composite Application Manager for WebSphere
c. Select Quote for one of the companies. d. Put 5 in the buy and verify that your owned share increases.
41
42
Solution Deployment Guide for IBM Tivoli Composite Application Manager for WebSphere
4. Let it run for a while to generate data. the ITCAM for WebSphere data collector availability graph will start showing statistics soon.
43
44
Solution Deployment Guide for IBM Tivoli Composite Application Manager for WebSphere
6. Look for the inflight thread, which might or might not indicate a problem. Most of the threads are just in-transit threads that are executing at the time of the snapshot. Those threads would be gone on the next refresh. Some of the threads might linger on and indicate response time or performance problems. a. Go to PROBLEM DETERMINATION In-flight Request Display. b. If you notice a long-running transaction, drill down in it and find out what is it doing. We have concluded the monitoring section of the demonstration. This should illustrate what an operator would do on day-to-day basis to monitor WebSphere Application Server.
45
46
Solution Deployment Guide for IBM Tivoli Composite Application Manager for WebSphere
Chapter 4.
47
1. Create the instance owner user ID with the adduser command, which automatically creates a user and a group with the same name. 2. Ensure that you have access to the following software installation images: ITCAM for WebSphere managing server CD DB2 Universal Database V8.2 FixPack 3 WebSphere Application Server V6.0.0 WebSphere Application Server refreshpack 1 V6.0.1
3. Copy the software installation images from CD-ROM media to a temporary location in your accessible drive. You can mount a CD-ROM using the command: mount /dev/cd0 /mnt/cdrom You can copy the files to the /tmp directory; first create a target path in the /tmp using mkdir /tmp/<dirname> and then copy using the command cp -R /mnt/cdrom /tmp/<dirname> 4. Start the managing server wizard using the setup_MS.bin executable in the ITCAM for WebSphere managing server installation image. The installation performs an embedded installation of DB2 and WebSphere. DB2 is installed under $AM_HOME/SQLLIB WebSphere is installed under $AM_HOME/WAS60
48
Solution Deployment Guide for IBM Tivoli Composite Application Manager for WebSphere
5. Figure 4-1 shows the IBM Tivoli Composite Application Manager for WebSphere installation wizard welcome dialog. Click Next.
49
6. Accept the software license agreement as shown in Figure 4-2. Click Next.
50
Solution Deployment Guide for IBM Tivoli Composite Application Manager for WebSphere
7. The dialog in Figure 4-3 asks you whether the installation is performed from a CD-ROM. For CD-ROM installation, the wizard copies the installation image to a temporary directory and restarts itself. We are installing the product from a local drive. Select No. Click Next.
8. Enter the location where you want to install IBM Tivoli Composite Application Manager for WebSphere, as shown in Figure 4-4. The default path for Windows system is C:\Program Files\IBM\itcam\WebSphere\MS. Click Next.
51
Note: In this guide, we refer to this managing server installation location as $AM_HOME. 9. For an embedded complete installation, select all of the features in the IBM Tivoli Composite Application Manager for WebSphere managing server, as shown in Figure 4-5. Optionally, you can install the visualization engine and database tables separately. Click Next.
10.Select Install DB2, as shown in Figure 4-6. Click Next. You can also use an existing DB2 or Oracle database, if you already have them installed and the managing server has access to this database.
52
Solution Deployment Guide for IBM Tivoli Composite Application Manager for WebSphere
11.Because we install DB2 from scratch, the wizard asks for some DB2-related information. It asks for the DB2 instance user and administration user; typically these users are called dasusr1 and db2inst1. Enter the information in the User Name, Password, and Verify Password fields, as shown in Figure 4-7. Click Next.
12.For DB2 installation, you must provide the source of the DB2 installation image. Figure 4-8 shows the dialog for the DB2 installation image. Note that the path must include the setup.exe of DB2. Click Next.
53
13.The DB2 installation starts as shown in Figure 4-9. This will take some time.
14.After the DB2 installation is complete, the wizard collects information for creating the OCTIGATE database. Figure 4-10 shows the dialog. Most of the information here is pre-filled because DB2 is installed using the embedded installation. You must supply an existing user ID for the Admin User prompt; this will be the user to log on initially to the Web console. Type itcamadm for this. Click Next.
54
Solution Deployment Guide for IBM Tivoli Composite Application Manager for WebSphere
15.After the OCTIGATE database is created, the installer searches for the WebSphere Application Server installation. In this case, Figure 4-11 shows that we do not have WebSphere installed. Click Next.
55
16.Because we do not have any previous installation of WebSphere Application Server, the dialog in Figure 4-12 shows the WebSphere Application Server new installation parameters. Enter the password in the Password and Verify Password fields. Click Next.
56
Solution Deployment Guide for IBM Tivoli Composite Application Manager for WebSphere
17.You must provide the installation source for both WebSphere Application Server V6.0 and refresh pack 1, as shown in Figure 4-13. Click Next.
18.After you install all of the prerequisites (DB2 Universal Database and WebSphere Application Server), you can start the actual IBM Tivoli Composite Application Manager for WebSphere managing server. You must specify two kernel machines for IBM Tivoli Composite Application Manager for WebSphere as shown in Figure 4-14. Click Next.
57
19.Each component of the managing server uses a Transmission Control Protocol Internet Protocol (TCP/IP) port to communicate with other components. The dialog in Figure 4-15 lists the port usages for IBM Tivoli Composite Application Manager for WebSphere managing server. You can change any of these port definitions. Click Next.
58
Solution Deployment Guide for IBM Tivoli Composite Application Manager for WebSphere
20.Before the installation begins, the summary information is displayed as shown in Figure 4-16. Click Next and the installer starts transferring the product files.
22.If your managing server is for demonstration purposes with memory less than 3 GB, take the following steps: a. Modify setenv.sh from the bin subdirectory of the installation path, typically /opt/IBM/itcam/WebSphere/MS/bin/setenv.sh. This file contains environment variables that ITCAM for WebSphere managing server uses for starting up its processes. You can decrease the initial heap size for publish server, archive agent, and kernel by half as shown in Example 4-1 on page 60.
59
Example 4-1 Modifying heap size in setenv.sh HEAP_MIN_SIZE_PS=128 HEAP_MAX_SIZE_PS=256 HEAP_MIN_SIZE_ARCHIVE_AGENT=128 HEAP_MAX_SIZE_ARCHIVE_AGENT=256 HEAP_MIN_SIZE_EMAIL=32 HEAP_MAX_SIZE_EMAIL=64 HEAP_MIN_SIZE_MESSAGE_DISPATCHER=32 HEAP_MAX_SIZE_MESSAGE_DISPATCHER=64 HEAP_MIN_SIZE_KERNEL=64 HEAP_MAX_SIZE_KERNEL=256 HEAP_MIN_SIZE_AVM=32 HEAP_MAX_SIZE_AVM=64 HEAP_MIN_SIZE_SAM=64 HEAP_MAX_SIZE_SAM=128 HEAP_MIN_SIZE_POLLING_AGENT=64 HEAP_MAX_SIZE_POLLING_AGENT=64
b. Modify the am-start.sh and am-stop.sh in the bin subdirectory and only start the kernels, publish server 1, and archive agent 1; comment out the rest of the startup or shutdown. See Example 4-2. Note: The following processes are disabled: Polling server polls Web server for monitoring. Message dispatcher sends trap and e-mail. Global publish server correlates transaction across machines.
Example 4-2 Modified startup in am-start.sh ${CYANEA_HOME}/bin/amctl.sh aa1 start #${CYANEA_HOME}/bin/amctl.sh aa2 start ${CYANEA_HOME}/bin/amctl.sh ps1 start #${CYANEA_HOME}/bin/amctl.sh ps2 start #${CYANEA_HOME}/bin/amctl.sh md start #${CYANEA_HOME}/bin/amctl.sh pa start #${CYANEA_HOME}/bin/amctl.sh sam1 start
23.Now you can start the managing server. Restart WebSphere Application Server for the Web interface: a. Stop WebSphere Application Server from /opt/IBM/itcam/WebSphere/MS/WAS60/profiles/default/bin and run the ./stopServer.sh server1 command. b. Start WebSphere Application Server from /opt/IBM/itcam/WebSphere/MS/WAS60/profiles/default/bin and run the ./startServer.sh server1 command.
60
Solution Deployment Guide for IBM Tivoli Composite Application Manager for WebSphere
24.Start the managing server using the command /opt/IBM/itcam/WebSphere/MS/bin/am-start.sh. 25.Log on to the Web console using the user ID that you specified in step 1. Go to ADMINISTRATION Managing Server Self Diagnostics. Verify that all of your managing server components are started.
61
c. Start WebSphere Application Server using this command: /opt/IBM/itcam/WebSphere/MS/WAS60/profiles/default/bin/startServe r.sh server1 4. Ensure access to the managing server Web console. a. Connect to the Web console using the new host name in the URL: http://<hostname>:9080/am/home b. Log on to the Web console using the itcamadm user ID that you set up. c. Go to ADMINISTRATION Managing Server Self Diagnostic and verify that all your managing server components are available. 5. Create server groups. a. You may define a single server group to encompass all of the application servers. b. Create the group using ADMINISTRATION Server Management Server groups. c. Create a new group and authorize itcamadm to use it. 6. Define monitoring defaults. a. Go to ADMINISTRATION Managing Server System Properties. b. Set the default sampling rate; because you need to analyze the system fast and you would not want to keep the system running for a long period, you can set the default sampling rate pretty high. You would want a sample for most of the transaction. You can collect up to about 10 transactions per minute.
62
Solution Deployment Guide for IBM Tivoli Composite Application Manager for WebSphere
2. Start the Installation by using the setup_DC_w32.exe command either from the data collector installation media or a copy of the image in a local directory. The installation wizard opens with a welcome dialog, as shown in Figure 4-18. Click Next.
3. Select only the Application Monitor interface option, as shown in Figure 4-19. Do not select the IBM Tivoli Enterprise Portal interface option unless the IBM Tivoli Enterprise Monitoring V6.1 environment is already installed and available. Click Next.
63
5. The default pre-filled installation path provided for Windows environments is displayed as C:\Program Files\IBM\itcam\WebSphere\DC. This default path will work. Because we do not want to have a space in the default installation path, it is eliminated. This is becoming a best practice for installing software on Windows. The install process will create the directory if it does not already exist. Enter C:\IBM\itcam\WebSphere\DC, as shown in Figure 4-21. Click Next. Note: In this guide, we refer to this data collector installation location C:\IBM\itcam\WebSphere\DC as $DC_HOME.
64
Solution Deployment Guide for IBM Tivoli Composite Application Manager for WebSphere
6. Select WebSphere Application Server as the type of application server, as shown in Figure 4-22. WebSphere Portal Server is also an option but this is not covered in this guide.
7. The wizard detects any existing WebSphere Application Server installations and their associated profiles on this machine. Choose the application server profile to be instrumented with a data collector, as shown in Figure 4-23. Click Next.
65
8. Verify the gathered information in the new dialog window. The installed WebSphere Application Server is used to identify the Java environment that the ITCAM for WebSphere data collector will use. This information is prepopulated, as shown in Figure 4-24. Click Next.
9. Enter the remote ITCAM for WebSphere managing server connection properties for both the primary and secondary kernels, as shown in Figure 4-25. Click Next.
66
Solution Deployment Guide for IBM Tivoli Composite Application Manager for WebSphere
10.In the next dialog window, specify the installation path of the managing server, as shown in Figure 4-26. Some instrumentation jar files will be downloaded from the managing server installation using this path. Click Next.
11.The next window displays some core installation summary information, as shown in Figure 4-27. Click Next to install the data collector.
12.When the installation is complete, the resulting window (Figure 4-28) provides an option to either proceed and configure the data collector or to defer the configuration until later. Select Launch the Configuration Tool. Click Next.
67
The wizard launches the data collector configuration wizard. 13.The configuration tool welcome dialog opens as shown in Figure 4-29. Click Next.
14.The next dialog (Figure 4-30) shows both the configure and unconfigure options. Because this is an initial installation, select the Configure servers for data collection option. Click Next.
68
Solution Deployment Guide for IBM Tivoli Composite Application Manager for WebSphere
15.The configuration tool has to access the unique SOAP Connector port belonging to a specific WebSphere Application Server instance to configure it for data collection and monitoring. Figure 4-31 shows the dialog where you have to enter this connection information. Click Next. Note: For a WebSphere Application Server network deploy installation with multiple nodes, use the SOAP port for the deployment manager node. This configuration topic is beyond the scope of this guide.
69
16.The wizard retrieves the necessary information from the targeted WebSphere Application Server instance through the specified SOAP Connector port. This information is presented in a tree view, as shown in Figure 4-32. Select the application server instance and click Next.
17.When the configuration is complete, a configuration summary dialog opens (Figure 4-33). Click Finish to exit the data collector configuration wizard.
70
Solution Deployment Guide for IBM Tivoli Composite Application Manager for WebSphere
18.When the configuration process is complete, a dialog box from the data collector installation process opens, as shown in Figure 4-34. Click Finish to exit.
Note: You can manually launch the data collector configuration wizard for other application server instances using the appropriate script in the $DC_HOME/config_dc directory.
71
Windows GUI does the same function. You can see this by right-clicking the am-start.sh item in the Windows GUI menu path shown in the next section. 2. Double-click the desktop icon ITCAMfWAS to start the browser-based managing server console. Alternatively, enter the following URL in your browser to start this console: http://MShost:9080/am/home 3. The welcome and login window for IBM Tivoli Composite Application Manager for WebSphere opens. Enter the user and password established when you installed the managing server.
72
Solution Deployment Guide for IBM Tivoli Composite Application Manager for WebSphere
4. The Configured Data Collectors page opens with the new data collector added to the list of already configured data collectors. See Figure 4-36. Click the Configuration Library link in the menu box to the left.
73
This shows the default profiles for Customer Information Control System (CICS), Information Management System (IMS), and J2EE, as shown in Figure 4-37. These default profiles list the transaction names or class names to be excluded when processing information in the data collector. These configurations should be adequate for most installations. If necessary, you can perform further customization by updating the configuration files. Note: The association between a data collector instance and a profile is eternal; that is, if we change the profile, all of its historic monitoring data will be lost.
You have configured the data collector with the default J2EE profile.
74
Solution Deployment Guide for IBM Tivoli Composite Application Manager for WebSphere
75
To view or change monitoring levels, perform the following steps: 1. To view the default monitoring level, polling frequency, and the sampling rates specified for each monitoring level option, select ADMINISTRATION Managing Server System Properties from the menu bar at the top of the console. Figure 4-38 shows an example.
Depending on a composite applications complexity and transaction level, it might be necessary to adjust the sampling rates. The default sampling rate of 2% assumes a very busy application server. We want to specify an appropriately high sampling rate to capture statistically significant information about the transactions, and yet not overload the database with too much similar, statistically irrelevant information. Note: This is a rule-of-thumb example for calculating an initial sampling rate. We require at least five transactions per workload transaction mix per minute. If we have five different invoked transactions throughout the day, we will want to collect 25 transactions per minute (five times five equals 25). If the application server has approximately 200 total hits per minute, we set the sampling rate to 13%. In this example, 25 divided by 200 is approximately 13%.
76
Solution Deployment Guide for IBM Tivoli Composite Application Manager for WebSphere
2. Calculate an appropriate estimated sampling rate for the remote WebSphere Application Server to be monitored. See the previous Note. In the lab environment where we developed this guide, we used a Trader application to generate adjustable transaction loads. See Appendix A, Additional material on page 111 for obtaining the additional material. In the development environment for this guide, we used monitoring level L3 with 100% sampling rate. Important: When you monitor a production application server, do not use L3 for more than a few minutes because this might adversely affect performance of the application server. You can also use scheduling to dynamically collect L3 information periodically. 3. Select ADMINISTRATION Monitoring On Demand from the menu to view each individual application server nodes monitoring level. 4. A dialog similar to that shown in Figure 4-39 opens. Click the orange arrow icon for the appropriate node.
77
5. You can change these values, or create or change a scheduled time for collecting information, as shown in Figure 4-40. Click OK to close this window.
You have reviewed the newly installed and configured data collectors monitoring and sampling rates and possibly adjusted them for your environment.
78
Solution Deployment Guide for IBM Tivoli Composite Application Manager for WebSphere
for managing them and then grant access through these different server groupings to the appropriate team members. Initially, all the instrumented and configured application servers reside in a generic group called unassigned servers. We assign them to server groups that we create: 1. Click the menu item HOME and click the Group tab. A list of the unassigned servers is shown, similar to Figure 4-41.
2. From the menu, select ADMINISTRATION Server Management Server Groups. 3. Click the Create Groups link to create a new group. 4. Enter All for the group name. Scroll down to the Group Members section and select, then add, all available servers to the Servers in Group window by clicking the Add button. Click Save to create this server group. To create helpful server groupings, consider: The number of servers to monitor: Does the grouping make sense. The organization and processes that are used for monitoring the environment: Who is responsible for what servers and applications, who needs to have access to what server information.
79
How reporting is used: What reports are necessary, what type, and how many reports are manual and how many are scheduled. In the lab environment, we created three server groups called All, Trader, and WPS on WAS, as shown in Figure 4-42.
In a shared server environment, depending on the requirements for accuracy in the enterprise overview perspective, grouping servers from an application point of view can be an effective option. In Figure 4-43 on page 81, the group Trader_CICS_distr is an example of a server group that is grouped by application. IBM Tivoli Composite Application Manager for WebSphere allows a server to be assigned as a member of several groups. This enables the creation of server groups from an application point of view, which includes transactions that share servers with other applications. In this example, there are several WebSphere Application Servers that access the same CICS and IMS systems. These application servers are members of several groups. For example, the IMS server is part of the IMS distributed group and also the IMS zOS group. Note: Using shared servers in server groups might cause misinterpretations in the enterprise overview because transactions are not distinguished at component level. For example, every server group that contains the same shared CICS server will see all transactions from this CICS server. The number of requests and response times aggregated in the Enterprise View tab will include transactions triggered by servers that are not part of the group. Figure 4-43 on page 81 shows a grouping of servers from an application perspective. Note the performance patterns for groups IMS_distributed and Trader_CICS_distributed: There have not been any IMS activities during this period of time. The explanation for this possibly misleading information is that
80
Solution Deployment Guide for IBM Tivoli Composite Application Manager for WebSphere
both CICS and IMS transactions run on the same WebSphere Application Server.
You have now defined server groups and assigned data collector information sources to them in a meaningful and useful way. This server grouping capability enables effective viewing, analysis, and reporting of monitoring information in unique customer environments.
81
advisable to create multiple separate users. To define a new user for ITCAM for WebSphere, perform the following steps: 1. Create a user ID on the operating system where the IBM Tivoli Composite Application Manager for WebSphere managing server is installed: Use computer management on Windows system. Use smit for AIX system. Use adduser command on Linux system. Alternatively, use the appropriate tools for your server platform.
Our managing server is installed on Windows. Therefore, we define an additional user, oper1, using the computer manager utility and assigning a password that never expires. See Figure 4-44.
2. Review the different user roles that are available. This is performed from the Web console. From the menu, select ADMINISTRATION Account Management Role Configuration to review the available default roles. Note that an operator cannot create new users, server groups, and so on. These roles can be modified for a customers environment, if necessary. 3. Define an IBM Tivoli Composite Application Manager for WebSphere user. Select ADMINISTRATION Account Management User Profiles. 4. Enter the required information in the fields marked with an asterisk. Assign one or more defined server groups to this user using the Group Access portion of the window in the bottom section, as shown in Figure 4-45 on page 83. In our example, this operator has been assigned access only to the Traders server group with the role of Operator. Click Save to create this new operator. You have created a new operator with appropriate access privileges.
82
Solution Deployment Guide for IBM Tivoli Composite Application Manager for WebSphere
Figure 4-45 Creating the IBM Tivoli Composite Application Manager operator
Note: The operator name in IBM Tivoli Composite Application Manager for WebSphere and the operating system user name do not have to be the same. You can also define many ITCAM for WebSphere operators with unique passwords using the same operating system user. This might be confusing for administrative purposes. We recommend that you use a unique operating system user for each ITCAM for WebSphere operator. Furthermore, the ITCAM for WebSphere operator must have the same password as the operating system login to avoid any confusion. It is important to consider how ITCAM for WebSphere will be used in your environment and who will use it. The solution produces reports that can be relevant to operational managers as well as service or application development managers. Identifying the roles and responsibilities is an important consideration because this affects the customization of ITCAM for WebSphere, especially in features such as server groups.
83
84
Solution Deployment Guide for IBM Tivoli Composite Application Manager for WebSphere
Consistently high response time, but low CPU usage: This might be a problem outside WebSphere, such as access to a database or back-end server. SQL report with L2 trace or composite application analysis might show more indications of the problem. Erratic response time: Problem might be caused by data input. A detailed trace is required on occasions when bad response time occurs. Rare peak of response time: This is typically caused by locking or deadlock of resources. Might require locking analysis, which involves modifying the instrumentation property file and must include restarting the application server. Memory leak problem must also be run with modification of instrumentation property file and has to include restarting of application server. We will provide the procedure for the following tasks: 4.7.1, Scheduling monitoring level changes on page 85 4.7.2, Getting transaction trace on page 85 4.7.3, Performing lock analysis on page 89 4.7.4, Performing memory leak analysis on page 93
85
One approach is to use the recent activity display. From the main menu, select PROBLEM DETERMINATION Server Activity Activity Display. You can quickly identify any recently executing transaction and its response time, as shown in Figure 4-46.
The recent activity display shows only some of the most current transactions that are executing and observed by the data collector. This information is retrieved directly from the data collector.
86
Solution Deployment Guide for IBM Tivoli Composite Application Manager for WebSphere
Another approach is to show the request or transaction report for transaction problems that are no longer visible in the recent activity display. Select PERFORMANCE ANALYSIS Create Application Reports Request/Transaction. Select the appropriate time frame with the Time Series in Hours axis option. The initial report shows response time breakdown by hour, as shown in Figure 4-47.
87
Click the peak response time to drill into the data and see the decomposition chart, as shown in Figure 4-48. To further drill into the response time information, you can sort the application/transaction information by response time or percentage. Alternatively, you can double-click the section of the pie (showing percentage).
88
Solution Deployment Guide for IBM Tivoli Composite Application Manager for WebSphere
This opens a more-detailed reports data table that lists the instances of the named transaction with detailed information specific to each of these transactions, as shown in Figure 4-49.
You can identify the response time problem, whether it occurs erratically or consistently, for every transaction.
89
To prepare for lock analysis, perform the following steps: 1. Increase the monitoring level to L2 or L3. After resolving the problem, ensure that you set the monitoring level back to L1. To temporarily override the monitoring level: a. From the menu, select ADMINISTRATION Monitoring On Demand. b. Select the link under Schedule Change/Override, as shown in Figure 4-50.
c. Set the monitoring level to at least (L2) Problem Determination Mode in the Server Setting Options window, as shown in Figure 4-51.
2. Before you perform lock analysis, enable the data collector for lock analysis. You must modify the data collectors property file cyn.user.classes.xml, located in the $DC_HOME/etc/ directory. The cyn.user.classes.xml file is referenced from the bcm.properties file in the userbcm.xmlfilename parameter. The lockAnalysis tag determines whether the class should be instrumented for the lock analysis feature. Example 4-3 on page 91 shows that all classes matching insuNetWeb.* are instrumented for lock analysis because the value true is specified for lockAnalysis.
90
Solution Deployment Guide for IBM Tivoli Composite Application Manager for WebSphere
Example 4-3 Enabling lock analysis <defineInstrumentation> <enableSignature>true</enableSignature> <userClasses> <selectClass> <mask>insuNetWeb.*</mask> <methods> <methodName>*</methodName> </methods> <ignoreTrivial>true</ignoreTrivial> <lockAnalysis>true</lockAnalysis> <objectAllocations> <allocateClass>*</allocateClass> </objectAllocations> <objectAllocationTimes>true</objectAllocationTimes> </selectClass> </userClasses> </defineInstrumentation>
If the data collector does not have lock analysis instrumentation activated, lock analysis will not work and you will see the following message:
CYNVE0851E Lock analysis data is not being collected.
After you complete the two-step enablement process, perform the lock analysis using the Web console: 1. From the menu bar, select PROBLEM DETERMINATION Server Activity Display. 2. On the Server Activity Display page (Figure 4-52 on page 92), you can determine and verify that: InsuNetWeb application is still hanging at the quoteAction component. Resident Time and Idle Time show hours. The Thread Status is Waiting. This indicates that the thread has probably entered a deadlock state. The concrete Java class that is probably causing this deadlock is insunet.web.actions.QuoteAction.
91
You can confirm the same information by selecting the Lock Contentions tab and viewing the list of locks in this same component. 3. Select Cancel Requests, causing the lock contention to check the request detail page shown in Figure 4-53. Note the available details on this page. Click OK to cancel the request.
92
Solution Deployment Guide for IBM Tivoli Composite Application Manager for WebSphere
4. On the left-side navigator menu, select Link Method/Component Trace to generate a detailed Complete Flow View, as shown in Figure 4-54. From this report perspective, you can identify what method in what class caused the lock contention. In this example, the class is insunet.web.action.QuoteTransaction and the method is synchronize_update.
The lock analysis investigation process has provided sufficient information to enable a development team to fix the malfunctioning code.
93
ITCAM for WebSphere supports detailed analysis of memory that is allocated to application servers. You can perform memory leak analysis using the following three steps: Investigating a potential memory leak on page 94 Narrowing the cause of a memory leak on page 97 Determining the memory leak offender on page 98
Figure 4-55 Three pre-built memory leak reports for memory leak confirmation
The first report option graphs memory growth over time. Memory growth is only shown after garbage collection (GC) because this represents the real amount of used memory. However, memory growth can also occur because there are more users or more activities causing more Java objects to be allocated. The second report option presents memory growth as a function of users. The third report option plots memory growth as a function of transaction volume.
94
Solution Deployment Guide for IBM Tivoli Composite Application Manager for WebSphere
Figure 4-56 shows an upward memory growth trend even though the number of live sessions remains relatively steady in the range of 50 sessions. Such an upward memory growth trend coupled with steady session metrics indicates that a memory leak is likely.
Figure 4-56 Memory growth with a constant average number of live sessions
Similarly, the report for heap size after GC compared to the number of requests helps to indicate whether server load is affecting memory growth. Actively executing Java methods adds objects to memory heap load as they complete their tasks. As soon as these requests are finished, memory usage should be freed accordingly.
95
Figure 4-57 shows a slow upward growth in memory usage for the first 45 minutes with a corresponding large number of requests per minute. When these requests drop to zero in the last 15 minutes of the graph, the heap size flattens but does not drop as expected. This graph indicates that there could be a memory leak because the rise in memory occurs with a consistent average number of requests but does not fall when the number of requests falls.
Figure 4-57 Heap size does not decrease when the number of requests drops
Note: The three canned reports in the memory leak report are more useful than the three offered in the memory analysis reports JVM heap size section. The memory leak reports use the average heap size after GC as their baseline. However, the memory analysis canned reports use JVM heap size. When you investigate memory leaks, we recommend that you perform a GC so that no allocated but unused objects reside in memory when determining the memory size. By default, the three memory leak graphs show the past 60 minutes of data. This time range might be too narrow. There is an option to change the graph range to the past 48 hours. You can change any of the mapped metrics as well as the server and group selected to quickly compare a different servers memory growth. To detect a slower memory leak, use the trend report from system reports to generate a report of memory growth over a period of several weeks.
96
Solution Deployment Guide for IBM Tivoli Composite Application Manager for WebSphere
Note: You can take the JVM heap snapshots with the monitoring level at L1, L2, or L3. When the report has finished collecting both snapshots, click the server name to show the analysis report for the first snapshot. The same report is available for the second snapshot. This report shows the objects that were in memory when the snapshot was made and the associated metrics such as the percentage of memory they consumed. The comparison data report is more useful than individual JVM heap snapshot reports because it shows only classes that have changed between the two
97
snapshots. Figure 4-59 shows the comparison report sorted by the change in the number of instances of live objects in memory. The top entries in this heap comparison results table are the most likely memory leak candidates because these are the classes that have grown the most. We use these classes to determine the cause of the memory leak.
Tip: Classes that are filtered out by the monitoring configuration installation defaults are excluded from this analysis. Although you might not want to monitor basic classes such as strings and lists, these objects can often be a source of leaks and should be examined. To do this, clear the exclude section of the class name filter option and click Apply to see everything in the heap. (This is done dynamically without re-executing the report.) Selectively exclude classes and packages that you determine are not a concern. Sort the columns from most to least that show changes in the number of instances. This will result in a richer view of the objects that are growing in memory.
98
Solution Deployment Guide for IBM Tivoli Composite Application Manager for WebSphere
Report finds the most-leaked objects and shows the class, method, and line number of the allocating class of leaked objects. This detailed information, down to the code line number, helps a programmer to determine the trouble spots of code. To set up this report, reconfigure the data collector to monitor the suspected growing classes that you identified using the technique described in Narrowing the cause of a memory leak on page 97. The memory leak diagnosis report is set up using an XML file on the data collector installed machine in the $DC_HOME/etc/ directory. The bcm.properties file has a key/value pair called userbcm.xmlfilename that identifies which XML configuration file is used. Adjusting the bcm.properties files allows for multiple XML files to be swapped in and out. Note: ITCAM for WebSphere generates a server-specific bcm.properties file called <host name>.<app server name>.bcm.properties. When you change the original bcm.properties, you must delete the generated version so that ITCAM for WebSphere can regenerate the bcm.properties file. The XML file is composed of multiple sections of selectClass tags that identify how to treat classes matching the mask pattern. The XML snippet in Example 4-4 shows the modification that is required to monitor memory leaks.
Example 4-4 XML for monitoring memory leak <selectClass> <mask>*</mask> <methods> <methodName>*</methodName> </methods> <ignoreTrivial>true</ignoreTrivial> <lockAnalysis>true</lockAnalysis> <objectAllocations> <allocateClass>*</allocateClass> </objectAllocations> <objectAllocationTimes>true</objectAllocationTimes> </selectClass>
Only classes found inside the allocateClass tag are monitored as potential leaks. An asterisk in the tag monitors all classes for leaks. A better strategy is to replace the asterisk with the top class names identified from the Step 2: Memory Leak Candidate Finder Report (Figure 4-59 on page 98) for further analysis. If Step 2 does not offer any good candidates, using the asterisk means that all of the objects are monitored. This will have an adverse impact on performance.
99
If you set the objectAllocationTimes tag to true, this activates and populates the growth percentage and growth rate columns. This can help to show the rate of growth in the objects. Important: The diagnosis report is functional only in L3 mode. It can slow down a production system severely and should be used only in controlled test situations. The Memory Leak Diagnosis Report is Step 3 of the memory leak report. You select the group and server to get to the reports table. The report result is a very wide table. Figure 4-60 on page 101 shows the overall result.
100
Solution Deployment Guide for IBM Tivoli Composite Application Manager for WebSphere
By default, the Growth Rate column is sorted so that the fastest-growing classes are shown at the top of the table. The columns that indicate the allocating class of the leaking object are very useful and important. This information directs the programmer where to look and suggests why the classes might be leaking.
101
Note: If you have not set objectAllocationTimes, there will be no growth rate data. Thus, the default sort will not be useful and we suggest another sorting of this information. Sorting by the Number of Objects Surviving Last GC column might be effective.
102
Solution Deployment Guide for IBM Tivoli Composite Application Manager for WebSphere
Important: You have to unconfigure all data collectors before you uninstall the software. Failure to perform unconfiguration will result in failure upon starting WebSphere Application Server. 2. Uninstall ITCAM for WebSphere data collector using the $ITCAM_HOME\_uninst\uninstall program.
103
104
Solution Deployment Guide for IBM Tivoli Composite Application Manager for WebSphere
Chapter 5.
105
106
Solution Deployment Guide for IBM Tivoli Composite Application Manager for WebSphere
sources. It can distinguish network response compared to the system response time. Response time management can also identify areas in the application that are critical and must be tuned to allow better throughput. ITCAM for Response Time Tracking enables you to perform these facilities and more. Figure 5-1 shows a sample ITCAM for Response Time Tracking response time topology report.
The report in Figure 5-1 shows that the transaction spans three machines from the components shown there. The number in the boxes are average response time and maximum response time, respectively. From tracing the transaction flow, you can identify which component actually causes the performance problem or performs longer than others.
107
IBM Tivoli OMEGAMON for Messaging enables you to monitor the WebSphere MQ messaging subsystem and critical properties. It also provides a configuration application that eases many aspect of WebSphere MQ resources configuration. The performance and configuration of the WebSphere MQ messaging subsystem is critical and often tied in to the WebSphere-based application performance. Monitoring and managing the messaging infrastructure would greatly enhance the overall performance monitoring environment. Figure 5-2 shows a sample portal page for OMEGAMON for Messaging.
108
Solution Deployment Guide for IBM Tivoli Composite Application Manager for WebSphere
Web Services can be viewed as a remote function call through the network. This function generally allows an open-ended application design that would not be aware of the caller. Anyone with the proper credentials and message format can invoke the function. Managing the SOA environment with ITCAM for SOA includes the following features: Get Web Services performance metrics, such as message rate, message length, and response time Control which IP address ranges are allowed to invoke certain Web services Analyze Web Services call sources and interactions
109
110
Solution Deployment Guide for IBM Tivoli Composite Application Manager for WebSphere
Appendix A.
Additional material
This IBM Redbook refers to additional material that can be downloaded from the Internet as described below.
111
The archive contains the following files: 7293tasks.xls 7293sow.doc 7293rep.doc 7293pre.ppt TraderDBSvc.ear TraderClient.ear Loader.jar Sample tasks estimation spreadsheet Sample statement of work Sample report document Sample finding presentation Sample server ear file Sample client ear file Sample load application
112
Solution Deployment Guide for IBM Tivoli Composite Application Manager for WebSphere
113
114
Solution Deployment Guide for IBM Tivoli Composite Application Manager for WebSphere
Related publications
The publications listed in this section are considered particularly suitable for a more detailed discussion of the topics covered in this book.
IBM Redbooks
For information about ordering these publications, see How to get IBM Redbooks on page 117. Note that some of the documents referenced here might be available in softcopy only. Deployment Guide Series: IBM Tivoli Monitoring Express Version 6.1, SG24-7217 Getting Started with IBM Tivoli Monitoring 6.1 on Distributed Environments, SG24-7143 IBM Tivoli Composite Application Manager V6.0 Family: Installation, Configuration, and Basic Usage, SG24-7151 Implementing IBM Tivoli OMEGAMON XE for WebSphere Business Integration V1.1, SG24-6768 Installing WebSphere Studio Application Monitor V3.1, SG24-6491 Large Scale Implementation for IBM Tivoli Composite Application Manager for WebSphere, REDP-4162 WebSphere Studio Application Monitor V3.2 Advanced Usage Guide, SG24-6764
Other publications
IBM Tivoli Composite Application Manager for WebSphere publications: IBM Tivoli Composite Application Manager for WebSphere Installation and Customization Guide, GC32-9506 IBM Tivoli Composite Application Manager for WebSphere Operators Guide, SC32-9508 IBM Tivoli Composite Application Manager for WebSphere Problem Determination Guide, SC32-9509
115
IBM Tivoli Composite Application Manager for WebSphere Users Guide, SC32-9507 IBM Tivoli Composite Application Manager for WebSphere: Installing and Configuring the Tivoli Enterprise Monitoring Agent, SC32-1801 IBM Tivoli Composite Application Manager for WebSphere: Tivoli Enterprise Monitoring Agent Problem Determination Guide, SC32-1800
Online resources
These Web sites and URLs are also relevant as further information sources: Product online documentation http://publib.boulder.ibm.com/infocenter/tivihelp/v3r1/index.jsp?toc =/com.ibm.itcamwas.doc/toc.xml Product prerequisites information http://publib.boulder.ibm.com/tividd/td/ITCAMWAS/prereq60/en_US/HTML /itcam6.html ITCAM product home page http://www-306.ibm.com/software/tivoli/products/composite-applicatio n-mgr-websphere/ IBM Tivoli Composite Application Manager for WebSphere product support link http://www-306.ibm.com/software/sysmgmt/products/support/IBMTivoliCo mpositeApplicationManagerforWebSphere.html WebSphere fix packs links ftp://ftp.software.ibm.com/software/websphere/appserv/support/fixpa cks/was60/refreshpack1/Windows ftp://ftp.software.ibm.com/software/websphere/appserv/support/fixpa cks/was60/refreshpack1/Linux Microsoft Help and Support article 899522 http://support.microsoft.com/default.aspx?scid=kb;en-us;899522 Microsoft Windows Services for UNIX http://www.microsoft.com/technet/interopmigration/unix/sfu/default.m spx
116
Solution Deployment Guide for IBM Tivoli Composite Application Manager for WebSphere
Related publications
117
118
Solution Deployment Guide for IBM Tivoli Composite Application Manager for WebSphere
Index
A
adduser command 82 allocateClass 99 am-start.sh command 71 Apache Web server 5 application server 3 archive agents 5
E
EJB usage 3 embedded installation 52 embedded WebSphere installation 56 Enterprise JavaBeans (EJB) 3, 20
G
garbage collection (GC) 94 global publishing server 5
B
BCM (Byte Code Modification) 7
I C
CICS 5 command adduser 82 am-start.sh 71 setup_DC_w32 63 smit 82 configuration library 73 configuring data collector 72 console, visualization engine 71 cross-memory services 6 IBM HTTP Server 5 IMS 5 ITCAM for WebSphere components 4 data collector 6 database 6 lock analysis 89 managing server 4 platforms 8
J
J2EE 5 J2EE application environment 20 J2EE application server 3 Java 2 Connector (J2C) 20 Java Database Connectivity (JDBC) 2, 20 Java Virtual Machine Tool Interface, see JVMTI JVM thread pools 3 JVMTI 3
D
data collection 72 data collector 5 CICS 5 configuration 72 IMS 5 installing 62 J2EE 5 profile 73 server configuration 72 database connection pools 3 DB2 installation 52 DB2 UDB 5 default monitoring level 76 diagnostics 75
K
kernels 5
M
managing server 5 archive agents 5 global publishing server 5 installing 48 kernels 5 message dispatcher 5
119
modifying for another site 61 polling agents 5 publishing servers 5 watchdog 5 memory leak cause 97 determining offender 98 message dispatcher 5 monitoring level 75 default 76 L1, Production Mode 75 L2, Problem Determination Mode 75 L3, Tracing Mode 75 MS 5
V
Virtual Frame Buffer 5 visualization engine console 71
W
watchdog 5 Web Services 20 WebSphere installation 56
X
X Window System 5 Xvfb 5
O
object locking 89 objectAllocationTimes 100 OCTIGATE database 6 OMEGAMON XE 3 operator definition 81 Oracle 5
P
Performance Management Interface (PMI) 3 polling agents 5 publishing servers 5
R
Redbooks Web site 117 Contact us x response time problem 85
S
sampling rate 75 selectClass 99 server grouping 78 Server Activity Display (SAD) 92 Servlets 20 setup_DC_w32 command 63 SMF 3 smit command 82 SNMP 5 SOAP 70 Sun Solaris 5 System Measurement Facility, see SMF
120
Solution Deployment Guide for IBM Tivoli Composite Application Manager for WebSphere
Solution Deployment Guide for IBM Tivoli Composite Application Manager for WebSphere
Back cover
BUILDING TECHNICAL INFORMATION BASED ON PRACTICAL EXPERIENCE IBM Redbooks are developed by the IBM International Technical Support Organization. Experts from IBM, Customers and Partners from around the world create timely technical information based on realistic scenarios. Specific recommendations are provided to help you implement IT solutions more effectively in your environment.