Академический Документы
Профессиональный Документы
Культура Документы
ibm.com/redbooks
International Technical Support Organization IBM Tivoli Business Systems Manager V3.1 Advanced Implementation Topics October 2005
SG24-6770-00
Note: Before using this information and the product it supports, read the information in Notices on page vii.
First Edition (October 2005) This edition applies to Version 3, Release 1 of IBM Tivoli Business Systems Manager (product number 5724-C51).
Copyright International Business Machines Corporation 2005. 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 redbook. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . x Become a published author . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xi Comments welcome. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xi Chapter 1. Business Service Management with IBM Tivoli Business Systems Manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.1 Business Service Management. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.1.1 Concepts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.1.2 IT Infrastructure Library (ITIL) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.1.3 Business Service Management solution with Tivoli . . . . . . . . . . . . . . 4 1.2 IBM Tivoli Business Systems Manager overview . . . . . . . . . . . . . . . . . . . . 5 1.2.1 Objects and resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 1.2.2 Components and interaction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 1.2.3 User interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 1.3 Discussion scope . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 1.4 Lab environment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 Chapter 2. Implementation process methodology overview. . . . . . . . . . . 15 2.1 Implementation methodology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 2.2 Deployment and planning considerations . . . . . . . . . . . . . . . . . . . . . . . . . 16 2.2.1 IBM Tivoli Business Systems Manager servers and connectivity . . . 16 2.2.2 Requirement gathering and solution design . . . . . . . . . . . . . . . . . . . 18 2.2.3 Solution design session . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 2.3 Installing IBM Tivoli Business Systems Manager . . . . . . . . . . . . . . . . . . . 26 2.3.1 Software installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 2.3.2 Event enablement interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 2.3.3 Common Listener interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 2.3.4 Upgrading or migrating from previous releases . . . . . . . . . . . . . . . . 33 2.3.5 Uninstalling IBM Tivoli Business Systems Manager . . . . . . . . . . . . . 33 2.4 Defining business systems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 2.4.1 Automated business system processing overview . . . . . . . . . . . . . . 35 2.4.2 XML processing overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 Chapter 3. Building business systems: design, concepts and implementation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
iii
3.1 Business systems design methodology . . . . . . . . . . . . . . . . . . . . . . . . . . 38 3.1.1 Terminology and definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 3.1.2 Methods for creating business systems . . . . . . . . . . . . . . . . . . . . . . 38 3.1.3 Important considerations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 3.2 Piggybank, Inc. background . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 3.2.1 Data centers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 3.2.2 Piggybank resources. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 3.2.3 Piggybank applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 3.2.4 Console users . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 3.2.5 Monitoring environment. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 3.3 Mapping enterprise to business system . . . . . . . . . . . . . . . . . . . . . . . . . . 44 3.4 Using Automated Business System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 3.4.1 Before defining business system . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 3.4.2 Designing Piggybank business system folders . . . . . . . . . . . . . . . . . 48 3.4.3 Defining Automated Business System configuration . . . . . . . . . . . . 52 3.4.4 Loading the ABS configuration file . . . . . . . . . . . . . . . . . . . . . . . . . . 59 3.4.5 More about functions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 3.5 XML interface for business system . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 3.5.1 XML interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 3.5.2 Object structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 3.5.3 Defining XML file for business system . . . . . . . . . . . . . . . . . . . . . . . 71 3.5.4 Running and loading XML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 Chapter 4. Presenting and using executive services and executive view 83 4.1 Executive view assignment considerations . . . . . . . . . . . . . . . . . . . . . . . . 84 4.2 Working with executive view definition . . . . . . . . . . . . . . . . . . . . . . . . . . . 86 4.2.1 Java console dialog. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87 4.2.2 Using Command Line Interface. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88 4.2.3 Using business system creation program . . . . . . . . . . . . . . . . . . . . . 89 4.3 Developing executive API application . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92 4.3.1 API overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92 4.3.2 Application development . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93 4.3.3 Application servlet development . . . . . . . . . . . . . . . . . . . . . . . . . . . 106 4.3.4 Deploying the application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111 Chapter 5. Policy-driven batch management . . . . . . . . . . . . . . . . . . . . . . 115 5.1 IBM Tivoli Workload Scheduler overview . . . . . . . . . . . . . . . . . . . . . . . . 116 5.1.1 Domain-based scheduling. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116 5.1.2 Terminology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117 5.1.3 Scheduling resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118 5.2 IBM Tivoli Service Level Advisor overview . . . . . . . . . . . . . . . . . . . . . . . 119 5.2.1 Service level management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119 5.2.2 IBM Tivoli Service Level Advisor architecture . . . . . . . . . . . . . . . . . 120
iv
5.2.3 PiggyBanks IBM Tivoli Service Level Advisor setup . . . . . . . . . . . 122 5.3 Getting batch management information . . . . . . . . . . . . . . . . . . . . . . . . . 124 5.3.1 Setting up IBM Tivoli Workload Scheduler intelligent adapter . . . . 124 5.3.2 Batch management console . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129 5.4 Service level for IBM Tivoli Workload Scheduler. . . . . . . . . . . . . . . . . . . 130 5.4.1 Batch interface to Tivoli Data Warehouse . . . . . . . . . . . . . . . . . . . . 131 5.4.2 Setting up IBM Tivoli Service Level Advisor . . . . . . . . . . . . . . . . . . 133 5.4.3 Defining Batch system in IBM Tivoli Service Level Advisor . . . . . . 135 5.5 Getting Service Level information in dashboard . . . . . . . . . . . . . . . . . . . 158 5.5.1 Data from the archiver. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158 5.5.2 Loading data to measurement table . . . . . . . . . . . . . . . . . . . . . . . . 159 5.5.3 TEC event generated . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159 5.5.4 Executive dashboard. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162 Chapter 6. Using IBM Tivoli Intelligent Orchestrator to populate business systems structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165 6.1 IBM Tivoli Intelligent Orchestrator overview . . . . . . . . . . . . . . . . . . . . . . 166 6.1.1 Terminologies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166 6.1.2 Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169 6.1.3 New features for Version 3.1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172 6.2 Dynamic business system integration . . . . . . . . . . . . . . . . . . . . . . . . . . . 177 6.2.1 Data Center Model in IBM Tivoli Intelligent Orchestrator . . . . . . . . 178 6.2.2 Designing the workflow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180 6.2.3 Building workflow for adding a server . . . . . . . . . . . . . . . . . . . . . . . 181 6.2.4 Building workflow for removing a server . . . . . . . . . . . . . . . . . . . . . 189 6.3 Integration in action . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191 6.3.1 Adding a Web server. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191 6.3.2 Removing a Web server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195 Chapter 7. Problem management integration with the Peregrine Service Center. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199 7.1 Peregrine Service Center overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200 7.1.1 Peregrine Service Center architecture . . . . . . . . . . . . . . . . . . . . . . 200 7.1.2 Service Center and IBM Tivoli Business Systems Manager . . . . . . 201 7.1.3 Terms and definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204 7.2 Implementing SCAuto for TBSM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205 7.2.1 Installation requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206 7.2.2 Running the SCAuto for TBSM installer . . . . . . . . . . . . . . . . . . . . . 206 7.2.3 Adding new fields to the database dictionary . . . . . . . . . . . . . . . . . 209 7.2.4 Loading files into Peregrine Service Center . . . . . . . . . . . . . . . . . . 216 7.2.5 Adding a format control for automatic close events . . . . . . . . . . . . 218 7.2.6 Updating IBM Tivoli Business Systems Manager mappings . . . . . . 222 7.2.7 Configuring database server for SCAuto for TBSM . . . . . . . . . . . . 227
Contents
7.2.8 Configuring access to problem ticketing . . . . . . . . . . . . . . . . . . . . . 228 7.2.9 Starting the automatic close event notification service . . . . . . . . . . 229 7.3 Removing SCAuto for TBSM. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229 7.4 Using Problem Ticketing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230 7.4.1 Problem ticketing. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230 7.4.2 Automatic ticketing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242 7.5 Troubleshooting. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242 Appendix A. Additional material . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245 Locating the Web material . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245 Using the Web material . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245 System requirements for downloading the Web material . . . . . . . . . . . . . 246 Loading application into WebSphere Studio Application Development Integration Edition V5.1.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246 Using the ABS Java application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247 Abbreviations and acronyms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253 Related publications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255 IBM Redbooks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255 Other publications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255 Online resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256 How to get IBM Redbooks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256 Help from IBM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256 Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257
vi
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 illustrates 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. 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 IBM's application programming interfaces.
vii
Trademarks
The following terms are trademarks of the International Business Machines Corporation in the United States, other countries, or both: Redbooks Redbooks (logo) AIX DB2 Eserver z/OS IBM Lotus MVS NetView OMEGAMON PBT Tivoli Enterprise Tivoli Enterprise Console Tivoli Management Environment Tivoli TME WebSphere
The following terms are trademarks of other companies: Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both. Microsoft, Windows, Windows NT, and the Windows logo are trademarks of Microsoft Corporation in the United States, other countries, or both. Intel, Intel logo, Intel Inside, Intel Inside logo, Intel Centrino, Intel Centrino logo, Celeron, Intel Xeon, Intel SpeedStep, Itanium, and Pentium are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States and other countries. 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
Preface
This IBM Redbook discusses miscellaneous implementation topics and integration information for IBM Tivoli Business Systems Manager Version 3.1. The discussion is geared for an experienced IBM Tivoli Business Systems Manager specialist that requires an in-depth discussion for advanced implementation and integration options. This redbook does not provide basic implementation information for IBM Tivoli Business Systems Manager. That information can be found in IBM Tivoli Business Systems Manager V2.1 End-to-end Implementation, SG24-6610. Although that redbook discusses Version 2.1, most of the discussion still applies in Version 3.1. Additional information can be read from the formal IBM Tivoli Business Systems Manager Version 3.1 manuals. This redbook provides: An overview in Chapter 1, Business Service Management with IBM Tivoli Business Systems Manager on page 1. An implementation overview in Chapter 2, Implementation process methodology overview on page 15, that sets the level for the additional discussion in other chapters. A business system definition is the largest single issue in a successful IBM Tivoli Business Systems Manager implementation, and we discuss this in Chapter 3, Building business systems: design, concepts and implementation on page 37. The executive dashboard implementation is discussed in Chapter 4, Presenting and using executive services and executive view on page 83, and an advanced TBSM API programming sample is provided in this redbook. A policy based batch management using IBM Tivoli Workload Scheduler and IBM Tivoli Service Level Advisor is explained in Chapter 5, Policy-driven batch management on page 115. Orchestration with IBM Tivoli Intelligent Orchestrator creates dynamic assignment of resources based on business needs instead of naming convention, as discussed in Chapter 6, Using IBM Tivoli Intelligent Orchestrator to populate business systems structure on page 165. Problem management integration with the Peregrine Service Center is discussed in Chapter 7, Problem management integration with the Peregrine Service Center on page 199.
ix
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 Redbooks in one of the following ways: Use the online Contact us review redbook form found at:
ibm.com/redbooks
Mail your comments to: IBM Corporation, International Technical Support Organization Dept. 0SJB Building 905 11501 Burnet Road Austin, Texas 78758-3493
Preface
xi
xii
Chapter 1.
1.1.1 Concepts
Many IT organizations are turning to Business Service Management solutions to facilitate a business-defined view of IT-delivered services. Business Service Management solutions provide facilities and analytics that enable IT to manage service levels with the business consumer for a specific business process to ensure that the SLA associated with this process is fulfilled. Business Service Management allows IT to incorporate business knowledge into the service management process and to translate data from traditional infrastructure and application management tools into business-level representations. Business Service Management relies on IT organizations that work with business units to map resource-to-service relationships and organize them into structures that depict and visualize the components of IT infrastructure as well as automate components of the business process based on the knowledge of their relationships. Accordingly, with Business Service Management, IT management and business executives can reconcile their perspective of IT performance. This is because Business Service Management can report both real-time status and historical service-level compliance for each business function supported by IT. Business Service Management is a service management application that aligns IT operations with business processes. Therefore, it allows business functions to receive maximum leverage from IT resource management. Business Service Management solutions enable real-time management of events and service levels based on knowledge of their relationships to an IT service provided to a business entity responsible for a business process. Business Service Management provides IT with a set of algorithms and visualizations that IT must incorporate in its SLM processes. It is designed to display and report the service delivery health and business impact of IT based on performance and availability of IT resources. The visualization of Business
Service Management runs on federated event and monitoring data as well as business and IT relationship data. The four aspects of Business Service Management are: It consists of identifying the components of a business system. It involves measuring the performance and availability of those components. It ensures that the components are performing within Service Level Objectives (SLOs). It alerts to any deviation or potential deviation from SLOs. The concepts behind Business Service Management include: Resources are components of IT infrastructure. Business transaction is a group of IT resources supporting a particular IT workload. Business system is a group of resources that supports a business goal. Business process is composed of some automated (IT services based) and some manual steps. When policy data or service level information is attached to a business system, it turns into an IT service. IT service can be perceived as a collection of IT resources that make up the automated part of the business process.
Chapter 1. Business Service Management with IBM Tivoli Business Systems Manager
Service delivery covers the management of the IT services themselves. It involves many management practices to ensure that IT services are provided as agreed upon between the service provider and the customer. Refer to the following Web sites for details about what ITIL is and what it can provide: IT systems management forum Web site
http://www.itsmf.com
A managed object has the following principal attributes: Class wide attributes Class id (cid) This is the object type that the object is associated with. The class id is represented as a 4-character string. Such as NREG.
Class name (cname) This is the long name of the object type, such as NetworkRegion. There is no spaces in the class name. Class number Static object attributes Instance id (id) This is a number that represent the specific instance in the class. This is implemented as 6-digits hexadecimal number. This is a 4-digits hexadecimal number associated with a class id. This field is only used internally.
Chapter 1. Business Service Management with IBM Tivoli Business Systems Manager
The display name of the object. Description of the object. This represent the color coded status of the object, it can be red, yellow or green. This represent what is the ripple effect of this object to its container parent. This represent the presumed status of the object. This only applies to mainframe objects.
These monitored objects resides in two different areas, typically called: All resources tree: These are when the object that is just discovered by IBM Tivoli Business Systems Manager is put. Some call this objects physical resources because it represent the status of the real object. The object in the All resources tree is defined in a tight hierarchical structure and all copies of the object is cloned directly from this. Only one instance of an object resides in this tree, each objects here represents a unique resource. Most operator does not use or manipulate or monitor these object directly. Business system tree: These are the object copies that are custom-arranged to represent the enterprise. This tree is logically structured to match the enterprise requirement and structure, It is where the customization must take place to define a meaningful structure. The objects in this tree are copies from the All resource tree; these objects may resides on several branches, representing a resource that is used by multiple business service. A resource can be shown in the IBM Tivoli Business Systems Manager Java console in Figure 1-2 on page 7.
Based on the role and usage of an object, a resource can be called: Physical resource This is a resource object residing in the All resources tree.
Business system resourceThis is a copy of physical resource that resides in the business system tree. Business system folder This is a folder or container that contains business system resources; typically a business system folder represents a business entity.
Business system shortcutThis is a copy of a business system folder so that it can be reused in different portion of the business system tree. A typical management or monitoring procedure for a IBM Tivoli Business Systems Manager operator is:
Chapter 1. Business Service Management with IBM Tivoli Business Systems Manager
1. An operator watching business system folders that are assigned to him/her. 2. When a business system folder changes its alert state from green to yellow or red, the operator drill down the business system folder and finding the resources that caused the change. 3. The operator can prioritize his work by looking at the business impact for each resource; that is finding the business system folders that are affected by each resource. 4. Fixing the resources so that all the business systems should be green.
z\OS
Source/390 Tivoli NetView for z\OS Tivoli Data Warehouse
TBSM Servers
Host Integration Server Event Handler Server Executive dashboard
History Server
Database Server
Console Server
Web Console
EIF Sender
From Figure 1-3 on page 8, the following are the components of IBM Tivoli Business Systems Manager: Base components: The following are the components that are used by both mainframe or distributed environment Database server, which is consists of: Microsoft SQL Server database, the heart and central processing of IBM Tivoli Business Systems Manager. SQL Server Agent for running SQL processes in regular intervals. Tivoli BSM Staged Event Loader to load event to the database
WebSphere Application Server Console Server that runs the console applications, for Java console, Web console and Executive dashboard Mainframe input components: These are the components that are used by mainframe environment only. It runs mostly on the Event handler server. For SNA connection the Host Integration Server is used to connect to the mainframe. Tivoli BSM MVS OS Listener Service: Receives communication from the z/OS systems Tivoli BSM MVS Listener Service: Receives bulk discovery communication from the mainframe, this component runs on the database server as it uses bulk copy facility from Microsoft SQL Server. Tivoli BSM MVS Event Handler Service: Loads events from the listener for Staged event loader Tivoli BSM MVS Upload Rule Server: Determines what replies to be send back based on the message the OS Listener receives. Tivoli BSM Enqueue Proxy Server: Receives enqueued events from the upload rule server for sending to z/OS systems. Tivoli BSM MVS Sender Service: Sends back replies for z/OS systems. Distributed input components: The following are the components that are used by distributed environment only. Tivoli BSM Event enablement: Formats and sends TEC event to IBM Tivoli Business Systems Manager. Tivoli BSM Agent Listener: Receives TEC event sends by the event enablement component. Tivoli BSM Common Listener: Receives XML formatted object discovery and events from Common Listener intelligent adapters. Tivoli BSM EIF Sender: Sends events to TEC for processing, such as state and status synchronization. Tivoli BSM Task Server: Runs Tivoli Framework task or z/OS command
Chapter 1. Business Service Management with IBM Tivoli Business Systems Manager
Web console: This is the slim-down Web browser based console for the occasional operator that needs access to IBM Tivoli Business Systems Manager but does not need the Java console software loaded on the machine. It handles most functions that the Java console provides for operators. The Web console is shown in Figure 1-5 on page 11.
10
Executive dashboard: This is a status only Web-based dashboard. It is meant for display of certain business system status and no administrative interaction. The shockwave based executive dashboard is shown in Figure 1-6 on page 12.
Chapter 1. Business Service Management with IBM Tivoli Business Systems Manager
11
Reporting system: Generates and retrieves event reports for objects in the business system or all resources tree, This is the only interface that is not served by the WebSphere Application Server in the console server. This is typically run from the History Server.
12
business system folder objects. The discussion on business systems is presented in Chapter 3, Building business systems: design, concepts and implementation on page 37. Executive dashboard is a significant enhancement in IBM Tivoli Business Systems Manager V3.1. It allows a simple status interface for an executive to use.Executive dashboard provides Application Programming Interface (API) for custom J2EE based application to be developed for displaying IBM Tivoli Business Systems Manager object status. We discuss all these in Chapter 4, Presenting and using executive services and executive view on page 83. Batch management and its integration with Service Level management is presented in Chapter 5, Policy-driven batch management on page 115. With new on-demand operating environment, resources can be provisioned and removed as needed. A resource from a resource pool can be assigned to any business process that needs it. As IBM Tivoli Business Systems Manager relies on naming convention to allocate an object to business systems, it is harder to do this in a totally dynamic environment. IBM Tivoli Business Systems Manager V3.1 provides XML interface to define resource assignment to business systems. Chapter 6, Using IBM Tivoli Intelligent Orchestrator to populate business systems structure on page 165 demonstrates a sample integration for dynamic provisioning using IBM Tivoli Intelligent Orchestrator with IBM Tivoli Business Systems Manager. As there is a greater drive to move to a service based environment conforming to ITIL infrastructure, a problem management environment is a key component. This chapter discusses the implementation and usage of the Peregrine Service Center with IBM Tivoli Business Systems Manager V3.1. The integration is typically performed with SC Auto for TBSM product. We present this in Chapter 7, Problem management integration with the Peregrine Service Center on page 199.
Chapter 1. Business Service Management with IBM Tivoli Business Systems Manager
13
phoenix
Tivoli Framework Tivoli Enterprise Console 3.9 ITM for Apache
laredo
pretoria
Tivoli Business Systems Manager 3.1
kingston
Tivoli Data Warehouse Tivoli Service Level Advisor DB2 Server
beijing
Peregrine ServiceCenter
PiggyBank resources
TCP/IP network Tivoli Endpoint Tivoli Common Agent Cygwin Tivoli Endpoint Tivoli Common Agent Cygwin
dublin
manila
bangkok
14
Chapter 2.
15
16
Database server
Database server
History server
Console server
Console server
SNA server
Production servers
Most large implementation should have a different sets of IBM Tivoli Business Systems Manager servers. The test servers are meant for testing new features and new configuration. The production servers itself consists of the following functions: Database server This is where the Microsoft SQL Server database is located. This is the heart of all IBM Tivoli Business Systems Manager processing. This server unloads the data regularly from the database server for reporting purposes. WebSphere Application Server running the IBM Tivoli Business Systems Manager console server application serving users.
Event handler server This server connects to z/OS systems running Source/390. SNA server or Host integration server This server provides SNA connectivity for IBM Tivoli Business Systems Manager, this server is not needed for TCP/IP communication. Health Monitor serverThis monitors the health of IBM Tivoli Business Systems Manager servers. Distributed IBM Tivoli Business Systems Manager implementation requires at least the database server and console server. These configuration serves IBM Tivoli Business Systems Manager consoles.
17
6 4 5
Business systems End user
3
interface
Servers configuration
When gathering and documenting the requirements, keep the discussion in terms of what rather than how, and document the requirements in words rather than in pictures. As shown in Figure 2-2, the following information needs to be identified: Servers configurationThe machine specification and estimated load should determine the required server configuration
18
Monitoring sources Data sources that will feed into IBM Tivoli Business Systems Manager must be identified and inventoried for event analysis and naming conventions Interfaces The interface from the monitoring source must be identified to understand the requirement for data structure extension and possible additional operational command structures; the interface also determines the requirement for resource placement in the all resource tree The list of end users that will use IBM Tivoli Business Systems Manager must be made to identify their requirements, such as console types, roles, resource needs The end users requirements determine the needs for business system structure; this is the major design decision that must be made carefully to make a useful solution
End user
Business system
Management environment The external products that needs to be integrated with IBM Tivoli Business Systems Manager must be identified; this excludes the monitoring sources that feeds IBM Tivoli Business Systems Manager; examples are IBM Tivoli Service Level Advisor, IBM Tivoli Intelligent Orchestrator, help desk systems and so on Lets look at these requirements in more detail.
Servers configuration
The machine specification for IBM Tivoli Business Systems Manager servers should be checked against the latest specification recommendations. The configuration must also consider estimated load that will comprise the systems. Although it is quite hard to predict without the rest of the definition, some initial calculations can get the ball-park figure. The initial information required is: Number of monitoring sources Number of managed resources per monitoring source Number of events per resource Number of end users Number of aggregates (application / functions / grouping) Number of folders for each end users Number of resource copy in different folders Using this structure, we should be able to identify roughly:
19
Number of events that IBM Tivoli Business Systems Manager will process; which is derived by:
The sum of: events per resource X managed resources X monitoring sources
Number of business systems, assuming that each end user uses in average an aggregate folder and each resources can be found in up to 5 aggregate folders; the number of business systems can be derived from:
End users X aggregates X 2 + managed resources X aggregates X 5
Although the above numbers are very rough, they should be able to give an estimated load for the server configuration options.
Monitoring sources
Data sources that will feed into IBM Tivoli Business Systems Manager must be identified and inventoried for event analysis and naming conventions. These sources can have a well known interface, such as IBM Tivoli Monitoring family or any potential sources that must be fed into IBM Tivoli Business Systems Manager. These sources must be analyzed to acquires naming convention and event structure. When identifying the requirements, it is desirable to list them as granular as possible by critical business or application system, by event or monitoring sources such as: IBM Tivoli Monitoring IBM Tivoli Management for Transaction Performance IBM Tivoli NetView Logfile adapters and so on A detailed information on monitoring subsystems will be very useful in implementation stage. A good listing will allow quick initial implementation of IBM Tivoli Business Systems Manager. Naming convention will be highly beneficial to collect for definition of automated business system. Automated business system is highly dependent to naming convention, as it matched name patterns to filters resources that will be put in business system folders. Events must be analyzed to understand: Event structure, what are the important field of the event that you want to forward to IBM Tivoli Business Systems Manager and also which fields must
20
be mapped to IBM Tivoli Business Systems Manager terminology for correct propagation behavior Event pairing to understand which events are considered alert and which events are resolution; this also includes an exhaustive analysis to see whether all alerts has a resolution to provide closure and how to match up the alert with its resolution. Resource naming and event relation must be established to be able to see the exact name structure that is send in events.
Interfaces
The interface from the monitoring source must be identified to understand the requirement for data structure extension and possible additional operational command structures; the interface also determines the requirement for resource placement in the all resource tree. Distributed events feeds can be integrated into the IBM Tivoli Business Systems Manager business impact management solution using the Common Listener (CL) or the Event Enablement (EE). Common Listener supports the discovery and status information from IBM Tivoli Business Systems Manager adapters installed, configured, and running on the monitoring systems, such as IBM Tivoli NetView, IBM Tivoli Monitoring, IBM Tivoli Workload Scheduler, HP OpenView, and so on. These adapters are shipped as part of the IBM Tivoli Business Systems Manager 3.1 product. Event Enablement (EE) is installed on the IBM Tivoli Enterprise Console (TEC) and provides the APIs and services to forward TEC events to IBM Tivoli Business Systems Manager. Unlike the Common Listener interface where the information received is mapped to appropriate predefined resource types, the Event Enablement APIs provide total control over how an event can be mapped or linked to which resource type
End user
The list of end users that will use IBM Tivoli Business Systems Manager must be made to identify their requirements, such as console types, roles, resource needs. Users must be defined with appropriate role for them to perform their daily tasks. This includes the definition of an easy to navigate business system structure that both indicative to all problems that they may have and easy to drill down to see the problem. Users requirement determine the structure of the business system folders. A business system folder is created because a user has a need to get a status from that folder. User roles are defined to the appropriate level so each user will not have access to unauthorized functions or any excessive cluttered display.
21
Business system
The end users requirements determine the need for business system structure; this is the major design decision that must be made carefully to make a useful solution. Business system structure must be: Reflect an enterprise Used by end-user for monitoring Easy to maintain for changes Automated for creation As discussed, the business systems can be created in three methods: Manual drag and drop Automated business system XML interface The business system folder requirement gathering should include the following: Business or Application Systems and subsystems Number of business systems and how they will be defined, manually, Automatic Business Systems or XML interface What each business system folders purpose is, and who the potential audience or users will be As you can see, the most important aspect of IBM Tivoli Business Systems Manager implementation is the information of structure and definition of business systems. As this is a major requirement, we discuss this in detail in Chapter 3, Building business systems: design, concepts and implementation on page 37.
Management environment
There are other aspect of systems management that needs to be taken into account for IBM Tivoli Business Systems Manager deployment other than Availability management. The interfaces to other Tivoli and non-Tivoli software port folio may need to be considered. The interfaces here are interfaces that does not forwards availability events to IBM Tivoli Business Systems Manager. This includes: Configuration: Deployment of console and its preferences with software distribution solution such as IBM Tivoli Configuration Manager. Optimization: Scheduling of maintenance jobs outside of Microsoft SQL Server Agent, such as with IBM Tivoli Workload Scheduler. Provisioning: Dynamic update of system resource structure from dynamic provisioning applications such as IBM Tivoli Intelligent Orchestrator.
22
Service Level Management: Feed to and from IBM Tivoli Service Level Advisor. Service desk solution: Problem and change management, such as using the Peregrine Service Center. Security: Interaction with Web console may require an additional security from products such as IBM Tivoli Access Manager.
23
IBM Tivoli Monitoring for Transaction Performance to check response time and investigate transaction integrity IBM Tivoli Monitoring for Web Infrastructure for monitoring Apache Web servers IBM Tivoli Enterprise Console correlates and processes events from all the IBM Tivoli Monitoring and IBM Tivoli NetView environments. Interfaces from the monitoring application must be identified. This determines how resources and events being sent to IBM Tivoli Business Systems Manager. The options are Common Listener or Event Enablement. The Event Enablement approach provides a higher flexibility of managing events and performing event correlation through IBM Tivoli Enterprise Console. As in PiggyBank, Inc. the events are already sent to IBM Tivoli Enterprise Console, an event enablement interface may seems to be an obvious choice. However, looking at how IBM Tivoli NetView event mix, it seems that it requires a large data model extension, so we decided to use the Intelligent Adapter for IBM Tivoli NetView that interact through Common Listener. Note: The two approaches are not mutually exclusive. The Common Listener interface can be used for certain event sources and the Event Enablement interface can be used for others. For the events coming through IBM Tivoli Enterprise Console, we need to perform event analysis. This analysis includes: Collecting a set of sample events for a specific time period; such as a day worth of events; This is to validate the event mix and find event pairs that should be generated. Analyze the events from the sample mix to collect event classes, slots, slot values, problem events, and corresponding resolution events Understand any automation through TEC rules that is in place; this may introduce that some important events may be dropped by automation, although IBM Tivoli Business Systems Manager needs them for resolving an alert condition. Cause event analysis or event correlation may generate a new event that you may want to use instead of the original events as the final correlated event is the important root cause of the problem. Identify resource types (object types or object model) required to address the requirements. These are typically the resource types that must be created for the Event Enablement interface. The example for PiggyBank, Inc. that we use requires the following resource types to be defined: AppServer - application server Database - Microsoft SQL server database
24
UserTrans - Online Banking user transaction simulated using IBM Tivoli Monitoring for Transaction Performance robot BranchServer - Servers in branch offices TellerWorkstation - Teller workstations in branch offices Map events to resource types, we need to identify the event structure that we can send to IBM Tivoli Business Systems Manager from IBM Tivoli Enterprise Console. IBM Tivoli Monitoring is used to monitor application server health; IBM Tivoli Monitoring events with the class stats with AppServer should be mapped to product type AppServer 1.0. All events with an event class that starts with Microsoft_SQL should be mapped to resource type Database 1.0. These are the events generated by the ITM resource models that are deployed to monitor Microsoft SQL servers, for example Microsoft_SQL_Server_Allocate_Space_Failed. IBM Tivoli Monitoring for Transaction Performance events should be mapped to resource type UserTrans. These events are generated by the GenWin policies defined and deployed to monitor user transactions. As these event has the hostname of the monitoring workstation instead of the transaction server, the event mapping must be performed from the robot profile name. From the naming convention, the robot profile name starts with the hostname of the transaction server it accessed. Any event with a host name that starts with PCW should be mapped to the TellerWorkstation resource type. Any event with a host name that starts with SRV and followed by branch 3-character mnemonic should be mapped to the BranchServer resource type. Note: The event analysis and mapping is rather simple and basically based on the TEC event source, event class, or host name. Sometimes there maybe other information provided in other slot values that may need to be used in determining the mappings depending on the existing IT infrastructure architecture, naming conditions for IT resources, and Tivoli architecture such as Profile names, ITM Resource Model Names, and so on. It is critical to keep the mapping criteria or scheme as simple as possible to keep the implementation simple and flexible.
25
Business system folders structure. The solution design also identify the necessary mechanism on maintaining the definition, such as automated business system or XML toolkit. IBM Tivoli Business Systems Manager deployment at Piggybank Inc. will use a staged approach. Not all business system folders are created in the initial phase, additional business system folders can be defined once the IBM Tivoli Business Systems Manager administrator and users gain some experience with the product. Application aggregates for major application monitor eloan and ebanking system Marketing application Warehouse system Human resource application Data center view Resource type view From the above list, most of the resources are planned to be created using automated business system method. While the Web servers based Marketing application is dynamic based on the current promotion and special offers, it is decided to be covered using XML technology. More discussion on business system design is provided in Chapter 3, Building business systems: design, concepts and implementation on page 37.
26
Table 2-1 Prerequisite software Windows 2000 Windows 2000 Advanced Server Edition with Service Pack 4 Windows 2000 Support tools MKS Toolkit for System Administrators V8.6/V8.7 Microsoft SQL Server 2000 Enterprise Edition Service Pack 3a Microsoft SQL Server 2000 JDBC Driver Microsoft Internet Information Server V5.0 WebSphere Application Server V5.0.2.6 Windows 2003 Windows Server 2003 Enterprise Edition Windows 2003 Support tools MKS Toolkit for System Administrators V8.6/V8.7 Microsoft SQL Server 2000 Enterprise Edition Service Pack 3a Microsoft SQL Server 2000 JDBC Driver Microsoft Internet Information Server V6.0 WebSphere Application Server V5.0.2.6
Note: WebSphere Application Server V5.0.2.6 is shipped with IBM Tivoli Business Systems Manager and installed on the console server as part of the IBM Tivoli Business Systems Manager install. Refer to the IBM Tivoli Business Systems Manager Version 3.1 Installation and Configuration Guide, SC32-9089 for additional hardware configurations and specific hardware and software requirements. Except for Microsoft SQL Server 2000, all other prerequisite software can be installed using the default install options as long as the software gets installed and is operational. Microsoft SQL Server 2000 must be installed with Binary Sort Order and Latin1_General code page. Installation of IBM Tivoli Business Systems Manager is performed using the installation wizard. Just follow the installation wizard and select the components that you want to install. After the installation, integration of resources must be implemented. As discussed in 2.2.1, IBM Tivoli Business Systems Manager servers and connectivity on page 16, the option is to use Common Listener or Event Enablement interface. We discuss the options in the following sections.
27
28
Forwarding IBM Tivoli Service Level Advisor events Forwarding generic TEC events Forwarding Distributed Monitoring events Forwarding APM events
The most common interface for using the event enablement is the ihstttec API call. It is intended for use in the IBM Tivoli Enterprise Console rules to send generic events to IBM Tivoli Business Systems Manager through the Agent Listener Service. Understanding the ihstttec syntax is one of the key aspects of integrating distributed event sources using into the IBM Tivoli Business Systems Manager. Once the resource types or object classes are defined using gemgenprod commands, TEC events can be mapped to these resource instances and forwarded to IBM Tivoli Business Systems Manager.
29
Unlike z/OS resources, the IBM Tivoli Business Systems Manager distributed resources should not be inserted or defined using the IBM Tivoli Business Systems Manager Java console. Either an event or common listener discovery must happen so that the resource can appear in the All Resources view. Discovery of resources can take place naturally as to when the events from resources are received at the TEC server and forwarded to IBM Tivoli Business Systems Manager. This can take some time depending on the type of monitoring, the threshold levels specified, and the health of the resources. In order to build business system folders using the GUI drag-and-drop method, you need the resources in the All Resources view to drag and drop. business system folders that are configured using the ABS feature can be formed or created automatically as to when resource instances are discovered. In most cases, you need to force discovery of resources (often referred to as initial discovery), once the IBM Tivoli Business Systems Manager is installed and configured to proceed with the business system folder definitions. A command tecstatusconfig.ksh is provided to enable, display, and set the configuration options related to IBM Tivoli Business Systems Manager and TEC event status integration. Refer to the IBM Tivoli Business Systems Manager Command Reference, SC32-1243 for additional details on the command. To configure TEC status integration: Run tecstatusconfig.ksh to enable forwarding of status to TEC at the IBM Tivoli Business Systems Manager database server. Add the event classes and the rule manually or by running the $BINDIR/TDS/Event Service/config/tbsmstatus.sh script at the TEC server. Add the TEC change rule with the appropriate ihstttec API calls to forward the event to IBM Tivoli Business Systems Manager when the event status is changed at the TEC server. You can also customize behavior of duplicate events received at the TEC server at IBM Tivoli Business Systems Manager. Refer to the IBM Tivoli Business Systems Manager Administrators Guide, SC32-9085 for additional information.
30
The implementation of Tivoli tasks can be performed using the information in Appendix E in IBM Tivoli Business Systems Manager Administrators Guide, SC32-9085. This utilize the wtll command to extract the task information and build it using the TLLParser command into IBM Tivoli Business Systems Manager. Additional implementation notes: The TLLParser command is not defined in the path. It is stored in <TBSM_home>\xdfparser\bin. If the Tivoli task expects parameters, the IBM Tivoli Business Systems Manager GUI will prompt for them. There is no way to automatically supply context specific information. IBM Tivoli Business Systems Manager does not handle tasks that require a script to be executed at task execution time to fill in a parameter for the task. When executing a task, the Task Library and target Endpoint or Managed Node name must be known in the Event Enablement host that run IBM Tivoli Business Systems Manager task server. A task will not execute unless the host against which the task is directed is a Tivoli Managed resource (Endpoint or Managed Node). When associating tasks with generic object types, care should be ensured the hostname slot in the discovery event for the corresponding generic object instances contain a Tivoli resource name that is a legal task target. When a task is first run, a prompt for a valid Tivoli user ID and password will appear. Similar to TME tasks, URLs associated with an object type appear on the IBM Tivoli Business Systems Manager console under the menu item operational tasks.
Defining adapter
The intelligent monitor adapters connects to Common Listener server with a messaging queue technology that allows an efficient transaction even for a large number of transactions. The adapter are typically supplied by IBM Tivoli Business Systems Manager in the distributed edition CD-ROM or by the
31
monitoring software. The adapter must be configured to talk with the Common Listener service as shown in Figure 2-3.
transport.server.mqe.address transport.server.mqe.port
transport.local.ip.address
transport.server.ip.address
As shown in Figure 2-3, the definition is performed in the agents property file. An extract is shown in Example 2-1.
Example 2-1 Excerpt of the adapter property file transport.local.ip.address = transport.request.address = transport.request.port = transport.response.address = transport.response.port = transport.server.mqe.address transport.server.mqe.port transport.server.ip.address vbudi vbudi.BASETEST.QM+BASETEST.Q 48323 vbudi.BASETEST.QM+BASETEST.Q 48323 = ServerQM+ServerQ = 8082 = 9.3.5.90
32
33
34
35
d. Once responses are verified, then issue absTest -e command to queue the discovered business system folders, and then run the creation job ABS Creation job manually. 5. Verify Business Systems creation using Java console Verify that the business system folders are created by logging into IBM Tivoli Business Systems Manager and viewing the business system folders. 6. Install automated business system configuration file in production. When the updated ABS configuration file is thoroughly tested and verified, enable the jobs ABS Discovery Process and ABS Creation Process for automatic population of resources into the business system folders at instance creation time.
36
Chapter 3.
37
38
Automated Business Systems (ABS) Business system structure created using this method are created and maintained using configuration file in which the business system folders, the business system resources, and their behaviors are defined using a predefined format. When an ABS configuration file is created and loaded, new and current resources can be automatically discovered and added to the business systems you defined, greatly reducing any manual maintenance. ABS does not provide any facility for removing or reassigning resources from the business systems it has created. The ABS method requires upfront design and configuration to ensure the correct business systems are created with the proper resources contained within them. It also requires that resources are created based on a certain naming convention to facilitate simple filters. XML toolkit Much like ABS, the XML toolkit provides a way to automatically create business systems. Business systems created using the XML toolkit are defined manually by XML links. XML files must be submitted in order to add or modify business systems. The XML toolkit allows removal and reassignment of business systems, or any of the resources it creates. It cannot dynamically affect business systems created using an ABS configuration file. We recommend using the XML toolkit in cases where resources may need to be dynamically reassigned between different business systems and source information exists to build the business systems XML file. Important: The use of ABS and XML toolkit cannot be used interchangeably within the context of a business system. Use ABS to maintain all of the resources within business systems created using ABS, and the XML toolkit to maintain the business systems created using the XML toolkit.
39
Where possible, keep your business systems as simple as possible. Simple business systems are generally more intuitive, and display better under hyperview modes. Ensure your IBM Tivoli Business Systems Manager environment is being backed up on a regular basis. It is also a good idea to take backup snapshots of the IBM Tivoli Business Systems Manager database prior to beginning any involved maintenance or configuration. Create sensible naming conventions. These should be considered carefully because Business Systems may be reused. Gathering as much data as possible regarding your environment will help ensure you are prepared to build appropriate business systems. The types of documentation you should look to collect include: Network and system documentation Identify the author(s) of the business system Identify the audience for the business system Identify the purpose of the business system Identify the scope of the business system Identify any appropriate functional experts
40
New York
Los Angeles
Austin
41
Function Accounts Payable/Receivable databases Data Warehouse Human Resources Payroll/Recruiting database eLoans/eBanking databases
Table 3-2 represents the servers and resources located in the Los Angles remote facility.
Table 3-2 Los Angeles office machines Server Name LAWHA01 LAMKTD02 LAMKTD03 LABKUP01 LABKUP02 LAESBKUP07 OS Win AIX AIX AIX AIX AIX Resource WHLA01 MKTLA02 MKTLADB02 MKTLA03 MKTLADB03 ELLA03 EBLA03 ELLADB02 EBLADB02 Function Warehouse system Sales and Marketing Applications/Database Server Sales and Marketing Applications/Database Server eLoans Backup Application Server eBanking Backup Application Server eBanking/eLoans Backup Database Server
Table 3-3 represents the servers and resources located in the New York remote facility.
Table 3-3 New York office machines Server Name NYWHA01 NYMKTD02 OS AIX AIX Resource WHNY01 NYMKT01 MKTNYDB Function Warehouse system Sales and Marketing Applications/Database Server
42
eLoan services The eLoan Services application provides Piggybank, and potential Piggybank customers the ability to apply for loans of varying types with Piggybank. This is a critical application and must be available 24x7. eBanking services The eBanking Services application provides Piggybank account holders Internet access to their accounts. Using the eBanking Web site, current customers have the ability to perform any Piggybank transaction over the Internet. This is a critical application and must be available 24x7. Customer management The Piggybank Customer Management application provides Customer Service Representatives with up to date Customer account details. The Customer Management application must be available from 08:00am to 8:00pm Monday through Friday. Warehouse system The warehouse system must be available on primary shift to ensure that all requests can be supplied promptly. Marketing information system As marketing information frequently changes, customer services must be promptly equipped to handle this information through the marketing information system. This application must be available from 08:00am to 8:00pm Monday through Friday. Human resource application The human resource application support recruiting, personnel changes and payroll application. This application must be available from 08:00am to 8:00pm Monday through Friday.
43
User role Application owners Data center manager Database administrator Application server administrators Help desk Network administrator Web master
Requirement Application business system folder Status of resources in data center Status of databases Aggregate status of application server Shortcuts of systems by resources and by applications Network devices Web server resources
44
Table 3-5 Business system requirement User role Executive Help desk Business application managers Application owners Business system folder Applications DataCenters eLoan eBanking CustomerManagement Warehouse HumanResource MarketingInformation Austin LosAngeles NewYork Databases ApplicationServers Network devices WebServers
Further refinement of the business system folders must show the resources that will be created under each business system folders. The resource list is given in Table 3-6.
Table 3-6 Resource assignment for business system folders Business system folder Applications DataCenters eLoan Appl eBanking Appl CustomerManagement Appl Warehouse Appl Contents Short cuts of application business systems Shortcuts of data centers resources Database and application server for eLoan Database and application server for eBanking Database and application server for Customer Management Database and application server for Warehouse system
45
Business system folder HumanResource Appl MarketingInformation Appl Austin Data Center LosAngeles Data Center NewYork Data Center Databases ApplicationServers Network devices WebServers
Contents Database and application server for Human Resource Database and application server for Marketing Information Servers and resources in Austin Servers and resources in Los Angeles Servers and resources in New York All databases All application servers All network interfaces and routers Web servers machines
Based on the available interfaces and the nature of the business system, we decided to use the following interfaces: Build ABS definition for most of the business systems, as these resources are mostly statically defined. This is discussed in 3.4, Using Automated Business System on page 46. Use XML interface for Network devices business system and Web servers. The usage of XML interface for network devices is discussed in 3.5, XML interface for business system on page 67. While the Web servers deployment is utilizing IBM Tivoli Intelligent Orchestrator. This is discussed in Chapter 6, Using IBM Tivoli Intelligent Orchestrator to populate business systems structure on page 165.
46
3.4.4, Loading the ABS configuration file on page 59 3.4.5, More about functions on page 62
Note: We highly recommend to use the aforementioned spreadsheet applications to edit ABS configuration file. When using a spreadsheet application make sure you save, or export the file as a tab delimited text file We will need to have a list of class attributes for defining the business system selection pattern. This class attributes is retrieved using absAllowedClassAttribute.ksh command. The command is as follows:
absAllowedClassAttribute.ksh -oPiggybankClasses.txt -Spretoria -Usa -Ppassword
The output from the absAllowedClassAttribute.ksh is organized by class name. Example 3-2 on page 48 shows the class G02N attributes available for evaluation using an ABS configuration.
47
cid G02N G02N G02N G02N G02N G02N G02N G02N G02N G02N G02N G02N G02N G02N G02N G02N G02N G02N G02N G02N
a ttribute Data1 Data2 Data3 Data4 Des c E E hos t E P TTM R HeartbeatInterval Ins tanc eID Las tHbTim es tam p M anufac turer M gedS y s tem Nam e P revious Dis play Nam e P riority ID P roduc t TCP Hos t V ers ion c l_ins tid c tim e nam e
cna m e G02Nc nam e G02Nc nam e G02Nc nam e G02Nc nam e G02Nc nam e G02Nc nam e G02Nc nam e G02Nc nam e G02Nc nam e G02Nc nam e G02Nc nam e G02Nc nam e G02Nc nam e G02Nc nam e G02Nc nam e G02Nc nam e G02Nc nam e G02Nc nam e G02Nc nam e G02Nc nam e
product Databas e Databas e Databas e Databas e Databas e Databas e Databas e Databas e Databas e Databas e Databas e Databas e Databas e Databas e Databas e Databas e Databas e Databas e Databas e Databas e
ve rsion 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0
48
ELAUS01 AUSAPP01
ELAUS02 AUSAPP02
ELLA03 LABKUP01
ELAUSDB01 AUSESD06
ELLADB02 LAESBKUP07
We can start mapping out our Path for an eLoan business system. Based on the application architecture, we can define several scheme on how to map the eLoan into business systems, such as: Have all resources mapped to a single business system folder Have two separate business system folders for the primary and backup system Splitting the application servers and databases into their respective business system folders The options are shown in Figure 3-4 on page 50.
49
ELAUSDB01 ELLADB02
Option 1 flat
Option 2 by function
The actual decision on how the business system folder structure is determined by the users needs, such as: If all the resources are considered equally important, and individual resources affecting the business system similarly, we can have all resources mapped to a single business system folder If the users needs to be able to distinguish whether this problem applies to the primary set or the backup set, the separation of primary and backup set is recommended If the users want to see whether the databases or application servers that causes the problem, then separation by resource type may be desirable Combination of the approaches above may also be necessary to accommodate user needs or defining two or more business system folders to satisfy different user needs may be needed. Another requirement that arises is that the eLoan business system is meant to have a shortcut in the Applications business system folders that show the health of all PiggyBanks applications. What we decide is to have the hierarchy shown in Figure 3-5 on page 51.
50
Applications
Application-eLoan
Application-eLoan
Application-eLoan-Primary
ELAUS01
ELAUS02
ELAUSDB01
Application-eLoan-Backup
ELLA01
ELLADB02
In the hierarchy shown in Figure 3-5, the following functions must be realized: The Applications business system folders has all the shortcuts with the priority of Critical, therefore any application that is failed will make Applications Red. The eLoan business system folder goes to Red if and only if both the primary and backup are red and goes to yellow if the primary is red and the backup is green. Yellow status does not affect the primary eLoan business system folder The Primary business system folder goes to red if any of the database failed or the both the application servers are Red, if one of the application server is red it will be yellow. The Backup business system folder goes to red if any one of its components is failing.
51
Application Servers
Databases
ELAUSDB01 ELLADB02
These folders has a single layer of resources and alerts the appropriate resource administrator when any resource is failing. As there are primary sets of application servers and databases and backup sets of them, it is appropriate that we have the resources also grouped appropriately. The rules for these folders are: We use 10% of failure to be Yellow and 25% to be Red for both primary Application Servers and Databases. Backup servers has the threshold of 50% to be Yellow and 75% to be Red A primary or backup group immediately affect the parent
52
Applications
APPL_BS
Application-eLoan
Application-eLoan ELOAN_PRIM
Application-eLoan-Primary
ELAUS01
ELOAN_BKUP
ELAUS02
ELAUSDB01
Application-eLoan-Backup
ELLA01
ELLADB02
As shown in Figure 3-7, a named path is a flow for the business system folder hierarchy after the Business Systems Container until it reaches a certain dynamic business system resource object. Although the business system structure allows a path to contain more than 1 level of business system resource object, we are not using it. Based on the path names that is defined in Figure 3-7, the partial path definition that we use is shown in Figure 3-8 on page 54.
53
Path Path Level Name Description # -----------------------------------------------# Aggregates # -----------------------------------------------APPL_BS 1 Applications APPL_BS 2 # -----------------------------------------------# e-Loan application # -----------------------------------------------ELOAN_PRIM 1 Application-eLoan ELOAN_PRIM 2 eLoan-Primary ELOAN_PRIM 3 ELOAN_BKUP 1 Application-eLoan ELOAN_BKUP 2 eLoan-Backup ELOAN_BKUP 3
FunctionGroup
Note that the path name that we use in the example follows our naming convention. The path name can be chosen arbitrarily as it is meant only for the readability of the ABS configuration file. It will not be shown in any IBM Tivoli Business Systems Manager console.
Based on Table 3-7, we can define the patterns. Patterns are condition statements or filters that we use to evaluate attributes of physical resources for matching. Patterns are identified by a number. Typically pattern numbers starts from 1. Referring to resource attributes similar to Figure 3-2 on page 48, the patterns that we create is shown in Figure 3-9 on page 55.
54
Pattern Pattern . . . . 6 . . . . 10 11 12 13 14 15
Class Attribute . . . . . . LOB name . . . . . . G02M name G02N name G02M name G02N name G02M name G02N name
When
Operator
Operand2
Current LIKE Current Current Current Current Current Current LIKE LIKE LIKE LIKE NOT LIKE NOT LIKE
From Figure 3-10, lets evaluate some of the criteria: Criteria 1006 only uses pattern 6. In Criteria 1010, when pattern 10 is met, pattern 14 must also be met in order to make criteria 1010 fulfilled. Therefore enforcing an AND condition. In Criteria 1012, pattern 12 and pattern 13 can be met independently of each other to fulfill criteria 1012. Therefore providing an OR relation for pattern 12 and 13.
55
Now we need to associate these criteria to a certain place in the business system structure path. This is accomplished using the CriteriaToPath section. This section provides the matched pattern and criteria to be put to a certain level of the path. Our CriteriaToPath section is shown in Figure 3-11.
CriteriaToPath Criteria Path 1006 APPL_BS 1010 ELOAN_PRIM 1011 ELOAN_PRIM 1012 ELOAN_BKUP 1012 ELOAN_BKUP
Level 2 3 3 3 3
Pattern 6 10 11 12 13
FunctionGroup
From Figure 3-11, when criteria is matched with paths based on the primary matching pattern. The CriteriaToPath section also provides a means of mapping certain field with substituted content. Note: Substituting content without any necessary benefit of distinguishing resource should not be performed. It may create confusion as the same resource having different names. The example we have in Figure 3-11 on page 56 does not change the content of the name. Some notes on the criteria definition: The substitution field does not necessarily come from the same pattern as the pattern column, but it must be on a related pattern as defined in CriteriaToPattern section. The pattern defined in the CriteriaToPath section must has the class object the original physical object that is expected to be in the path. Related patterns may have different object class, however, for the relation to be met, they have to be in a single path. Alternatively we can define a pattern that each for G02M and relate it to an network location (NLOC) object that own the G02M resource.
Defining functions
In this redbook, we will not show all the facilities related to functions. You can read most of these functions in IBM Tivoli Business Systems Manager Administrators Guide, SC32-9085. We illustrate here the functions needed for the conditions of the folders as presented in 3.4.2, Designing Piggybank business system folders on page 48.
56
Functions are identified by its instances and applies to business system folders or business system resources by the means of function groups. There are three places that function groups can be defined, those are: Path definition: The function group defined in the path specify function group that is associated to a particular business system folder Criteria to path definition: The function group defined in the Criteria to path section specifies a function group that is associated to business system resources on that particular path entry. This also defines whether you want the same path to be used for multiple resource type or not. If you need different function set, then you must have separate path definition to allow a function group to be defined differently. Pattern definition: The function group defined in the pattern section specifies function group that is associated whenever a condition is met, regardless of the position or role of the object in the business system tree. This function group is not tied in to a path. Table 3-8 list the behavior that we wanted and summarizes the required functions to implement the behavior.
Table 3-8 Function requirement Desired behavior The Applications business system folders has all the shortcuts with the priority of Critical, therefore any application that is failed will make Applications Red. The eLoan business system folder goes to Red if and only if both the primary and backup are red and goes to yellow if the primary is red and the backup is green. Yellow status does not affect the primary eLoan business system folder The Primary business system folder goes to red if any of the database failed or the both the application servers are Red, if one of the application server is red it will be yellow. Functions needed SetBSPriority to Critical for all the shortcut DefineServicesandLinkToEvUser is assigned for the Application business system folder This must be implemented with PBT. DefineAndUsePBT to set 25% Yellow and 50% to Red SetBSPriority to Ignore for the Primary and Backup business system folders SetWeight to 150% for Primary This must be implemented with PBT. DefineAndUsePBT to set 25% Yellow and 50% to Red SetBSPriority to Ignore SetWeight to 75% for Application Servers SetWeight to 150% for Database This can be done without PBT. SetBSPriority to Critical
The Backup business system folder goes to red if any one of its components is failing.
Based on Table 3-8, the configuration file sections for CriteriaToPath and Path are modified into Figure 3-12 on page 58.
57
Path Path Level Name Description # -----------------------------------------------# Aggregates # -----------------------------------------------APPL_BS 1 Applications APPL_BS 2 # -----------------------------------------------# e-Loan application # -----------------------------------------------ELOAN_PRIM 1 Application-eLoan ELOAN_PRIM 2 eLoan-Primary ELOAN_PRIM 3 ELOAN_BKUP 1 Application-eLoan ELOAN_BKUP 2 eLoan-Backup ELOAN_BKUP 3
CriteriaToPath Criteria Path 1006 APPL_BS 1010 ELOAN_PRIM 1011 ELOAN_PRIM 1012 ELOAN_BKUP 1012 ELOAN_BKUP
FunctionGroup
APPL_BS_func
ELOAN_APPL_func ELOAN_PRIM_func
ELOAN_BKUP_func
Level 2 3 3 3 3
Pattern 6 10 11 12 13
The function groups defined in Figure 3-12 must be defined. Each function group contains the functions listed in Table 3-8 on page 57. The resulting function group definition is shown in Figure 3-13 on page 59. Function group names are arbitrary. We use the name to reflect which section they are defined from and use the identifier attribute of the section to be used for the name. Function names should be associated with function group name as most function names can be reused.
58
FunctionGroup FunctionGroup APPL_BS_func ELOAN_APPL_func ELOAN_APPL_func ELOAN_APPL_func ELOAN_APPL_func ELOAN_PRIM_func ELOAN_PRIM_func ELOAN_PRIM_func ELOAN_PRIM_func ELOAN_PRIM_func ELOAN_PRIM_func ELOAN_BKUP_func APPL_BS_obj_func ELOAN_PRIM_AS_func ELOAN_PRIM_DB_func ELOAN_PRIM_AS_func ELOAN_PRIM_DB_func ELOAN_BKUP_AS_func ELOAN_BKUP_DB_func
FunctionName DefineServicesandLinkToEvUser DefineAndUsePBTs DefineAndUsePBTs DefineAndUsePBTs DefineAndUsePBTs DefineAndUsePBTs DefineAndUsePBTs DefineAndUsePBTs DefineAndUsePBTs SetBSPriority SetWeights SetBSPriority SetBSPriority SetWeights SetWeights SetBSPriority SetBSPriority SetBSPriority SetBSPriority
Instance Appl_BS_ev YellowSet25 YellowClear25 RedSet50 RedClear50 YellowSet25 YellowClear25 RedSet50 RedClear50 BSIgnore Weight150 BSIgnore BSCritical Weight075 Weight150 BSIgnore BSIgnore BSCritical BSCritical
Individual functions are then defined in their respective section. The definition is shown in Figure 3-14.
DefineAndUsePBTs Instance PBTName
Relevance Enabled
Min Pct. 25 0 50 0
Event EventName Type excp excp excp excp SetYellow25 SetYellow25 SetRed50 SetRed50
EventText
Event Event AlertState Priority Yellow Green Red Green critica l low critical low
50 50 100 100
NewWeight 75 150
DefineServicesAndLinkToEvUsers Instance DisplayName ServiceID Business RedImpact Yellow Role Impact APPL_BS_ev Applications appls PiggyBank failed degraded applications
Flags 1
UserIDGroup
59
configuration file is loaded in error, or the business systems created are not correct the absDelete.ksh script can be executed to remove the business systems created using the active ABS configuration. Refer to the IBM Tivoli Business Systems Manager Command Reference, SC32-1243, for additional information about the absDelete.ksh script. Before we load the ABS file, we must disable the ABS Discovery, and ABS Creation jobs in SQL Server to prevent any chance of corruption. To disable these ABS jobs use the SQL Enterprise Manager. Select the Microsoft SQL Servers SQL Server Group <server name> Management SQL Server Agent Jobs. Select the jobs, right-click and select Disable job as shown in Figure 3-15.
Once the ABS jobs are disabled, we can load the configuration text file using absConfig.ksh. Use the command:
absConfig.ksh -iPiggybankABS.txt -Spretoria -Usa -Ppassword
If the load is successful, the message Processing Complete. is shown. Once the file is loaded we enable the ABS jobs back as shown in Figure 3-16 on page 61
60
With the ABS file loaded and the ABS jobs enabled, the ABS jobs will now correctly discover any new resources and populate our configured eLoan business system. To force the discovery of resources that existed in our IBM Tivoli Business Systems Manager database prior to the successful load of our ABS file, we run absTest.ksh. To execute the absTest.ksh, we access the IBM Tivoli Business Systems Manager database server and from a shell prompt execute the absTest.ksh as follows:
absTest.ksh -Spretoria -Usa -Ppassword -nPB_APPL_ELOAN_AS
The execution of absTest.ksh script will select resources that matched the mentioned path. We can then run absTest.ksh script a second time to process the manual queue, and create the business system using the -e option as follows:
absTest.ksh -Spretoria -Usa -Ppassword -e
61
Note: When absTest.ksh script is run to discover resources it places the discovered resources in a manual queue. This manual queue is cleared and replaced during each execution of absTest.ksh script that discovers resources. It is important to remember to process this queue after each discovery by be executing the absTest.ksh script with the -e parameter. Refer to the IBM Tivoli Business Systems Manager Command Reference, SC32-1243. Figure 3-17 shows a window of the Piggybank eLoan business system.
62
of business systems. The Percentage Based Threshold definition are a set of rules that can be associated with any business system folders. The Percentage Based Threshold rule consists of a specific condition and definition of an event to be generated when the condition is fulfilled. The condition is the percentage of resources it directly manage to have a certain erroneous state (Red and/or Yellow). Looking at the PBT definition dialog from the Java console may clear this up, as shown in Figure 3-18.
Condition
Event
Attention: To use Percentage Based Threshold, you must be familiar with the classic propagation behavior of IBM Tivoli Business Systems Manager. In order for the Percentage Based Threshold definition to be consistent, they must be defined in pair, one to generate Red or Yellow event, and the other to resolve it. The pair must: Have the same event name string Have the same event type
63
Complementary percentage number, covering the whole 1-100 range combined When Percentage Based Threshold is expected to turn the resource to Yellow or Red on specific conditions, you need two-pairs of Percentage Based Threshold definition, four rules. Three rules Percentage Based Threshold definition would not generate a consistent result. The complete Percentage Based Threshold to has threshold of 25% to Yellow and 50% to Red is depicted in Figure 3-19.
Red50Pct 49 50
100
Yellow25Pct 0 24 25 100
Although you have defined Percentage Based Threshold to be active on a certain business system folder, traditional propagation behavior still exists. After all, it is the child events and alert state changes that trigger the Percentage Based Threshold evaluation. To ensure that the Percentage Based Threshold definition is not messed up by traditional propagation, you need to suppress the traditional propagation behavior. There are 2 ways to suppress traditional propagation, those are: Setting propagation threshold to be high so that it will never be reached. However, this only applies to non Critical child objects as Critical child events cannot be masked by threshold. This is achieved by performing SetThresholds function to the business system folder and SetBSPriority to the collected child objects. Setting child objects to have priority of Ignore. This is achieved by applying SetBSPriority function to the child objects. Further enhancement of the Percentage Based Threshold behavior can be achieved by setting different weight of the child objects to influence the specific behavior of Percentage Based Threshold calculation is achieved. Percentage Based Threshold percentage in the condition is then calculated as: (sum of weight of child objects with certain alert state) divided by (sum of weight of all child objects)
64
To summarize the Percentage Based Threshold functions, Table 3-9 shows the functions.
Table 3-9 PBT related functions Functions DefineAndUsePBTs DefineAndUsePBTs DefineAndUsePBTs DefineAndUsePBTs SetThresholds SetThresholds SetThresholds SetThresholds SetThresholds SetThresholds SetBSPriority SetWeights Applied to Business system folder Business system folder Business system folder Business system folder Business system folder Business system folder Business system folder Business system folder Business system folder Business system folder Child object Child object Argument Set Red PBT Clear Red PBT Set Yellow PBT Clear Yellow PBT Red High ChildEvent Red Medium ChildEvent Red Low ChildEvent Yellow High ChildEvent Yellow Medium ChildEvent Yellow Low ChildEvent Ignore weight number
65
In summary, traditional propagation can be affected by the functions shown in Table 3-10.
Table 3-10 Propagation related functions Functions SetThresholds SetThresholds SetThresholds SetThresholds SetThresholds SetThresholds SetBSPriority SetWeights Applied to Business system folder Business system folder Business system folder Business system folder Business system folder Business system folder Child object Child object Argument Red High ChildEvent Red Medium ChildEvent Red Low ChildEvent Yellow High ChildEvent Yellow Medium ChildEvent Yellow Low ChildEvent anything weight number
66
UserIDGroup
The name of user ID group that has the list of user ID that this folder will be assigned. The user IDs are actually defined in the UserIDGroup section.
The AutoCopyEVService allows a business system shortcut to display the Executive View properties of the original business system folder. Table 3-11 summarizes the functions for executive view.
Table 3-11 Executive view functions Functions DefineServicesAndLinkTo EVUser AutoCopyEVService Applied to Business system folder Business system shortcut Argument Executive view attributes User ID group Yes
67
68
enqueueCL
XML document
ImportLOBfromXML
ExportLOBasXML
TBSM database
queryCLtran
69
Business Systems
LOB: Application-eLoan-Primary
Node: AUSAPP01
LOB: ELAUS01
G02M: ELAUS01
LOB: ELAUS02
Node: AUSAPP02
LOB: ELAUSDB01
G02M: ELAUS02
Topology View
Node: AUSESD06
LOB: ELAUSDB01
G02N: ELAUSDB01
LOB: ELAUS01
LOB: ELAUS02
From Figure 3-21, you should see that: Even as the objects in the All resources and Business systems look similar, they are actually different objects. The AppServer (G02M) ELAUS01 in the All Resources tree is not the same object as ELAUS01 in the Business Systems tree. All objects in the business systems tree are made up from the Business Systems object class or called LOB. Historically it is called a Line of business object. The arrows and lines shown in Figure 3-21 represent links defined in IBM Tivoli Business Systems Manager database. You can get the list of link type in the link_type table on the Object database. The links that glue resources in the All resources tree are of the type Physical containment link or in short called PHYC. The links that glue resources in the Business systems tree are of the type of Business systems containment or LOB containment or LOBC. The links that map the physical resources to their business system resources are the LOB logical link or LOBL. The links that shown in the topology view for business system resources are of the type of General link or GENL. Note that physical resources cannot be shown in the topology view with general links.
70
Link
Method
Identifying object
The important first step of working with XML definition is to be able to identify the object that you are working with. This can refer to a current existing object or for a new object to be created. There are several mechanism on identifying object in XML file, those are: The preferred way for object defined through Common Listener interface, this includes the business systems defined using XML toolkit - is using the instance id. This is a unique identifier assigned at creation time; usually referring to the path in All resources tree. The instance ids are stored in the CL_IDCache table. A sample content of the CL_IDCache table is shown in Figure 3-22 on page 72.
71
From Figure 3-22, the appropriate XML definition to identify object LOB/WebServers is shown in Example 3-1.
Example 3-1 Sample instance definition <inst> <class>LineOfBusiness</class> <instid>LOB/WebServers</instid> <name>WebServers</name> </inst>
For objects that are not created through common listener, you have to explicitly specify the object containment path. Depending on whether the object resides on the All Resources tree or Business Systems tree it can be traversing the PHYC or LOBC link. This path ensures the uniqueness of finding the object. As most of the resources for Application Server object are defined using Agent Listener interface, they do not have any instance identifier. Figure 3-23 on page 73 shows the tree for ApacheWebServer1 in manila.
72
To identify the object Web server in manila using the path shown in Figure 3-23, see Example 3-2.
Example 3-2 Example of path <id> <class>G02Ocname</class> <objpath>PiggyBank, Inc./austin/itsc.austin/manila.itsc.austin.ibm.com/ ApacheWebServer1@manila@manila.itsc.austin.ibm.com</objpath> </id>
Manipulating object
The syntax of XML statements for manipulating object are shown in the following list: Adding an object The syntax of adding an object is shown in Example 3-3.
Example 3-3 Adding an object <tbsm:addObjectInstances> <inst> <class>class_name</class>
73
As shown in Example 3-3 on page 73, the object is identified and assigned at least the name. The attribute definitions are optional, you can define one or more attributes in when defining the object instance, otherwise you can add or modify the attribute using the modify directive. You can put more than one instance definition in an addObjectInstances directive. Currently the default behavior is that it only allows putting LineOfBusiness as the class_name, this means that the XML interface or the enqueuecl command only support object manipulation for business system objects. To create non business system object, enqueuecl command must be invoked using an undocumented -r option Flags are attributes that you can define for the business system resources or folders. The following are the available flags: AutoCopyEVService: Defining the folder as executive view Modifying attribute of an object When you need to modify the object, the minimal syntax is shown in Example 3-4.
Example 3-4 Modifying an object <tbsm:modifyObjectInstances> <inst> <class>class_name</class> <instid>assigned_instance_id</instid> <attr> <desc>description</desc> </attr> </inst> </tbsm:modifyObjectInstances>
Modifying the object instances requires you to identify the instance. As an option you can either define it using the instid or objpath directive. Again, you can modify multiple objects in a single modifyObjectInstances directive. Deleting an object Deleting an object is shown in Example 3-5 on page 75.
74
Example 3-5 Deleting an object <tbsm:deleteObjectInstances> <inst> <class>class_name</class> <instid>assigned_instance_id</instid> </inst> </tbsm:deleteObjectInstances>
Link manipulation
The link manipulation, either creation or deletion, follows the following syntax:
link type - source identification - target identification
The source or target identifiers can be identified either by instid or objpath directives. Typically the objpath directive is used to link a newly created business system object using LOBL link to the physical resource in the All Resources tree.
Running method
The methods in XML is the same as functions in ABS. The functions in XML is defined using the syntax in Example 3-7.
Example 3-7 Method definition syntax <tbsm:methodExecution> <methodgroup> <instances> <inst>
75
As shown in Example 3-7 on page 75, methods are assigned to the instances of business systems. These instances are identified using the class and instid directives. Similarly to the ABS functions, these are the available methods: Executive view related methods DefineEVService
<DefineEVService> <DisplayName>string</DisplayName> <ServiceID>string</ServiceID> <BusinessRole>string</BusinessRole> <RedImpact>string</RedImpact> <YellowImpact>string</YellowImpact> <Flags>integer</Flags> </DefineEVService>
DefineServicesAndLinkToEVUsers
<DefineServicesandLinkToEVUsers> <ServiceDef> <DisplayName>string</DisplayName> <ServiceID>string</ServiceID> <BusinessRole>string</BusinessRole> <RedImpact>string</RedImpact> <YellowImpact>string</YellowImpact> <Flags>integer</Flags> </ServiceDef> <UserIDDef> <UserId>string<UserId> </UserIDDef> </DefineServicesAndLinkToEvUsers>
LinkEVUsersToServices
<LinkEVUsersToServices> <EVUsers> <UserId>string<UserId> </EVUsers> </LinkEVUsersToServices>
76
UnlinkEVServices
<UnLinkEVServices> <EVUsers> <UserID>string</UserID> </EVUsers> </UnLinkEVServices>
DefinePBTs
<DefinePBTs> <PBTsToDefine> <PBTID>string</PBTID> <PBTName>string</PBTName> <Relevance>integer</Relevance> <Enabled>string</Enabled> <MinAlertState>string</MinAlertState> <MaxAlertState>string</MaxAlertState> <MinPercentage>string</MinPercentage> <MaxPercentage>string</MaxPercentage> <EventType>string</EventType> <EventName>string</EventName> <EventText>string</EventText> <EventAlertState>string</EventAlertState> <EventPriority>string</EventPriority> <EventFlags>integer</EventFlags> <EventState>string</EventState>
77
</PBTsToDefine> </DefinePBTs>
DeletePBTs
<DeletePBTs> <PBTsToDelete> <PBTID>string</PBTID> <PBTName>string</PBTName> </PBTsToDelete> </DeletePBTs>
GetPBTs
<GetPBTs> <PBTs> <PBTID>string</PBTID> <PBTName>string</PBTName> </PBTs> </GetPBTs>
GetPBTStatus
<GetPBTStatus> <PBTsToStatus> <PBTID>string</PBTID> <PBTName>string</PBTName> </PBTsToStatus> </GetPBTStatus>
UsePBTs
<UsePBTs> <PBTs> <PBTID>string</PBTID> <PBTName>string</PBTName> <Action>integer</Action> </PBTs> </UsePBTs>
ResetThresholds
78
<ResetThresholds> </ResetThresholds>
SetWeights
<SetWeights> <NewWeight>integer</NewWeight> </SetWeights>
SetBSPriority
<SetBSPriority> <Value>string</Value> </SetBSPriority>
SetSendStateChangeEvent
<SetSendStateChangeEvent> <StateChange>[0|1]</StateChange> </SetSendStateChangeEvent>
79
</tbsm:addObjectInstances> <tbsm:addLinkInstances> <link> <type>LOBC</type> <src> <id> <class>LineOfBusiness</class><instid>LOBC/WebServers</instid> </id> </src> <tgt> <id> <class>LOBC</class><instid>LOBC</instid> </id> </tgt> </link> <link> <type>LOBC</type> <src> <id> <class>LineOfBusiness</class> <instid>LOBC/WebServers/ApacheWebServer1@bangkok</instid> </id> </src> <tgt> <id> <class>LineOfBusiness</class><instid>LOBC/WebServers</instid> </id> </tgt> </link> <link> <type>LOBL</type> <src> <id> <class>G02Ocname</class> <objpath>PiggyBank, Inc./austin/itsc.austin/bangkok.itsc.austin.ibm.com/ ApacheWebServer1@bangkok@bangkok.itsc.austin.ibm.com</objpath> </id> </src> <tgt> <id> <class>LineOfBusiness</class> <instid>LOBC/WebServers/ApacheWebServer1@bangkok</instid> </id> </tgt> </link> </tbsm:addLinkInstances>
Loading the XML definition shown in Example 3-8 on page 79 using the enqueuecl command is shown in Example 3-9.
Example 3-9 Loading XML file $ enqueuecl.ksh -t bulk -f C:/test1.xml -s pretoria -p 8082 -ww GTMCL5209I: Initializing transport adapter. GTMCL5210I: Transport adapter initialization complete. GTMCL5211I: Registering with TBSM. GTMCL5212I: Registration complete, sessionId: TBSM_LOCAL.XMLtoolkit-pretoria--1050481452-0000000102.
80
GTMCL5215I: Begin Discovery: bulk: TBSM_LOCAL.XMLtoolkit-pretoria--1050481452-0000000102. TBSM_LOCAL.XMLtoolkit-pretoria--1050481452-0000000102 Type: bulk GTMCL5216I: addObjectInstance TBSM_LOCAL.XMLtoolkit-pretoria--1050481452-0000000102 GTMCL5216I: addLinkInstance TBSM_LOCAL.XMLtoolkit-pretoria--1050481452-0000000102 GTMCL5216I: sendAddObjectInstance TBSM_LOCAL.XMLtoolkit-pretoria--1050481452-0000000102 GTMCL5216I: sendAddLinkInstance TBSM_LOCAL.XMLtoolkit-pretoria--1050481452-0000000102 GTMCL5216I: commitDiscovery TBSM_LOCAL.XMLtoolkit-pretoria--1050481452-0000000102 GTMCL5216I: unregistration TBSM_LOCAL.XMLtoolkit-pretoria--1050481452-0000000102 GTMCL5200I: The request for transaction "4267" has been queued to TBSM.
As shown in Example 3-9 on page 80, the load is send successfully. As we are using a very-very verbose option (-ww), we can see a lot of messages. The transaction ID is 4267 as seen in message GTMCL5200I. The status of the transaction can be retrieved using the querycltran command, as shown in Example 3-10.
Example 3-10 Checking the status of XML transaction $ querycltran.ksh -t 4267-s pretoria -p 8082 GTMCL5236I: The current state of the transaction is 5.
81
82
Chapter 4.
83
There are two levels of executive dashboard users, the Executive and Executive IT. Figure 4-2 on page 85 shows the different information made available to each user. The dashboard on the left is for the executive user and shows service status. The dashboard on the right is for the IT executive and shows details about the affected resource.
84
Executive User
IT Executive User
This view is dubbed executive view as this is typically fitting for executives to get a glance of their business status in terms of IT. However, this interface also appealing for view only usages on business entity that serves for getting the alarm out quickly when an outage happen. This allows the use of IBM Tivoli Business Systems Manager executive view beyond the executive display. The following are some sample usages of Executive view and examples of criteria for a business system entity that can be designated as Executive view. The executive view users can be mapped with the business system folder using the executive dashboard view shown in Figure 4-3 from a Java console.
85
The executive view allows the following: Quick at-a-glance status of entities Getting service level status of business system Creation of custom interface for displaying status
86
Once this has been performed, new Java console session has a new Executive dashboard configuration in the property page dialog for a business system folder object. The executive dashboard configuration page is shown in Figure 4-5 on page 88.
87
In Figure 4-5, the following fields are the important parts of the definition: Name of Service: This is the service name, which is addressable for the API. The Name of Service should be unique. Service Identifier: This is the service ID field from IBM Tivoli Service Level Advisor. This should be a unique ID from IBM Tivoli Service Level Advisor that you retrieve from Svc_Offering table in DYK_CAT database. See Chapter 5, Policy-driven batch management on page 115 Business Role of Service, Business Impact for Red Alerts, Business Impact for Yellow Alerts: These are all text only field that will be displayed in the executive dashboard services menu as shown in Figure 4-2 on page 85. SLA supported: This is a flag used to identify that IBM Tivoli Service Level Advisor information is collected from the Service ID mentioned. All definition of executive view contains these fields.
88
DefineServicesAndLinkToEVUsers.ksh Assigning executive view definition for a business system folder and allocating the view for users LinkEVUsersToServices.ksh Linking users with executive view UnlinkEVServices.kshUnlinking users from executive view All the above commands has the argument list of: -S -U -P -i -o SQL server machine (optional) SQL server user ID (optional) SQL server password (optional) Input XML file Output XML file
The input XML file is very similar to the XML file section described in XML definition for executive view on page 90. A sample skeleton is shown in Example 4-1.
Example 4-1 Input XML file structure <methodgroupdefinition> <methodgroup> <instances> <inst> <class>LineOfBusiness</class> <instid>LOBC\path</instid> </inst> </instances> <methods> ... </methods> </methodgroup> </methodgroupdefinition>
89
Path
Path Level Name Description FunctionGroup
FunctionGroup
FunctionGroup FunctionName Instance
DefineServicesAndLinkToEVUsers
Instance Flags DisplayName UserIDGroup ServiceID YellowImpact BusinessRole RedImpact
UserIDGroup
Instance UserID
90
DefineServicesAndLinkToEVUsers: Defining a new executive view for a LineOfBusiness object and assign specific user Ids for accessing the service.
<DefineServicesandLinkToEVUsers> <ServiceDef> <DisplayName>string</DisplayName> <ServiceID>string</ServiceID> <BusinessRole>string</BusinessRole> <RedImpact>string</RedImpact> <YellowImpact>string</YellowImpact> <Flags>integer</Flags> </ServiceDef> <UserIDDef> <UserId>string<UserId> </UserIDDef> </DefineServicesAndLinkToEvUsers>
The above XML methods are defined in the context of method execution block as shown in Example 4-2.
Example 4-2 Executing methods <tbsm:methodExecution> <methodgroup> <instances> <inst> <class>LineOfBusiness</class> <instid>LOBC\path</instid> </inst> </instances> <methods> ... </methods> </methodgroup> </tbsm:methodExecution>
91
ITBSMConsoleServer
The API is explained in IBM Tivoli Business Systems Manager Administrators Guide, SC32-9085 in Appendix F. The API is designed to be used in WebSphere Studio Application Development environment. We show a sample J2EE application developed. There are several object classes that are used within the API. These objects and their relationship are shown in Figure 4-8 on page 93.
92
Relationshi p View Record Managed Element View Record Relationshi p View Managed Element View
getBusinessImpact TbsmApi Availability Status Detail View Group getAvailabilityStatusDetails getSLAStatusDetailViewGroup getSLASummary
SLA Status Detail View Group Note View Record Note View
93
dynamic Web page that shows the status of data centers in a US map as shown in Figure 4-9.
3. In the new workspace, create a new Enterprise application using File New Project as shown in Figure 4-11 on page 95.
94
4. The new project wizard opens, select to build a new Enterprise Application and click Next; choose to build a J2EE 1.3 application and click Next. See the dialogs in Figure 4-12 on page 96.
95
5. For the new application, we called our application TIA507 as shown, and clicked Next.
96
6. In the module selection list, click New Module and specify a new Web project. As this sample application only provides a custom status view, it does not contain any other modules. The dialogs are shown in Figure 4-14 on page 98. Click on Finish when done.
97
7. WebSphere Studio Application Developer will generate the project and build any required file system structure for the new J2EE enterprise application with the Web project. We must now import the tbsmapi.jar file from the IBM Tivoli Business Systems Manager CD-ROM. First, we import the tbsmapi.jar into the Utility jar for the enterprise application, right-click the Enterprise Applications TIA507 Utility jar and select Import, see Figure 4-15 on page 99.
98
8. Import the tbsmapi.jar from the File System and put it into the main enterprise application folder as shown in Figure 4-16.
99
9. You also need to define the jar file for building the Web project. Right-click the Web project TIA507Web and select Properties. Go to the Java Build Path and click Add JARs and select the tbsmapi.jar. See the dialogs in Figure 4-17. Click OK.
10.Import the images that you want to use with the Web application, right-click the TIA507Web and select Import. Import the images from File System to the WebContent folder of the TIA507Web as shown in Figure 4-18 on page 101. We use the following images: ussmall.gif red.gif yellow.gif green.gif graphic file for the background image for red status image for yellow status image for green status
100
11.Open the Deployment descriptor for the Web project, right-click the Web Modules TIA507Web and select Open With Deployment Descriptor Editor as shown in Figure 4-19 on page 102.
101
12.In the Deployment Descriptor editor, select the Security tab and add a new Security role called TBSM_API as shown in Figure 4-20 on page 103.
102
13.In the Deployment Descriptor editor, select the Servlet tab and click New to build a new Servlet, see Figure 4-21 on page 104.
103
14.We call our new Servlet TBSMServlet and create the doPost and doGet methods with the URL mapping to TBSMServlet as shown in Figure 4-22 on page 105.
104
15.Set the RunAs property for the TBSMServlet to the TBSM_API role. This tells the J2EE container running the client Web application that when running an EJB for this client, use the ID defined in the RunAs property. When this application is deployed to WebSphere, the administrator must set the user ID and password. See Figure 4-23 on page 106.
105
106
The doPost and doGet method is the default method body that call buildTBSMView method as shown in Example 4-4.
Example 4-4 The doPost and doGet methods public void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { buildTBSMView(req, resp); } public void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { buildTBSMView(req, resp); }
Initialization method to acquire hostname and port from system property information as shown in Example 4-5. The required properties are: pigbank.host pigbank.port pigbank.tbsmejb hostname for console server IIOP port number, default is 2809 API class EJB
Example 4-5 Initialization method public String bootstrap_host; public String bootstrap_port; public String tbsm_ejb_name; public void init() throws ServletException { super.init(); bootstrap_host = System.getProperty("pigbank.host","pretoria.itsc.austin.ibm.com"); bootstrap_port = System.getProperty("pigbank.port","2809"); tbsm_ejb_name = System.getProperty("pigbank.tbsmejb", "ejb/com/ibm/tbsm/api/030100/main/ITBSMAPIMainHome"); }
As indicated, the main processing logic is contained in the buildTBSMView method. The overall pseudo-code for the method is shown in Figure 4-24 on page 108.
107
Generate HTML headers Initialize TBSM api call Get Executive View resources
From Figure 4-24, lets analyze each processing logic in the following sections. The method header is shown in Example 4-6. This is a standard processing header for a Servlet invocation. It conforms to the doPost and doGet method that calls them.
Example 4-6 Header for buildTBSMView method public void buildTBSMView(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
Initialize the processing context logic as shown in Example 4-7. The initialized variables are: outText env PROVIDER_URL StringBuffer that will contain the HTML code HashTable with the context defined The URL for the IBM Tivoli Business Systems Manager Console server
Example 4-7 Initialize the context StringBuffer outText = new StringBuffer(); InitialContext ic;
108
Create HTML header as shown in Example 4-8. In this header, we requested an automatic refresh every 10 seconds. The background map is defined in a division.
Example 4-8 HTML header outText.append("<HTML>\n"); outText.append("<HEAD><TITLE>Sample TBSM View</TITLE></HEAD>\n"); outText.append("<BODY>\n<META http-equiv='refresh' content='10'>\n"); outText.append("<H1>PiggyBank System Report</H1></BODY>\n"); // draw USA map outText.append("<DIV id='usa' style='position:absolute; left:10;"); outText.append(" top:60; z-index:1'>"); outText.append("<IMG SRC=usasmall.gif border=1></DIV>\n");
The API processing is build within a try - catch block to anticipate any error in the processing. In the case of error, the page will show the stack trace of the exception. The code for the catch block is shown in Example 4-9.
Example 4-9 Try and catch block try { . . . } catch (Exception e) { e.printStackTrace(resp.getOutputStream()); }
After the API has been initialized, we start to get into the statusView using the method shown in Figure 4-25 on page 110.
109
getRelationship
List
getManagedElement
ManagedElementView
t getS
Vie atus
StatusView
Process each managed elements and check its svcName field. If the svcName matches either Austin, NewYork or LosAngeles, an icon will be put in the output HTML code as shown in Example 4-12.
Example 4-12 Comparing and processing service names // 1: Prepare comparator item // ManagedElementComparator mecomp = new ManagedElementComparator(); statusView.prepareForIterateBy(mecomp); IManagedElementRecord curME; for (int i=0; i<mes.size(); i++) { // 2: For each element in the statusView curME = (IManagedElementRecord)mes.get(i); // // 3: Get the AlertState //
110
StatusView.Record svRecord; svRecord = statusView.getStateRecord( StatusRecordTypeEnum.AVAILABILITY_ALERTSTATE, curME); int aState = 0; if (svRecord!=null) aState = svRecord.getnormalizedState(); // // 4: Find image file name based on AlertState // String imgName; switch (aState) { case 0: imgName = new String("icon_unknown.gif");break; case 1: imgName = new String("icon_green.gif");break; case 2: imgName = new String("icon_yellow.gif");break; case 3: imgName = new String("icon_red.gif");break; default: imgName = new String("icon_unknown.gif"); } // // 5: Get the coordinates for certain services // int x = 0; int y = 0; String svcName = new String(curME.getName()); if (svcName.equals("Austin")) { x = 208; y = 174+50; } else if (svcName.equals("LosAngeles")) { x = 49; y=139+50; } else if (svcName.equals("NewYork")) { x = 382; y = 85+50; } if ((x>0) & (y >0)) { // // 6: If coordinates are filled, output the HTML code // outText.append("<DIV id='"+svcName+"' style='position:absolute;"); outText.append("left:"+x+"; top:"+y+"; z-index:5'>\n"); outText.append("<IMG SRC="+imgName+"></DIV>\n"); } }
Close the HTML code and send the HTML back is shown in Example 4-13.
Example 4-13 Close HTML and send the page back outText.append("</HTML>\n"); resp.getOutputStream().print(outText.toString());
111
We provide the sample EAR file as additional material, refer to Appendix A, Additional material on page 245. The EAR file that we provide contains the Java source code. 2. Open WebSphere Application Server administration console and select Application Install New Application. Note that we install the application on a separate WebSphere Application Server from the Console Server. This is to avoid running in secure mode as required by the Console Server application. 3. Follow the mapping process wizard ensure you map the application to the correct application server and virtual host. Supply any necessary RunAs user ID with a user ID that you will define in the Console server for TBSM_API role. 4. Define a new user ID at the IBM Tivoli Business Systems Manager console server user registry that have access to the TBSM_API role. a. Create a new group called TBSM_API and assign a user ID to TBSM_API group. For example apiuser. b. From the administration console of the Console Server, select Application Enterprise Application and select ITBSMConsoleServer c. Go to the Additional Property and select Security d. Put in the TBSM_API role for TBSM_API group 5. We are using a development system scheme that allocate a predefined user ID for all access. This may not fulfill the security requirement for your setting, you can define a secure application in WebSphere as indicated in the IBM Tivoli Business Systems Manager Administrators Guide, SC32-9085 but this is outside the scope of our redbook. The following is the procedure that we use: a. From the Security menu, select Configure CSIv2 Outbound Authentication b. In the configuration page, enable Identity Assertion and configure Client Certificate Authentication to be supported, see Figure 4-26 on page 113.
112
c. Save the configuration changes. Stop the server and restart it. 6. Now for the newly deployed application, there are several variables that must be defined in WebSphere. Go to the Environment Manage WebSphere Variables and create the following variables: pigbank.host pigbank.port Hostname of the Console Server Port number for IIOP server
7. Save the WebSphere configuration and restart the WebSphere process. 8. You can access the application using the URL:
http://host:port/TIA507Web/TBSMServlet
113
114
Chapter 5.
115
116
Domain Manager
Domain Manager Domain Manager Domain Manager Fault Tolerant Agent Fault Tolerant Agent
5.1.2 Terminology
In IBM Tivoli Workload Scheduler, there are these terms: Database Objects Files contains scheduling objects definition. Scheduling resources that are defined in the database, see the description in 5.1.3, Scheduling resources on page 118.
117
Plan
Compiled work plan for daily jobs, it is derived from the database objects. It is sometimes called the Symphony file. The occurrence of workload from the database in the plan. The 24-hour period that covers the to-do list in the plan. The start of production day. The command or job that compiles the database objects into plan instances. This job runs at the end of production day to define the work for the next production day.
Resource Job Calendar JNextDay Symphony file Workstation Job stream Production day
Database
118
This is a collection of jobs that can be scheduled using the same scheduling rule. Also called Schedule. Scheduling rule that is used by job stream to determine when the job stream can be scheduled. This represents file resources that can be used for jobs dependency. This represents resource that held the jobs to be manually answered to run. This represents a generic resource that is used for job dependency. This represents the substitution of job commands. This represents Windows user ID and password.
119
The following are the terms related to service level management: Customer Is the service consumer that represent the entity that the receive IT services. An example will be the eLoan department in PiggyBank, Inc. A group of customers that shares a common authentication group. A realm can consists of multiple customers, which represent different departments within a corporation. This may be the PiggyBank, Inc. A set of measurable services that are given by the provider for building service level objective. The key for offering is that the services must be measurable or quantifiable so an target number (objective) can be assigned and measured against it. The offering may be Web server number of request, or response time of the Web transaction. A set of time lapses that has a uniformed service need for a customer. The whole processing may be made of different schedules, each of which represent different processing needs, such as prime time, batch or continuous operation. This represent IT resources that can be matched to an offering. This can be the Web application server that runs the eLoad application, such as ELAUS01.
Realm
Offering
Schedule
Resource
Service level objectiveThe performance and/or availability objective for resources. This represents a set of: resource, offering, schedule and target level. An example is: response time of Web transaction on ELAUS01 under 5 seconds on prime schedule. Service Level Agreement A formalized service level objectives that has been agreed over by the service provider and service consumer. The service level management can be achieved using IBM Tivoli Service Level Advisor. In 5.2.2, IBM Tivoli Service Level Advisor architecture on page 120, we will see how IBM Tivoli Service Level Advisor works.
120
Target ETL
TWH_CDW
TWH_MART
TWH_MD
Tivoli Data Warehouse is a Tivoli extension of DB2 Data Warehouse system. There are several databases that are used by Tivoli Data Warehouse: TWH_MD Contains the processing metadata for Tivoli Data Warehouse, the database is owned by the Warehouse Server (vwkernel) process. Central data warehouse repository, in which all Tivoli systems management information are collected in this database. This database contains both the measurement metadata (what is measured, what are the resource types and their relation) and also the measurement result in the MSMT table. Reporting repository for Tivoli Data Warehouse, for which data is populated from the central data warehouse to provides specific answers for a system management questions.
TWH_CDW
TWH_MART
Tivoli Data Warehouse utilizes a processing called Extract Transform Load (ETL) to transfer data from one database to another. The ETLs are defined in the TWH_MD database. Tivoli Data Warehouse defines two sets of ETL process: The source ETL transfers data from the source database into the central data warehouse. The target ETL that extract data from the central data warehouse into the reporting database. The ETL processing are loaded and can be scheduled to run regularly. Each set of ETLs, tables and definitions for a certain system management application is grouped into a module called Warehouse Enablement Pack (WEP). Each WEP
121
has a three-characters code, which is called availability code or AVA-code. The AVA-code is used as table creator, ETL process name prefix, report identifier and database pointers. IBM Tivoli Service Level Advisor AVA-code is DYK. It uses DB2 warehouse processing based on Tivoli Data Warehouse ETLs. The processing of IBM Tivoli Service Level Advisor is shown in Figure 5-4.
DYK ETL
TWH_CDW
DYK_DM
DYK_CAT
IBM Tivoli Service Level Advisor extracts measurement information from Tivoli Data Warehouse central data warehouse repository and stores them in its own DYK_DM database. The IBM Tivoli Service Level Advisor service runs to compare measurement data in DYK_DM with the service level objective. The service level objectives and other administration information are stored in the DYK_CAT database. IBM Tivoli Service Level Advisor has two Web-based interface, the Administration interface and the Reporting interface. The administration interface provides the ability to manage realms, customers, offerings, schedules and Service Level Agreements. The reporting interface shows the published Service Level Agreement status and attainment.
122
So u
rc e
ET L
Customer structure We generate the following customers for PiggyBank, Inc.: Web banking Finance Human Resource Marketing Warehouse system
Schedule For PiggyBank, Inc, we define the following schedules: Work hours: 8:00 AM - 18:00 PM on workday Off hours: 18:00 PM - 8:00 AM on workday and all weekends All times: all the times Offering structure The offerings are shown in Table 5-1.
Table 5-1 Offering structure Name Web application Schedule All times Measurement Response time Transaction volume Availability Response time Transaction volume Availability Number of jobs Jobs in Error Jobs delay
Work hours
Batch system
Off hours
Service Level Agreement The Service Level Agreement is made by assigning offering to customer with resource and target assignment. The assignment is shown in
Table 5-2 Service Level Advisor Customer Web Services Offering Web application Resource EL* EB* Target Response time < 4 sec Transaction volume<100/min Availability>98%
123
Customer Finance
Resource FIN*
Target Response time < 4 sec Transaction volume<100/min Availability>98% Num of jobs<100 jobs/day Num of errors<5 errors/day Job delay<1 min delay Response time < 4 sec Transaction volume<100/min Availability>98% Num of jobs<100 jobs/day Num of errors<5 errors/day Job delay<1 min delay Response time < 4 sec Transaction volume<100/min Availability>98% Num of jobs<100 jobs/day Num of errors<5 errors/day Job delay<1 min delay Response time < 4 sec Transaction volume<100/min Availability>98% Num of jobs<100 jobs/day Num of errors<5 errors/day Job delay<1 min delay
Marketing
MKT*
Human Resource
HRA*
Warehouse system
WHA*
In PiggyBank, Inc. the first implementation is to get service level for Batch job systems. This will be shown in 5.4, Service level for IBM Tivoli Workload Scheduler on page 130.
124
(3.1.0.0-TIVBSM-IF0006). It also requires IBM Tivoli Workload Scheduler at Fix Pack 0005 or above. The intelligent adapter supplied with IBM Tivoli Workload Scheduler in tbsm subdirectory is obsolete and should not be used. To set up the intelligent adapter, you need to modify the following files: DB_Server.conf: This configuration file provides access information to IBM Tivoli Business Systems Manager Microsoft SQL Server. This file is a temporary file which will be encrypted using the DBServerEncryptor command that generate _DB_Server.conf file. Our sample configuration file is shown in Example 5-1.
Example 5-1 Sample DB_Server.conf [ADAPTER DRIVER] Server=pretoria User=sa Password=XXXX JdbcUrl=jdbc:microsoft:sqlserver:// JdbcClass=com.microsoft.jdbc.sqlserver.SQLServerDriver
localadapter.config: This represent the local Common Listener adapter configuration file. You need to identify both the local machine and the Common Listener server here. An excerpt of the file is shown in Example 5-2. The one in bold are the values that we customize.
Example 5-2 Sample localadapter.config adapter.type adapter.working.dir = LocalAdapter = ./log
adapter.register.timeout = 300 soap.envelope = <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlso ap.org/soap/envelope/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/e ncoding/">\n\t<SOAP-ENV:Body> loggingmode.default loggingmode.filename = false = BaseTestLogging.log
125
adapter.trace.level = high transport.trace.level = high adapter.xml.validation = false # transport base properties transport.class.name = com.tivoli.commonlistener.transport.mqe.client.ClientTransportMQe transport.local.ip.address transport.request.address transport.request.port transport.response.address transport.response.port # MQe transport properties # queue store: these key can be "file", "memory" or "reduced" transport.mqe.local.queue.store = file transport.mqe.remote.queue.store = file transport.mqe.usefiller = false transport.mqe.fileregistry = com.ibm.mqe.registry.MQeFileSession transport.mqe.maxchannels = 1 # Time interval for the triggering thread. (Defalut = 10) transport.mqe.triggering.interval = 10 # server transport.server.mqe.address = ServerQM+ServerQ transport.server.mqe.port = 8082 transport.server.ip.address = pretoria = = = = = phoenix phoenix.BASETEST.QM+BASETEST.Q 9890 phoenix.BASETEST.QM+BASETEST.Q 9890
DriverPlugIns.conf: Configuration for the intelligent adapter definition, including the predefined enterprise name. See Example 5-3.
Example 5-3 Sample DriverPlugIns.conf [PLUG IN] PluginName=TWS CycleTime=120 MaxSecBack=-1 Enterprise=PiggyBank, Inc. #C1=---- COLLECTOR DATA ---CollectorMode=inline CollectorClassPath=. CollectorClassName=com.ibm.tbsmadapter.TWSCollector #C2=---- TOKENIZER DATA ----
126
AdapterEnv.conf: Configuration on event types and property field mapping. The only item to be customized here is the IBM Tivoli Workload Scheduler instance. See Example 5-4.
Example 5-4 Sample AdapterEnv.conf [Adapter Env] ipnw_name_default=UNKNOWN sep=$(space) term=~ singlequote=_ prefix=W Hostname=phoenix TWSInstance=maestro event_receiver_port=3333 s_1=Active/Inactive s_2=BATC_Held s_3=Running s_4=Unknown s_5=Abended s_6=Completed s_7=BATC_Cancelled s_8=Pending s_9=Unknown s_10=Unknown s_11=Unknown s_12=Unknown s_13=Abended s_14=Unknown s_15=Unknown s_16=Starting s_17=Unknown s_18=Unknown s_19=Unknown s_20=Unknown s_21=Unknown s_22=Unknown s_23=Abended s_24=Pending s_25=Pending prop_1=CurrEstComplete
127
prop_2=StartTime prop_3=StopTime prop_4=Duration prop_5=TerminatingPriority prop_6=KeyStatus prop_7=Name prop_8=InitEstComplete prop_9=EstDuration prop_10=EstStartTime prop_11=InitiatingPriority prop_12=SchedStartTime prop_13=OPCWorkstationId prop_14=SchedDuration recov_1=stop recov_2=stop after recovery job recov_3=rerun recov_4=rerun after recovery job recov_5=continue recov_6=continue after recovery job recov_10=this is the rerun of the job recov_20=this is the run of the recovery job k_0=Nonkey k_1=Key
TWSConf.conf: This configuration shows there the event log file for IBM Tivoli Workload Scheduler is stored the default is under the IBM Tivoli Workload Scheduler home directory. See Example 5-5.
Example 5-5 Sample TWSConf.conf [TWSConf] eventlog=C:/win32app/TWS/maestro/event.log dumpfile=./dumpedpointer
$TWS_HOME/config/BmEvents.conf: You need to instruct batchman to write to an external event log from this file. Our sample excerpt is shown in Example 5-6.
Example 5-6 Sample BmEvents.conf OPTIONS=MASTER LOGGING=ALL FILE=C:\WIN32APP\TWS\maestro\event.log
The intelligent adapter for IBM Tivoli Workload Scheduler is now ready to be started. It should be running as a service called Tivoli BSM Intelligent Monitor for TWS.
128
Opening the batch schedule set gives the batch management dialog shown in Figure 5-6 on page 130.
129
The dialog has three areas: List of batch engines; when you select an engine, it shows List of batch schedules or job stream, when you select a job stream, it shows List of batch jobs When a batch job is indicated to be monitored and is in the critical path the flag is shown in IBM Tivoli Business Systems Manager.
130
display the Service Level information for batch processes running in our Piggybank environment. The discussion is divided into: 5.4.1, Batch interface to Tivoli Data Warehouse on page 131 5.4.2, Setting up IBM Tivoli Service Level Advisor on page 133 5.4.3, Defining Batch system in IBM Tivoli Service Level Advisor on page 135
TWS database
archiver
TWH_CDW
Source ETL
tws_launch_archiver.pl
temp files
DB2 load
AWS.*
IBM Tivoli Workload Scheduler sends batch information to IBM Tivoli Business Systems Manager using Common Listener. IBM Tivoli Workload Scheduler also feeds data into Tivoli Data Warehouse that later turns into Service Level Information. These are the steps that we need to perform for collecting IBM Tivoli Workload Scheduler data: 1. Assuming that Tivoli Data Warehouse and IBM Tivoli Service Level Advisor are correctly installed. We install the IBM Tivoli Workload Scheduler Web enablement pack. The AVA-code for IBM Tivoli Workload Scheduler is AWS. 2. We modify the tws_archiver_unload.pl to indicate the database server and its location. We schedule in IBM Tivoli Workload Scheduler to run the tws_launch_archive.pl every morning at 7:00 AM. Assuming that the
131
scheduler day starts at 6:00 AM, then at 7:00 AM, JNextDay has been successfully executed. The script load a day worth of batch information to the temporary database tables in DB2. 3. We schedule the Source ETL for IBM Tivoli Workload Scheduler to run on 8:00 AM to make sure that all archiving process has been done. The ETL can be scheduled from the Data Warehouse Center, which is invoked using the command db2cc -c dwc. Expand the tree Subject Areas to the IBM Tivoli Workload Scheduler process as shown in Figure 5-8.
The ETL schedule can only be changed when the process is in development mode. Right-click and select Mode Development. Right-click again and select Schedule to modify the schedule as shown in Figure 5-9 on page 133. Note that you only need to schedule the step: AWS_c10_s040_LoadComp, as the other process steps would be run depending on this step.
132
When the ETL has been scheduled, we can set it back to production state using Mode Production. 4. We then schedule the IBM Tivoli Service Level Advisor ETL to run every morning at 10:00 AM to make sure that all the Source ETLs has been completed loading yesterdays data. This is similar to scheduling the AWS ETL.
133
Measurement Source Code: BWM Application Name: Tivoli Web Services Manager Flag: N Measurement Source Code: APF Application Name: Tivoli Application Performance Management Flag: N Measurement Source Code: DMN Application Name: Distributed Monitoring Classic Edition Flag: N Measurement Source Code: GTM Application Name: Tivoli Business System Manager Flag: Y Measurement Source Code: ECO Application Name: Tivoli Enterprise Console Flag: N Measurement Source Code: MODEL1 Application Name: Tivoli Common Data Model v1 Flag: N Measurement Source Code: AMW Application Name: IBM Tivoli Monitoring Flag: Y Measurement Source Code: GWA Application Name: ITM for Web Infrastructure:Apache Flag: Y
2. You can add AWS as a new measurement source as shown in Example 5-8.
Example 5-8 Adding IBM Tivoli Workload Scheduler measurement C:\TSLA> scmd etl addApplicationData AWS "IBM Tivoli Workload Scheduler" DYKET1516I Data from IBM Tivoli Workload Scheduler with code AWS has been successfully enabled for registration into the SLM environment. C:\TSLA> scmd etl enable AWS DYKET1502I The application has been enabled.
3. Load the metadata for AWS. This is performed using the Data Warehouse Center. In Windows platform, the Data Warehouse Center is invoked using the command db2cc -c dwc. Select Warehouse Work In Progress and then Work In Progress Run new Step to run the step
134
DYK_m05_Populate_Registration_Datamart_Process, or also commonly known as registration ETL. 4. Set IBM Tivoli Enterprise Console to receive IBM Tivoli Service Level Advisor events. Load also the sample ruleset to forward SLA information to IBM Tivoli Business Systems Manager using the tbsmtsla.sh that is provided with the Event Enablement installation. 5. Enable escalation from IBM Tivoli Service Level Advisor to IBM Tivoli Enterprise Console. This is achieved by setting the IBM Tivoli Enterprise Console server name and port number using the CLI as shown in Example 5-9.
Example 5-9 Setting up TEC escalation C:\TSLA> scmd escalate enable tec -server phoenix -port 5529 Command completed successfully. C:\TSLA> scmd escalate enable applicationEvent Command completed successfully. C:\TSLA> scmd escalate TECLogging true Command completed successfully. C:\TSLA> scmd escalate test
The last command in send 4 sample events to IBM Tivoli Enterprise Console with the class of: SLM-Application-Event SLA-Trend-Event SLA-Trend-Cancel-Event SLA-Violation-Event This validates whether IBM Tivoli Enterprise Console can receive IBM Tivoli Service Level Advisor events.
135
The following procedure defines those objects using the SLM administration interface. 1. Define batch management offering using the SLM administration interface. Our IBM Tivoli Service Level Advisor server is phoenix, therefore the URL to get to the SLM administration page is:
http://phoenix:9080/SLMAdmin
2. We create a schedule to cover the whole day, as batch processes Service Level Agreement are usually does not differentiated by periods. The we choose Create Schedule from the My Work area. a. The schedule creation wizard is started. Click Next on the Welcome page. b. In the Name Schedule dialog shown in Figure 5-11 on page 137,fill in the name and click Next.
136
c. In the Select Schedule Type, we define a new business schedule and click Next. See Figure 5-12 on page 138.
137
d. You can include other auxiliary schedule, we do not include any so we just click Next in the Include Auxiliary Schedule dialog e. We can define new period in the Define Period dialog, click Create to invoke the period creation dialog. See Figure 5-13 on page 139.
138
f. In the Create Period dialog, we specify a daily 24 hours rage as shown in Figure 5-14 on page 140. Click OK.
139
g. Click Next from the Define Period dialog shown in Figure 5-13 on page 139, you get the Schedule Summary dialog shown in Figure 5-15 on page 141. Click Finish to save the schedule.
140
3. Back in the Welcome screen, we can now create an offering. Select Create Offering from the My Work area. a. Click Next from the Welcome dialog and proceed to the Name Offering dialog shown in Figure 5-16 on page 142. Put in the name and click Next.
141
b. In Figure 5-17 on page 143, we select an external SLA and then click Next.
142
c. When asked to include other SLA, as this is the first SLA we created, we can just press Next. In Figure 5-18 on page 144, we select the business schedule we create in step 2 on page 136. Click Next.
143
d. In the include component dialog in Figure 5-19 on page 145, click Add. This will determine which metrics will be included in this offering and what are the threshold that the metric will be evaluated on.
144
e. The components that can be added for IBM Tivoli Workload Scheduler are Workload Scheduler Job and Workload Scheduler Job Stream as shown in Figure 5-20. You need to find the appropriate branch for the Workload Scheduler resource type.
145
f. The next screen is the metrics that you want to be included. Click on Add to include the metric from the metric list shown in Figure 5-21.
g. The job related metrics dialog series are shown in Figure 5-22 on page 146. First, we specify the metrics, then the breach value and the evaluation frequency.
146
h. Similarly, the metrics that are available for the Job stream resource is shown in Figure 5-23.
i. After you completed specifying the resources and metrics, the offering summary as shown in Figure 5-24 allows you to save the offering. Click Finish to save.
147
4. Realm and customer can be created to define the PiggyBank, Inc. customer. We only create a realm called All. Use the Create Realm selection from My Work area and define the realm as shown in Figure 5-25 on page 148.
148
5. Create a customer using the Create customer from My Work area. This give a welcome screen. Click Next to get to the Name Customer dialog shown in Figure 5-26.
Customer may belong to one ore more realm, we select the realm as shown in Figure 5-27.
149
And you can save the customer from the summary dialog shown in Figure 5-28 and click Finish.
6. The last step is to associate an offering with a customer. This association is in the form of Service Level Agreement. The association binds an offering with a
150
customer and provides Filtering option for resource name that should be used for comparison in Service Level evaluation. Perform the following to create an SLA: a. In the MyWork area, select Create SLAs. b. In the Name SLA panel shown in Figure 5-29, name the SLA and optionally provide a description. Click Next.
c. In Figure 5-30 on page 152, select an existing customer to be associated with the SLA. Click Next.
151
d. Assign a service for the Service Level Agreement. This is an optional property. However, this property is used for the IBM Tivoli Business Systems Manager integration to indicates which Executive View object will be associated with the event. The service selection is shown in Figure 5-31. These service objects are loaded from the IBM Tivoli Business Systems Manager ETL.
152
e. In the Select Offering panel shown in Figure 5-32, select the offerings to be part of the SLAs definitions. Click Next.
f. In the Include Resources panel, click Add to add the resources. g. In the Select Resource List Type panel shown in Figure 5-33 on page 154), define the type of resources to add to the SLA. The Dynamic Resource List is used to group resources and create filter. Static resources are used for particular resources that are to be added. Click Next.
153
h. In the Filter Resource panel shown in Figure 5-34 on page 155, create a filter so that only relevant resources are listed. Select the attribute, condition, and value for the filter. For example, for Attribute, select Name; for Condition, select Contains; and for Value, select Trade. Click Next.
154
i. The resources are displayed and you can select them to be included in the SLA definition. You can add or change resources in this panel. The resources must be defined to every metric used in the SLA. For example, our UserExperience offering has two metrics defined. In this case, resources must be assigned to both metrics. Figure 5-35 on page 156 shows the resources included for the first metric in the offering. Click Next.
155
j. The Select SLA Start Data panel (Figure 5-36 on page 157) is displayed. The start date of the SLA is used to evaluate the previous monitoring data to verify the SLOs instantaneously. If there is no data, choose the default date (the current date). Optionally select the time zone for the SLA to be evaluated. Click the Recalculate the First Evaluation button to refresh the first evaluation date depending on the SLA start date. Figure 5-36 on page 157 shows the details used in the UserExperienceSLA definition.
156
k. The summary of the SLA creation is displayed. Click Finish to complete the SLA creation. If the SLA start date is an earlier date, the SLA evaluates it immediately. See Figure 5-37 on page 158.
157
158
Example 5-10 Content of TEDW C:\win32app\TWS\maestro\TEDW>dir Volume in drive C has no label. Volume Serial Number is 3089-3BAD Directory of C:\win32app\TWS\maestro\TEDW 08/15/2005 08/15/2005 08/15/2005 08/15/2005 08/15/2005 10:07a <DIR> . 10:07a <DIR> .. 12:18p 1,056 Cpus 12:18p 1,568 Jobs 12:18p 198 Scheds 3 File(s) 2,822 bytes 2 Dir(s) 27,976,634,368 bytes free
The file is formatted to be load to a relational database. The tws_launch_archiver.pl save the data into TWH_CDW database with the creator of AWS. The list of tables is shown in Figure 5-38.
159
This TEC event is forwarded using the Agent Listener interface to IBM Tivoli Business Systems Manager. As IBM Tivoli Business Systems Manager identify the Service ID to correspond with an Executive View entry, it processes and stores the event for displaying in the dashboard. The event detail is shown in Figure 5-40 on page 161.
160
161
Displaying the Service Level information is shown in Figure 5-42 on page 163.
162
To confirm this information, we can check the SLM report Web page at:
http://kingston:9080/SLMReport
163
164
Chapter 6.
165
6.1.1 Terminologies
These key terms are introduced to give a context and common vocabulary: Workflow A series of steps that are sequentially executed to accomplish a particular task. A step in a workflow is called a transition. Each workflow has a single compensating workflow that is executed if any transition fails. Also referred to as TC driver, device driver, or simply driver, an automation package is a collection (or a container) of commands, shell scripts, workflows,
Automation package
166
logical operations, and Java plug-ins that applies to the operation of one specific type of software component or a physical device. It contains a grouping of tasks that corresponds to a physical or logical device. These tasks typically implement logical operations. A device could be a specific piece of hardware, an operating system, a service, or a cluster.
Logical operation A task that is abstracted from its implementation. Logical operations are implemented using Enterprise Java Beans (EJB). They provide a common interface and can perform logic. An example is a data center task of adding an IP address. It is a logical operation in that it makes no assumptions about the implementation. A step in a workflow. This could be another workflow, a logical operation, a simple command, or a Java plug-in. A representation of all of the physical and logical assets under IBM Tivoli Intelligent Orchestrator management.
Transition
Figure 6-1 on page 168 illustrates the relationships between workflows, the Data Center Model, transitions, device models, and more.
Chapter 6. Using IBM Tivoli Intelligent Orchestrator to populate business systems structure
167
Transition
A customer owns applications. Customers can be unique corporations or departments within a single corporation. A grouping of one or more clusters. Service level priority (Silver, Gold, Platinum) is assigned at this level. A grouping or container for like resources or servers that support an application. Automated resource allocation and deallocation occurs at the cluster level. A container of available (deallocated) servers that support one or more application clusters. Also referred to as a spare pool. Data Center Model objects that represent physical servers. They belong to or are assigned to pools and clusters.
Resource pool
Servers
Figure 6-2 on page 169 illustrates the relationship between customers, applications, clusters, pools, and servers.
168
Customer
Clusters acquire resources from pools. (Note: clusters can have servers, too.)
Pools
6.1.2 Architecture
This section introduces components of the IBM Tivoli Intelligent Orchestrator architecture. Figure 6-3 on page 170 depicts a more detailed view of the IBM Tivoli Intelligent Orchestrator component architecture.
Chapter 6. Using IBM Tivoli Intelligent Orchestrator to populate business systems structure
169
Stabilizer
Stable requests
Queries
Resource Managers
W orkloa Classifi Predicto d Model er r APPLICATION CONTROLLER W orkloa Classifi Predicto d M odel er r W orkload Predictor Classifier M ode l
Deployment
JDBC
Requests
JMX Driver
SNM P Driver
SNM P Driver
SSH Driver
MP
DATA CENTER
IBM Tivoli Intelligent Orchestrators architecture includes the following main components: The Data Acquisition Engine is responsible for acquiring and preprocessing performance metric data from each managed application environment. Data can be captured and filtered from the operating system and infrastructure layers. This component can also distribute signals to other components of the IBM Tivoli Intelligent Orchestrator. This component participates in the information-gathering task.
170
SN
SS H
Resource Allocations
Note : This inc ludes a Br e ach Pr obability Dis tr ibution Function of the number of s erv ers alloc ated and time into the f uture
Distributions
Recommendations
Infrastructure Needed
Infrastructure Needed
Infrastructure Needed
B JD C
SN
JM X
M P
An instance of the Application Controller component is created for each application environment under management. Based on the applications workload model and predictions, as well as on real-time performance data (acquired from the Data Acquisition Engine), this component determines the resource requirements of the application. This component provides information to the decision-making task. The Deployment Engine component is responsible for the creation, storage, and execution of repeatable workflows that automate the configuration and allocation of assets. A workflow can represent either an entire reconfiguration process affecting multiple servers or a single step in a larger reconfiguration process. The data center model component represents all of the physical and logical assets under IBM Tivoli Intelligent Orchestrator management, such as servers, switches, load balancers, application software, VLANs, security policies, and service level agreements. It keeps track of data center assets and associated allocations to customer applications. This component participates in cluster visualizing and configuring. The Global Resource Manager receives requirements for servers or network devices from all Application Controllers and manages the overall optimization of data center assets. It has two primary responsibilities: It makes optimal resource allocation decisions. It ensures a stable control over the application infrastructure. This component participates in the decision-making task. Considering the different server requirements for each application environment, it determines where the servers are to be allocated. The management interface provides an overview of the state of all physical and logical assets in the data center infrastructure, offering information about the servers and their allocation, and generating configurations and allocations. It can also be used to create application environments. It includes two user interfaces: a Web-based interface and a command-line interface. To access the Web UI, the following URL syntax is used:
http://<host>.<domain>:<port>/tcWebUI
Chapter 6. Using IBM Tivoli Intelligent Orchestrator to populate business systems structure
171
172
Jobs can be dispatched to many thousands of endpoint targets. The target group composition can be heterogeneous. Figure 6-5 shows a conceptual role of Job Distribution Service.
Event Framework
Event Consumer
Agent Manager
Connector Bundle
Chapter 6. Using IBM Tivoli Intelligent Orchestrator to populate business systems structure
173
Sub-agent Store
Resource Manager
Common Agent
Common Agent
Common Agent
Common Agent
Common Agent
The Common Agent Services consists of: Tivoli Common Agent The common agent consists of a number of services and is a common container for all the subagents to run within. The services are defined in the following sections of this document. Agent Manager The agent manager provides functions that allow clients to get information about agents and resource managers. It also includes the Agent Registration Service, which handles security (certificates), registration and tracking of common agents (and groups of common agents), and status collection and forwarding. The Agent Manager is deployed in a WebSphere Application Server The Subagent Bundle Store The subagent bundle store is a URL or accessible filesystem where you place subagent bundles so they can be installed by the common agents as needed. The groups of subagent bundles are depicted by the subagent store in the above figure. The Common agent provides the following: Provides an extensible platform on which to build functionality based on OSGi.
174
Includes common services (such as, security, and communications) to other services running under the framework. Factoring out common services helps keep the agent footprint small. Security services take care of wire level security, authentication and peer-verification. Peer verification prevents man-in-the-middle attacks, so there are no rogue processes impersonating management systems and taking over agents. Communication services facilitate Web services for agent services. Also handles socket level communications over secure connections In addition to the components provided by the Common Agent Services, the products will each have their own managers (called resource managers) and agents (called subagent bundles) (Green): Resource manager are the Tivoli products manager or server components. Subagent bundles are the Tivoli products agent components. Subagents will be shipped for various Tivoli products. The Tivoli Common Agent installation is provided from the Web interface using the Tasks view, and select Discovery Discovered Servers Install Common Agent as shown in Figure 6-7.
Chapter 6. Using IBM Tivoli Intelligent Orchestrator to populate business systems structure
175
Tip: If you want to use Tivoli Common Agent together with Tivoli Endpoint on a Windows 2000 machine, you need to install Tivoli Endpoint first. You can then install Cygwin and then install Tivoli Common Agent.
176
Development workstation
Intelligent Orchestrator
JDBC type 2
DB2 Client
DB2 Database
Chapter 6. Using IBM Tivoli Intelligent Orchestrator to populate business systems structure
177
Being able to provision servers among resource pool allows customers to align their IT resources to the changing business objectives and priorities. It provides an automated and unattended method to prepare hardware systems to assume new functions. Since the provisioning method is automated, it is less prone to errors and requires operators with lesser skills to implement. This scenario demonstrates policy-based orchestration where IBM Tivoli Intelligent Orchestrator server can sense and respond automatically to changing Web based HTTP application demand.
178
Within our data center model, we have defined one customer called PiggyBanking. Under this customer, we have one application defined the WebBanking application with one server cluster called HttpTiers. We also define 2 resources pools called SpareWinPool and W2kPool. SpareWinPool contains pristine systems with just the OS installed. W2kPool contains window OS system with Tivoli Endpoint and the Tivoli Common Agent pre-installed. It is the overflow pool defined for the HttpTiers cluster. Server bangkok is in this pool and is ready to provision and de-provision. As shown in Figure 6-9, dublin is a dedicated resource to the HttpTiers cluster, while bangkok is ready for provisioning and de-provisioning. The status for servers for a particular customer can be seen in the customer display as shown in Figure 6-10 on page 180.
Chapter 6. Using IBM Tivoli Intelligent Orchestrator to populate business systems structure
179
Adding a server
We assume that the machines in the resource pool already runs Windows Operating Systems, with Tivoli endpoint and Tivoli Common Agent running. To add a server, we need to perform the following tasks: 1. Install IBM HTTP Server. 2. Define the HTTP Server object to Tivoli Framework and start monitoring it. This can be performed using one of the following approaches: Put Tivoli Common Agent on a ManagedNode to be able to issue Framework command. Send a TEC event so TEC can automatically runs the necessary commands. 3. Discover the HTTP Server resource in IBM Tivoli Business Systems Manager. The discovery can be performed using the standard discovery mechanism in IBM Tivoli Monitoring, or using an XML file through Common Listener.
180
4. Allocate the HTTP Server object to a business system view in IBM Tivoli Business Systems Manager. This is performed using XML file creation and sending it through the XML toolkits enqueuecl command. This workflow may include additional steps to ensure that the new server meets specifications of the destination cluster, but these are not the topic of interest in this scenario.
Removing a server
The steps on removing a server is the exact reversal of the addition. With the same assumption that the resource pool still contain the Tivoli endpoint and Tivoli Common Agent, these are the steps the remove a server: 1. Remove the HTTP Server object from IBM Tivoli Business Systems Manager. This can be performed using XML file and send it using the enqueuecl command. 2. Remove the HTTP Server object in Tivoli Framework, again this can be performed either using a Common Agent to issue Framework command or sending an event to TEC to trigger an automated response. 3. Remove the physical resource from the IBM Tivoli Business Systems Manager All Resources view. Depending on the creation method, this can be performed using a discovery delete or removing it by XML interface. 4. Uninstall the IBM HTTP Server Note: Using an Automated Business Systems can allocate the resource in a Business System folder and removing the physical resource will remove the business system resource associated with it. However, as the same resource can be allocated to different pools or application, the usage of XML is more appropriate as it allows dynamic specification of the business systems that will contain the resource.
Chapter 6. Using IBM Tivoli Intelligent Orchestrator to populate business systems structure
181
as the vehicle to bind the operation to the specific device driver. The final step is the execution of the software code or Java-plugin that interface with the physical device.
2. Finding the appropriate server for installation from the appropriate pool as shown in Example 6-2.
Example 6-2 Getting the server from the pool var ClusterName = DCMQuery(/cluster[@id=$ClusterID\]/@name) var PoolID java: com.thinkdynamics.kanaha.de.javaplugin.resourcemanager.RMAllocateServer( ClusterID, PoolID, RequestID, ServerID) Get_Server_Attributes(<null>, <null>, <null>, <null>, <null>, <null>, <null>, <null>, <null>, PoolID, ServerID, <null>)
3. Install IBM HTTP Server, this can be invoked using the provided method ATS_Install_IHS as shown in Example 6-3.
Example 6-3 Installing IBM HTTP Server var DeviceName = DCMQuery(/server[@id=$ServerID\]/@name) var hostname = Jython(DeviceName + ".itsc.austin.ibm.com") ATS_Install_IHS(ServerID)
4. Define the HTTP Server object to Tivoli Framework and start monitoring it. We send an event to IBM Tivoli Enterprise Console to invoke a command. We call the event is TIO_Automation and the argument is the command to be invoked. The workflow snippet is shown in Example 6-4 on page 183.
182
Example 6-4 Sending TEC event var DeviceName = DCMQuery(/server[@id=$ServerID\]/@name) var tecClass = "TIO_Automation" array slotlist = {"msg"} var var3=Jython("'../../scripts/addnode.sh "+ DeviceName + "'") array slotvalue slotvalue[0]=var3 SendTecEvent(tecClass, slotlist , slotvalue )
The event will be processed using a TEC rule shown in Example 6-5.
Example 6-5 TEC rule for TIO_Automation rule: run_TIO_automation: ( description: 'running automation command from TIO', event: _event of_class 'TIO_Automation' where [ msg: _msg ], reception_action: run_Auto: ( exec_program(_event, _msg, '', [], 'YES') ) ).
#!/bin/sh # \\phoenix\c$\tivoli\bin\w32-ix86\scripts wapachews -c -e $1 -t ibm -f "C:/Program Files/IBM HTTP Server 2.0/conf/httpd.conf" wln @ApacheWebServer:ApacheWebServer1@$1 /Administrators/Root_phoenix-region/phoenix-region # subscribe to Apache-pm wsub @ProfileManager:Apache-pm @ApacheWebServer:ApacheWebServer1@$1 wdmdistrib -p Apache-profile @ApacheWebServer:ApacheWebServer1@$1 exit Figure 6-11 The addNode.sh
Chapter 6. Using IBM Tivoli Intelligent Orchestrator to populate business systems structure
183
5. We run a Java program to discover the resource object and create the business system using XML interface. We embed the call to the interface within the Java program. This Java program is called using the code snippet shown in Example 6-6.
Example 6-6 Creating and sending XML file var hostname = Jython(DeviceName + ".itsc.austin.ibm.com") var return_val = Java[com.ibm.itso.vbd.tia507.DeltaAddAll#runWork("1", DeviceName,hostname)]
DeltaAddAll
DeltaDelAll
The XMLSend class contains the basic routines that builds the XML code and sends through the XML toolkit. The following are methods available from XMLSend: getEpRegion getEpLocation sendTecEvent deleteObject defineObject defineLink defineLinkPath enqueueCl Getting the Network Region object from the location Getting the Network Location object from the hostname Sending a Tivoli Enterprise Console event Generating XML code for deleting object Generating XML code for creating new object Generating XML code for defining link using instance ID Generating XML code for defining link using an object path Running the actual enqueueCl process
184
The complete code is provided as additional material. See Appendix A, Additional material on page 245. The DeltaAddAll is invoked using the syntax shown in Example 6-7.
Example 6-7 Invocation of com.ibm.itso.vbd.tia507.DeltaAddAll DeltaAdd wsnum epname ephost where:wsnum - Web server number (most likely = 1) epname - endpoint label (output from wep ls) ephost - endpoint fully qualified hostname
The main subroutine calls directly the constructor, passing in all three arguments, the Web server number, endpoint name and endpoint hostname. The constructor validates the argument to ensure that: The Web server number is numeric Endpoint hostname starts with the endpoint name The constructor of DeltaAddAll then perform the code in Example 6-8.
Example 6-8 DeltaAddAll processing nodeName = new String("ApacheWebServer"+wsnum+"@"+epname+"@"+ephost); nodePath = new String(entname+"/"+ getEpRegion(getEpLocation(ephost))+"/"+ getEpLocation(ephost)+"/"+ephost+"/"+nodeName); nodeClass = new String(XMLSend.tbsmClass); BSVname = new String(XMLSend.bsvName); String fn = "DADD"+getTimestamp()+".xml"; createXML(fn); run(fn,"delta");
As shown in Example 6-8, the main processing is to run XML creation using the createXML subroutine and invoking enqueuecl using run subroutine. The XML file creation logic is shown in Example 6-9.
Example 6-9 XML file creation routine FileWriter ofw = new FileWriter(fn); ofw.write(defineObject("NetworkRegion", getEpRegion(getEpLocation(ephost)), "NREG/"+getEpRegion(getEpLocation(ephost)))); ofw.write(defineObject("NetworkLocation", getEpLocation(ephost),"NLOC/"+getEpLocation(ephost))); ofw.write(defineObject("NODE",ephost,"NODE/"+ephost)); ofw.write(defineObject(nodeClass,nodeName,nodeClass+"/"+nodeName));
Chapter 6. Using IBM Tivoli Intelligent Orchestrator to populate business systems structure
185
ofw.write(defineLink("PHYC",nodeClass, nodeClass+"/"+nodeName, "NODE", "NODE/"+ephost)); ofw.write(defineLink("PHYC","NODE", "NODE/"+ephost, "NetworkLocation", "NLOC/"+getEpLocation(ephost))); ofw.write(defineLink("PHYC","NetworkLocation", "NLOC/"+getEpLocation(ephost), "NetworkRegion", "NREG/"+getEpRegion(getEpLocation(ephost)))); ofw.write(defineLink("PHYC","NetworkRegion", "NREG/"+getEpRegion(getEpLocation(ephost)), "ENT","")); ofw.write(defineObject("LineOfBusiness",nodeName, "LOB/"+BSVname+"/"+nodeName)); ofw.write(defineLink("LOBC","LineOfBusiness", "LOB/"+BSVname+"/"+nodeName,"LineOfBusiness","LOB/"+BSVname)); ofw.write(defineLink("LOBL",nodeClass, nodeClass+"/"+nodeName, "LineOfBusiness","LOB/"+BSVname+"/"+nodeName)); ofw.close();
Note: The XML file created using the method in Example 6-9 on page 185 defines non LOB object. This is achieved by providing undocumented flag of -k to the enqueuecl process. The resulting XML file to define the WebServer 1 in manila with the fully qualified hostname of manila.itsc.austin.ibm.com is shown.
Table 6-1 XML definition result Code snippet defineObject("NODE",ephost, "NODE/"+ephost) Resulting XML <tbsm:addObjectInstances> <inst> <class>NODE</class> <instid>NODE/manila.itsc.austin.ibm.com</instid> <name>manila.itsc.austin.ibm.com</name> </inst> </tbsm:addObjectInstances> <tbsm:addObjectInstances> <inst> <class>LineOfBusiness</class> <instid> LOB/WebServers/ApacheWebServer1@ manila@manila.itsc.austin.ibm.com </instid> <name> ApacheWebServer1@manila@manila.itsc.austin.ibm.com </name> </inst> </tbsm:addObjectInstances>
186
Resulting XML <tbsm:addLinkInstances> <link> <type>LOBL</type> <src> <id> <class>G02Ocname</class> <instid>G02Ocname/ApacheWebServer1@manila @manila.itsc.austin.ibm.com</instid> </id> </src> <tgt> <id> <class>LineOfBusiness</class> <instid>LOB/WebServers/ApacheWebServer1@manila @manila.itsc.austin.ibm.com</instid> </id> </tgt> </link> </tbsm:addLinkInstances>
Chapter 6. Using IBM Tivoli Intelligent Orchestrator to populate business systems structure
187
We use the name ITSO_AddServer for our workflow by clicking on the workflow name as shown in Figure 6-14.
You can then put your logic in the workflow. We on the other hand export the workflow to a text file, in order for us to modify it with our own text editor. This has the advantage of getting it in plain text, but we have no assistance from the Web interface for the syntax. We use the menu Edit Export and export it as a wkf
188
file. We modify this file and putting in the logic presented in Coding the workflow for adding server on page 182. We can then import this workflow, back to the Web management interface using the menu Edit Open and select the workflow file that you edit. After the workflow has been imported, we need to compile it before running it. The compilation will save the workflow. The compile menu is shown in Figure 6-15.
Chapter 6. Using IBM Tivoli Intelligent Orchestrator to populate business systems structure
189
var PoolID Get_Cluster_Attributes(<null>, <null>, ClusterID, <null>, <null>, <null>, <null>, <null>, <null>, <null>, PoolID, <null>, <null>, <null>, <null>, <null>) java:com.thinkdynamics.kanaha.de.javaplugin.resourcemanager.RMChooseServerForRe moval(ClusterID, PoolID, RequestID, ServerID)
2. Removing the server from IBM Tivoli Business Systems Manager using XML interface program as shown in Example 6-11.
Example 6-11 ITSO_RemoveServer.wkf var DeviceName = DCMQuery(/server[@id=$ServerID\]/@name) var hostname = Jython(DeviceName + ".itsc.austin.ibm.com") var return_val = Java[com.ibm.itso.vbd.tia507.DeltaDelAll#runWork("1", DeviceName,hostname)]
3. Removing the server from Tivoli Management Environment using a TEC event as shown in Example 6-12.
Example 6-12 ITSO_RemoveServer.wkf var tecClass = "TIO_Automation" array slotname = {"msg"} var var3=Jython("'../../scripts/delnode.sh "+ DeviceName + "'") array slotvalue slotvalue[0]=var3 SendTecEvent(tecClass, slotname , slotvalue )
4. Uninstalling IBM HTTP Server and returning the server to the server pool, this is shown in Figure 6-13.
Example 6-13 ITSO_RemoveServer.wkf RM_Remove_Server(ClusterID, RequestID, ServerID) ATS_Uninstall_IHS(ServerID)
190
Chapter 6. Using IBM Tivoli Intelligent Orchestrator to populate business systems structure
191
Input the parameters, which are the Cluster ID and Server ID. The cluster ID and server ID are both required parameters. These parameters are defined in the programs you need to pass. You can get these values from the Inventory view as shown in Figure 6-18.
The parameter window is shown in Figure 6-19. We run the workflow against server manila.
192
The TEC event generated by the workflow can be seen in Figure 6-21 on page 194.
Chapter 6. Using IBM Tivoli Intelligent Orchestrator to populate business systems structure
193
The new Apache Web server object is created in the Tivoli desktop as shown in Figure 6-22.
And the IBM Tivoli Business Systems Manager business system creation as shown in Figure 6-23 on page 195.
194
Chapter 6. Using IBM Tivoli Intelligent Orchestrator to populate business systems structure
195
196
The workflow remove IBM Tivoli Business Systems Manager related object using the XML transaction. The resulting business system is shown in Figure 6-26 on page 198.
Chapter 6. Using IBM Tivoli Intelligent Orchestrator to populate business systems structure
197
198
Chapter 7.
199
Repository
200
Service Center server provides access to the repository. It performs authentication for user. It also processes the business logic or workflow of the application. The repository can be relational database system or sequential file. Production systems should consider a relational database systems, for performance, reliability and recovery. The Service Center Client is a Eclipse-based Java graphical user interface (GUI).
201
Repository
process.out
SCAuto module
SYSTEM_CONFIGURATION table
process.in
Object database
` TBSM Console
As shown in Figure 7-3, the problem management exit processing can be explained as follows: 1. A problem management request is initiated. This can be from the following:
202
A problem management dialog from IBM Tivoli Business Systems Manager console Automated action that is invoked as a result of a certain event Timed processing to search for closed problem ticket in Service Center so that its related event in IBM Tivoli Business Systems Manager can be closed 2. IBM Tivoli Business Systems Manager generates an input file for the problem management exit. A sample input file is shown in Example 7-1.
Example 7-1 Sample input file REQUEST_TYPE|1|1|REQUEST_PROBLEM REQUEST_METHOD|1|1|REQUEST_ENUM REQUEST_CONSOLE_VERSION|1|1|NOT_V15 REQUEST_OBJECT_CID|1|1|NREG REQUEST_OBJECT_ID|1|1|12 REQUEST_OBJECT_SOURCE_CID|1|1|NREG REQUEST_OBJECT_SOURCE_ID|1|1|12 REQUEST_ENUM_NAME|1|1|REQUEST_PROBLEM_TYPE REQUEST_OBJECT_NAME|1|1|aus REQUEST_LOGIN_USER_ID|1|1|Administrator REQUEST_LOGIN_USER_PASSWORD|1|1| REQUEST_CUSTOMER_ID|1|1|TBSM AUTO_CLOSE_DEFAULT|1|1|YES DEBUG_MODE|1|1|ON DISPLAY_PROBLEM_CLOSURE|1|1|NO TIMEOUT_VALUE|1|1|300 TICKET_CREATE_DEFAULT|1|1|NO REQUEST_USER_ID|1|1| REQUEST_PASSWORD|1|1|
3. The exit based on the SystemConfiguration table invokes the appropriate module from SCAuto for TBSM to parse the input file and send the request to ServiceCenter server. 4. ServiceCenter processes the request to perform the appropriate problem management action and sends the result to SCAuto for TBSM module. The processing is stored in the log file <TBSM>\Data\*.log; there are AutoTicket.log and ProblemTicket.log files that can help in debugging problems. 5. SCAuto for TBSM writes the result to an output file and invoke IBM Tivoli Business Systems Manager problem management exit to indicate it has finished processing. A sample output file is shown in Example 7-2 on page 204.
203
Example 7-2 Sample output file REQUEST_RETURN_CODE|1|1|0 REQUEST_ERROR_MSG|1|1|Enumeration request was successful. REQUEST_ENUM_VALUE|1|1|business applications REQUEST_ENUM_VALUE|1|1|client system REQUEST_ENUM_VALUE|1|1|enquiry REQUEST_ENUM_VALUE|1|1|example REQUEST_ENUM_VALUE|1|1|network REQUEST_ENUM_VALUE|1|1|other REQUEST_ENUM_VALUE|1|1|printing REQUEST_ENUM_VALUE|1|1|security REQUEST_ENUM_VALUE|1|1|shared infrastructure REQUEST_ENUM_VALUE|1|1|tbd REQUEST_ENUM_VALUE|1|1|telecoms
6. IBM Tivoli Business Systems Manager reads the output file and return the status back to the original caller. For a console request, it displays the results in the IBM Tivoli Business Systems Manager console.
204
Furthermore, the following are the terms that we will use to describe the interface: Automated Ticketing The process by which events in the IBM Tivoli Business Systems Manager console automatically trigger the creation of Problem Tickets in IBM Tivoli Business Systems Manager and incidents in ServiceCenter Auto Ticket Request Processor IBM Tivoli Business Systems Manager application that processes incoming Auto Tickets and starts the appropriate ServiceCenter incident event Problem Ticket Request Processor IBM Tivoli Business Systems Manager application that processes incoming IBM Tivoli Business Systems Manager Problem Tickets and starts the appropriate ServiceCenter incident event Automated Close Event Notification IBM Tivoli Business Systems Manager application that creates a command line call to IBM Tivoli Business Systems Managers Problem Integration Event Notification application
205
c. Add a format control to Peregrine Service Center to communicate with the automatic close event notification service. See 7.2.5, Adding a format control for automatic close events on page 218. 4. Configure the IBM Tivoli Business Systems Manager for the problem management exit with SCAuto for TBSM: a. Update the SCAuto for TBSM mapping files if you have customized the fields used by Peregrine Service Center Incident Management. See 7.2.6, Updating IBM Tivoli Business Systems Manager mappings on page 222 b. Customize problem management tables in 7.2.7, Configuring database server for SCAuto for TBSM on page 227. c. Configure the user names and passwords for SCAuto for TBSM to access Peregrine Service Center in 7.2.8, Configuring access to problem ticketing on page 228. 5. Start the automatic close event notification service. See 7.2.9, Starting the automatic close event notification service on page 229
206
1. Login to the Windows system running the IBM Tivoli Business Systems Manager database server as Administrator and run setup.exe from SCAuto for TBSM installation CD-ROM. The SCAuto for TBSM setup wizard is shown in Figure 7-4.
2. Click Next to read and accept the licensing agreement as shown in Figure 7-5.
207
3. Select the I accept the terms in the License Agreement option and click Next to select the IBM Tivoli Business Systems Manager directory as shown in Figure 7-6. The wizard uses C:\TivoliManager as the default directory, while the default path for IBM Tivoli Business Systems Manager V3.1 is C:\Program Files\Tivoli\TBSM. Our path is C:\TBSM.
4. Click Next to choose the SCAuto for TBSM installation location as shown in Figure 7-7. It must be installed under the IBM Tivoli Business Systems Manager installation directory under Data\Peregrine path.
208
5. Click Next to type the Peregrine Service Center server address and port number as shown in Figure 7-8.
6. Click Next and then confirm installation by clicking Install. When the installer is completed, click Finish to exit the installation wizard.
209
2. Issue dbdict in top toolbar command line of Peregrine Service Center client as shown in Figure 7-10.
You need to enter probsummary in the File Name field as shown in Figure 7-11 on page 211.
210
You are presented with the list of data dictionary for problem summary as shown in Figure 7-12 on page 212.
211
3. Click New and you get the field.window dialog shown in Figure 7-13 on page 213. Create the following new character fields: tbsm.system tbsm.component tbsm.item tbsm.module tbsm.scauto
212
Important: Database dictionary entries are case-sensitive. The field names must be in lower case. 4. In the Keys tab, scroll down to the first available key entry. As shown in Figure 7-14 on page 214.
213
5. Click on the empty key field and then click New. The key.window dialog opens. From the Type field, select nulls & duplicates as shown in Figure 7-15 on page 215.
214
In the Fields array, and add the five entries that you created earlier: tbsm.system tbsm.component tbsm.item tbsm.module tbsm.scauto
Click the plus sign to add the new key to get back to the main dictionary list and click OK. We are using the default file database, not a relational database system. A different flow happens if you are using a RDBMS. 6. The Confirm Action window opens as shown in Figure 7-16 on page 216.
215
Select Regen all Indexes option and click OK. Peregrine Service Center regenerates the probsummary indexes.
216
2. Click down arrow on tool bar on upper right part of the screen. This will bring a pull-down menu. Click on Import/Load. As shown in Figure 7-18.
The Service Center File Load/Import screen opens as shown in Figure 7-19 on page 218.
217
3. In the File Name field, type or browse to the scauto.tbsm.unl file in the SCUnloads subfolder of your SCAuto for TBSM installation. In our setup, it is stored in C:\TBSM\Data\Peregrine\SCUnloads\scauto.tbsm.unl. You can view the content of the unload file using the List Contents button. Note: Now is the time to verify any conflict that you may have to an existing customization you have perform on Peregrine Service Center. Ours is a new installation without any customization, therefore we have no conflict. 4. Click Load FG to load the file in foreground. Peregrine Service Center loads the file into the Peregrine Service Center system. You will get a message:
C:\TBSM\Data\Peregrine\scauto.tbsm.unl loaded.
218
2. In the name field, fill in problem.template.close and click Search. The Format Control screen opens as shown in Figure 7-21 on page 220.
219
3. Click Subroutines, the format control subroutines screen opens as shown in Figure 7-22 on page 221.
220
4. Click the down arrow in the right most part of the toolbar. Select Show Expanded Form. Scroll down to the first blank subroutine. Build the new subroutine similar to Figure 7-23.
221
222
Map File
Description Mapping for updating a problem ticket in ServiceCenter for the requested IBM Tivoli Business Systems Manager object. Mapping for querying ServiceCenter for all open problem tickets associated with a requested IBM Tivoli Business Systems Manager object. Mapping for querying all ServiceCenter problem tickets that match a particular search criteria for a requested IBM Tivoli Business Systems Manager object.
TBSMpmu.map TBSMquery.map
TBSMreqadhoc.map
The first line in the map file determines whether IBM Tivoli Business Systems Manager creates a query string or event field.
TBSMreqadhoc.map
223
The FromSC mapping files use the following formatting conventions Comments are indicated with a pound sign # at the start of the line Any text that you enclose between double quotation marks is treated as a literal string You can use the plus sign to concatenate two fields or literal strings. For example:
$field1+$field2 $field1+literal string1
You can use the colon as an OR statement. To select data from more than one field, enclose the field names in parenthesis and use colons as a separator. For example, the value:
($REQUEST_SEVERITY:$REQUEST_EVENT_PRIORITY)
It selects data from the REQUEST_SEVERITY field or, if that field empty or null, from the REQUEST_EVENT_PRIORITY field.
224
2. In the Map Name field type tbsm and click Search. The list of event map for tbsm event maps as shown in Table 7-25 on page 226.
225
226
Attention: Making changes to map files and ServiceCenter event maps may result in mapping errors and a loss of functionality. It is strongly recommended that you consult Peregrine support for assistance when changing map files and event maps. We do not make any changes to the default mapping tables.
Or, by running the file using SQL Query Analyzer. The instql.txt modifies the SystemConfiguration table. The changes that it makes are shown in Table 7-4 on page 228.
227
Table 7-4 Group and property information Group name REQUEST_ AUTOTICKET REQUEST_ PROBLEM API_ INTEGRATION_ OPTIONS Property name REQUEST_ PROCESSOR_ NAME REQUEST_ PROCESSOR_ NAME TABLE_BASED_ ENUMERATIONS Property value <dir>\AutoTicket.exe Data type CHAR Comments Request processor executable from SCAuto for TBSM
<dir>\ProblemTicket.exe
CHAR
YES
CHAR
Enable caching of problem ticketing field values, remove the need to ask problem management system for every requests Setting Timeout value Synchronization of closed problem from IBM Tivoli Business Systems Manager Peregrine Service Center closed status
300
CHAR
YES
CHAR
CLOSE_TICKET_ STATUS_CODE
Closed
CHAR
228
By default, IBM Tivoli Business Systems Manager uses the SCAutoTBSM user to access problem ticketing with the default password of password. This information is stored on the IBM Tivoli Business Systems Manager Database Server in the file scusers.ini. This file is a plain-text file with no encryption that only controls access to the IBM Tivoli Business Systems Manager problem ticketing applications. It does not list or require any ServiceCenter operator names or passwords. Custom problem ticketing user names and passwords can be created by editing the scusers.ini file. The user entries are added in the format of:
<user name>=<password>
229
3. Remove the SCAuto for TBSM software using Windows Add/Remove programs.
230
3. If you have not save your password, perform the following sub-steps: a. Click Problem System Password. The Problem System Access Information window opens as shown in Figure 7-27.
b. Type the user name and password you defined in the scusers.ini file.
231
c. Select the Save this information option. This option prevents you from having to type in user name and password every time you want to use problem ticketing. d. Click OK. SCAuto for TBSM uses this user name and password information whenever you access problem ticketing. 4. Type in the problem ticket details as shown in Figure 7-28.
5. Click OK. IBM Tivoli Business Systems Manager creates the problem ticket and displays a confirmation window as shown in Figure 7-29 on page 233, unless you check the Do not display this message in the future.
232
6. Click OK.
233
2. From the Results screen in Figure 7-30, double-click the problem ticket that you want to update. The Note Properties screen opens as shown in Figure 7-31 on page 235.
234
3. Click Show. The Problem Ticket Properties screen opens. as shown in Figure 7-32 on page 236.
235
4. Type the problem ticket updates. Click Add to add additional comments. The Edit Text Log screen opens as shown in Figure 7-33 on page 237.
236
5. Click OK. 6. IBM Tivoli Business Systems Manager updates the problem ticket information and displays a confirmation window as shown in Figure 7-34, unless you check the Do not display this message in the future. Click OK to close the confirmation window.
237
1. Find the problem ticket that you want to close similar to the procedure in Updating problem tickets on page 233. 2. From the Results screen, double-click the problem ticket that you want to close. The Problem Ticket Properties screen opens. As shown in Figure 7-35.
3. From the Status Code field, select Close. The Edit Text Log screen opens as shown in Figure 7-36 on page 239. This requested you to enter the closing information.
238
Update Description and click OK. The Problem Ticket Properties screen opens. As shown in Figure 7-37 on page 240.
239
240
Note: The actual label used for closed tickets is defined in the IBM Tivoli Business Systems Manager Database Server. See 7.2.7, Configuring database server for SCAuto for TBSM on page 227 for instructions on changing the closed status label. 5. Click OK. IBM Tivoli Business Systems Manager closes the problem ticket and displays a confirmation window. As shown in Figure 7-39 on page 242.
241
6. Click OK to close the confirmation window. If all problem tickets for the IBM Tivoli Business Systems Manager object have been closed, IBM Tivoli Business Systems Manager removes the problem note icon from the object.
7.5 Troubleshooting
This section contains some common issues and work-arounds for SCAuto for TBSM. For the most up to date troubleshooting information, see the Peregrine Customer Support Web Site and search the knowledge base. Changing the automatic close event polling interval to match the expected number of closed tickets. This interval is defined in <TBSM>\Data\Peregrine\SCTBSMEvNotify.ini.
242
Changing the automatic close event process time limit to optimize event closing throughput. This limit is defined in <TBSM>\Data\Peregrine\SCTBSMEvNotify.ini. You can update or add the line:
max_processtime:<seconds>
Changing the SCAuto for TBSM host or port values after installation. This configuration value is stored in: SCTBSMAuto.ini - configuration file for Automatic Problem Ticketing SCTBSMProb.ini - configuration file for Manual Problem Ticketing SCTBSMEvNotify.ini - configuration file for Automatic Ticket closure You need to change the server: and port: keywords in those files. Enabling debugging features. This shows the detailed information in log files and shows also Peregrine Service Center events. Edit the appropriate configuration files to add debugging parameters: SCTBSMAuto.ini - configuration file for Automatic Problem Ticketing SCTBSMProb.ini - configuration file for Manual Problem Ticketing SCTBSMEvNotify.ini - configuration file for Automatic Ticket closure You configuration lines to change or add are: Logging level: debug:<log_level>, where is 0,1, 2, or 3. Level 3 is the most verbose log level that contains all available errors, warnings, and information. Level 0 turns off debugging. Event deletion: delete_events:0. This prevents events from being deleted in eventout queue. Important: You can only set this configuration setting for the SCTBSMAuto.ini and SCTBSMProb.ini configuration files. Setting query time out value. Query time out can result from network latency or from high CPU usage on the server running ServiceCenter. If you see this error outside of these conditions, you may want to increase the time-out values and number of retry attempts for your IBM Tivoli Business Systems Manager queries. You can change these values from the IBM Tivoli Business Systems Manager configuration files: SCTBSMAuto.ini - configuration file for Automatic Problem Ticketing SCTBSMProb.ini - configuration file for Manual Problem Ticketing SCTBSMEvNotify.ini - configuration file for Automatic Ticket closure
243
244
Appendix A.
Additional material
This redbook refers to additional material that can be downloaded from the Internet as described below.
Select the Additional materials and open the directory that corresponds with the redbook form number, SG246770.
245
Description Enterprise archive collected with source code that can be imported into WebSphere Studio Application Development. Complete ABS file for PiggyBank, Inc. Jar file for Java based ABS file generator. Jar file for TIO automation program that generates XML file Collection of other Java classes that are needed to run enqueueCL command.
Loading application into WebSphere Studio Application Development Integration Edition V5.1.1
Open WebSphere Studio Application Development Integration Edition V5.1.1 into a new Workspace. Select File Import and select import an EAR file. Import TIA507.ear. This will open a new workspace as shown in Figure A-1 on page 247.
246
247
From the root object, you can create Business System folders. Right-click and select Add Folder as shown in Figure A-3.
The Business System folder property dialog is shown in Figure A-4 on page 249.
248
You can enable or disable individual property and put in the appropriate values. After the new folder is created, you can add resource definition; right-click and select Add Resource as shown in Figure A-5.
The resource property page is displayed, you need to add resource selection condition by clicking Add. The add condition dialog is shown in Figure A-6 on page 250.
249
Adding functions will be indicated in the icon in the workspace and additional property will be shown in the property page. Figure A-8 on page 251 shows a folder property with sections enabled.
250
The icon in the workspace is modified to indicate the functions that are used; see Figure A-9 on page 252.
251
You can save the business system structure using the menu File Save for modification later. Saved business system structures can be reused using File Open menu. When you are ready to generate the ABS file, use the menu File Generate.
252
253
XML
254
Related publications
The publications listed in this section are considered particularly suitable for a more detailed discussion of the topics covered in this redbook.
IBM Redbooks
For information on ordering these publications, see How to get IBM Redbooks on page 256. Note that some of the documents referenced here may be available in softcopy only. IBM Tivoli Business Systems Manager V2.1 End-to-end Business Impact Management, SG24-6610 Introducing IBM Tivoli Service Level Advisor, SG24-6611 Service Level Management Using IBM Tivoli Service Level Advisor and Tivoli Business Systems Manager, SG24-6464 End-to-End Scheduling with IBM Tivoli Workload Scheduler Version 8.2, SG24-6624 Integrating IBM Tivoli Workload Scheduler with Tivoli Products, SG24-6648
Other publications
These publications are also relevant as further information sources: IBM Tivoli Business Systems Manager Getting Started Guide, SC32-9088 IBM Tivoli Business Systems Manager Installation and Configuration Guide, SC32-9089 IBM Tivoli Business Systems Manager: Introducing the Consoles, SC32-9086 IBM Tivoli Business Systems Manager Administrators Guide, SC32-9085 IBM Tivoli Business Systems Manager Problem and Change Management Integration Guide, SC32-9130 IBM Tivoli Business Systems Manager Command Reference, SC32-1243 IBM Tivoli Business Systems Manager Message Reference, SC32-9087 IBM Tivoli Business Systems Manager Diagnosis Guide, SC32-9084 IBM Tivoli Business Systems Manager: Release Notes, GI11-4029
255
Online resources
These Web sites and URLs are also relevant as further information sources: Information about IT Infrastructure Library (ITIL)
http://www.ogc.gov.uk http://www.itsmf.com http://www.itil.co.uk
256
Index
Numerics
3.1.0.0-TIVBSM-IF0006 125 building business systems 37 Business Service Management 2, 4 business system 19, 22 building 37 business system folder 7, 38 business system resource 7, 38 business system shortcut 7, 38 business system tree 67 business-level representations 2 BusinessRole 66
A
ABS absAllowedClassAttribute.ksh command 47 absConfig.ksh command 35, 47, 5960 absTest.ksh command 35, 61 absTest.ksh commands 61 AdapterEnv.conf 127 addLinkInstances 75 addObjectInstances 73 Agent Manager 174 alert state 6 all resources tree 6 allocation decisions 171 APDE API API application 92 APM Application 168 Application Cluster 168 Application Controller 171 application management tools 2 Application Policy Manager, see APM Application Programming Interface, see API Auto Ticket Request Processor 205 Automated Business System, see ABS Automated Business Systems, see ABS Automated Close Event Notification 205 Automated Ticketing 205 automatic close events 218 Automation Package Development Environment, see APDE Automation Packages 166 AWS_c10_ETL_Process 159
C
calendar 118 CCTA Central Computing and Telecommunications Agency, see CCTA cid 5 CL class ID 5 class name 5 class number 5 CLI cname 5 cno 5 color-coded status 5 Command Line Interface, see CLI commands absAllowedClassAttribute.ksh 47 absConfig.ksh 35, 47, 5960 absTest.ksh 35, 61 backupLOBasXML 68 db2cc 132 DBServerEncryptor 125 DefineEVService.ksh 88 DefineServicesAndLinkToEVUsers.ksh 89 enqueuecl 36 enqueuecl.ksh 80 eventmap 224 gemdmmap.sh 28 gemgenprod.sh 28 gemimageimport.sh 28 ihstmtec 29 ihsttsla 29
B
backupLOBasXML command 68 batch management 115 bi-directional communication 67 BmEvents.conf 128
257
ihstttec 2930 ihstztec 29 isql 227, 229 java 247 LinkEVUsersToServices.ksh 89 ProblemTicket 227 querycltran 36 scmd 133 slmenv 133 tbsmtsla.sh 135 tecstatusconfig.ksh 30 tws_launch_archive.pl 131 tws_launch_archiver.pl 158 UnlinkEVServices.ksh 89 wtll 31 Common Listener, see CL console server 17 customer 120, 168
end user 19 end users 21 enqueuecl command 36 enqueuecl.ksh command 80 Enterprise Java Beans 167 ETL event analysis 1920 Event Enablement, see EE event handler server 17 event.log 128 eventmap command 224 executive dashboard 11, 85 executive view 85 eXtensible Markup Language, see XML Extract Transform Load, see ETL
F
field mapping 222 files 119 scauto.tbsm.unl. 218
D
Data Center Model 167, 171, 178 data dictionary 211 database 117 database server 17 DB_Server.conf 125 DB2 Warehouse 121 db2cc command 132 DBServerEncryptor command 125 DefineEVService.ksh command 88 DefineServicesAndLinkToEVUsers.ksh command 89 deleteObjectInstances 75 Deployment Engine 171 device driver 166 discussion scope 12 Distributed Monitoring 29 driver 166 DriverPlugIns.conf 126 DYK 122 DYK.MSMT 159 DYK_m05_Populate_Registration_Datamart_Proce ss 135 DYK_m10_Populate_Measurement_Datamart_Pro cess 159
G
gemdmmap.sh command 28 gemgenprod.sh command 28 gemimageimport.sh command 28 Global Resource Manager component 171 graphical user interface, see GUI GUI
H
Health Monitor server 17 high-level requirements 18 historical service-level 2 history server 17 host integration server 17
I
IBM Tivoli Business Systems Manager 1, 4 API 92 base components 9 business system 37 components 8 configuration 16 console 10 console server 9 executive dashboard 11, 85 implementation 16
E
EE EJB 167
258
interaction 8 interfaces 21 Java console 10 mainframe input components 9 mappings 222 methodology 16 objects 5 overview 5 problem management exit 203 reporting system 12 requirement gathering 18 resource discovery 29 resource placement 29 resources 5 servers 16 user interface 10 users 21 Web console 10 IBM Tivoli Enterprise Console 24 IBM Tivoli Intelligent Orchestrator 13 Data Center Model 178 resource pool 179 IBM Tivoli Monitoring 4 IBM Tivoli NetView 4 IBM Tivoli Service Level Advisor 29, 66, 115 IBM Tivoli Workload Scheduler 115 ihstmtec 29 ihstmtec command 29 ihsttsla 29 ihsttsla command 29 ihstttec 29 ihstttec command 2930 ihstztec 29 ihstztec command 29 implementation methodology 16 information-gathering task 170 instance 118 instance id 5 interfaces 19, 21 isql command 227, 229 IT Infrastructure Library 3 IT Infrastructure Library, see ITIL IT service management 3 ITIL 3 ITITO architecture 169
jar file 92 Java 2 Enterprise Edition 92 Java archive 92 java command 247 Javadoc 92 JNextDay 118 job 118 Job Scheduling Console, see JSC job stream 119 JSC
L
lab environment 13 link type 75 LinkEVUsersToServices.ksh command 89 localadapter.config 125 logical operation 167
M
management environment 19, 22 Management Interface component 171 mapping files 226 methodExecution 75 methodology 16 methods DefineAndUsePBTs 77 DefineEVService 76 DefinePBTs 77 DefineServicesandLinkToEVUsers 76 DeletePBTs 78 GetPBTs 78 GetPBTStatus 78 LinkEVUsersToServices 76 ResetThresholds 79 SetBSPriority 79 SetSendStateChangeEvent 79 SetThresholds 78 SetWeights 79 UnLinkEVServices 77 UsePBTs 78 Microsoft SQL Server 17 modifyObjectInstances 74 monitoring sources 1920
N J
J2EE 92 naming convention 1920
Index
259
O
object priority 6 object state 6 objects 5, 117 offering 120 Office of Government Commerce, see OGC OGC OMEGAMON 4 operational task 30 optimal allocation decisions 171 overall ITITO architecture 169
resources 5 run cycle 119 RunAs property 105 running workflow 191
S
sample application 92 SCAuto for TBSM 203 troubleshooting 230 scauto.tbsm.unl. 218 schedule 120 scheduling object calendar 118 files 119 job 118 job stream 119 parameter 119 prompt 119 resource 119 run cycle 119 user 119 workstation 118 scmd command 133 security role 102 server configuration 16, 1819 Servers definition 168 Service Center Client 201 Service Level Agreement, see SLA service level management customer 120 offering 120 realm 120 resource 120 schedule 120 service level objective 120 service level priority 168 service management 3 ServiceID 66 SLA 120 SLA-Trend-Cancel-Event 135 SLA-Trend-Event 135 SLA-Violation-Event 135 SLM report 163 SLM-Application-Event 135 slmenv command 133 SNA 17 SNA server 17 solution design 18
P
parameter 119 PBT Percentage Based Threshold, see PBT Peregrine Service Center 199 terms 204 physical resource 7, 38 plan 118 policy-driven batch management 115 priority 6 problem management exit 203 problem management mapping 222 Problem Ticket Request Processor 205 ProblemTicket command 227 production day 118 prompt 119 properties 107
Q
querycltran command 36
R
realm 120 real-time status 2 Redbooks Web site 256 Contact us xi RedImpact 66 repeatable workflows 171 reporting system 12 requirement gathering 18 resource 119120 resource discovery 29 resource placement 29 resource pool 168, 179 resource types 28
260
solution design session 23 Source/390. 17 SOW SQL Query Analyzer 227 stable application control 171 start of day 118 state 6 statement of work, see SOW Subagent Bundle Store 174 Svc_Offering table 88 symphony file 118 SystemConfiguration table 203
U
Universal Resource Locator, see URL UnlinkEVServices.ksh command 89 URL user 119 UserIDGroup 67
V
vwkernel 121
W
Warehouse Enablement Pack, see WEP Web console 10 WebSphere Application Server 17 WebSphere Studio Application Development 93 WebSphere Studio Application Development Integrated Edition, see WSADIE WebSphere variable 113 WEP Windows user 119 workflow 191 workflow definition 166 workload model 171 workload scheduler database 117 instance 118 objects 117 plan 118 production day 118 start of day 118 workstation 118 WSADIE wtll command 31
T
tables Svc_Offering 88 SystemConfiguration 203 Task Library 30 TBSM 1 TBSM_API 92 tbsmapi.jar 100 TBSMcount.map 222 TBSMevnotify.map 223 TBSMfind.map 222223 TBSMpmc.map 222223 TBSMpmo.map 222223 TBSMpmu.map 223 TBSMquery.map 223 TBSMreqadhoc.map 223 TBSMServlet 113 tbsmtsla.sh command 135 TC driver 166 tcdriver 166 TEC tecstatusconfig.ksh command 30 terms 204 test servers 17 Tivoli Common Agent 173 Tivoli Data Warehouse 120 Tivoli Enterprise Console, see TEC Transitions 167 TWG.MSMT 159 TWH_CDW 121 TWH_MART 121 TWH_MD 121 tws_launch_archive.pl command 131 tws_launch_archiver.pl command 158 TWSConf.conf 128
X
XML XML interface 68 XML toolkit 68, 184
Y
YellowImpact 66
Index
261
262
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.