Post on 28-May-2020
EMC CorporationCorporate Headquarters:
Hopkinton, MA 01748-9103
1-508-435-1000www.EMC.com
EMC® Ionix™ ITO AdapterBMC Event Manager
Version 2.4
Installation and Configuration GuideP/N 300-011-511
REV A01
ii VERIONS 2.4 REV A01 300-011-511
Copyright © 2010 EMC Corporation. All rights reserved.Published June, 2010
EMC believes the information in this publication is accurate as of its publication date. The information issubject to change without notice.
THE INFORMATION IN THIS PUBLICATION IS PROVIDED “AS IS.” EMC CORPORATION MAKES NOREPRESENTATIONS OR WARRANTIES OF ANY KIND WITH RESPECT TO THE INFORMATION INTHIS PUBLICATION, AND SPECIFICALLY DISCLAIMS IMPLIED WARRANTIES OF MERCHANTABIL-ITY OR FITNESS FOR A PARTICULAR PURPOSE.
Use, copying, and distribution of any EMC software described in this publication requires an applicablesoftware license.
For the most up-to-date regulatory document for your product line, go to the Technical Documentationand Advisories section on EMC Powerlink.
For the most up-to-date listing of EMC product names, see EMC Corporation Trademarks on EMC.com.All other trademarks used herein are the property of their respective owners.
Table of Contents 1Preface viiAudience . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . viiOrganization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . viiFont conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . viiRelated documents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . viii
Introduction 8Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
Integration Adapters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8Action Adapters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9
Adapter Framework . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10ITIL Services Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11Supported ITIL Object Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12System Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13Persistence Database . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Database Acquisition Queue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14Buffer Queue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Web Service Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15Notification Agent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
Acquisition Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16Acquisition Push . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17Performance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18Acquisition–Event Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18Notification Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20Custom Parameters for Notification or Acquisition-Event Services . . . . 21
Operations Web Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23Process Flow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
About the BMC Event Manager Adapter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24Compatibility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
Supported Services 26Acquisition Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
WSDL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26Polling Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26Blocking Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27Terminal Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
EMC IONIX IT ORCHESTRATOR ADAPTER BMC EVENT MANAGER INSTALLATION AND CONFIGURATION GUIDE iii
General Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28Discovery Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
WSDL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29Operations Web Service Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
WSDL Location . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30Supported Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
System Configuration 32Supported Operating Systems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32System Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
Recommended . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32Minimum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
Supported Databases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
Software Installation 34Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35Configuring SSL Communications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36Installing a License File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37Installing the Adapter Software - Windows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
Before You Begin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38Start the Installer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38Installing the URL Agent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41Installing the Adapter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
Running the Adapter Windows Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68Shortcuts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68Executable Location . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68Service Manager Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
Installing Adapter Software - UNIX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70Before You Begin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70Installing the Software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
Running the Adapter UNIX Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70Manual Installation Procedures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
Before You Begin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71Install the Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
BEM Configuration 74Install the iWS Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74Configure the iWS Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74Configure the BEM to Call the Adapter Agent¶ . . . . . . . . . . . . . . . . . . . . . . . . . . 75
Framework Properties 77Properties Editor Tool . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
Starting the Tool . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77Using the Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78Global Framework Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78Acquisition monitoring . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
iv VERSION 2.4 REV A01 300-011-511
Automated Alerts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80BMC Event Manager Framework Properties . . . . . . . . . . . . . . . . . . . . . . . . . 82
Custom Configuration 84Client Acquisition Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
Data Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84Object Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84RESTful Client Acquisition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85Calling the RESTful Client Acquisition from curl . . . . . . . . . . . . . . . . . . . . . . 85SOAP Client Acquisition Web Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86Running on another port . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
Adapter High Availability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88Operations Services Scaling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88Acquisition Services Scaling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88Use the External Database for Multiple Adapters . . . . . . . . . . . . . . . . . . . . 89Adapter Failover Infrastructure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89Agent Scaling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
Java to Adapter Integration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90Prerequisites . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
Persistence Database Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92Removing Transactions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92Reclaiming Unused Disk Space . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92Connecting to the Database . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93Changing the Database Port Number . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93Offloading the Acquisition Queue to an External Database . . . . . . . . . . 93
Ionix IT Orchestrator Configuration 94Using the ITIL Adapter Plugin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
Associated Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94Installation and Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94Using the Plugin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97Operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
Adapter API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100Software Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100API Distribution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100Package Descriptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100Key Classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101Service Classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101SSL Certificates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102Java Code Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
Using the URL Agent 106About the Adapter URL Agent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106Python Requirement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106URL Agent Daemon . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
Shutting Down and Starting the Daemon . . . . . . . . . . . . . . . . . . . . . . . . . . 107Logging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
EMC IONIX IT ORCHESTRATOR ADAPTER BMC EVENT MANAGER INSTALLATION AND CONFIGURATION GUIDE v
Running the URL Agent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108Example Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
URL Agent Filtering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109Running the Filter Script . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110Filter Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110Example Filter Script . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
Managing the Adapter 114Prerequisites . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115Connecting to the Adapter Java Process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115Starting the Java Console . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116Management Beans . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
com.iwave:name=Adapters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116com.iwave:name=AcquisitionQueue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117com.iwave:name=FrameworkAdmin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
Maintenance and Troubleshooting 120Logging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
Log Location . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120Turning on Adapter Logging (Windows) . . . . . . . . . . . . . . . . . . . . . . . . . . . 120URL Agent Logging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
Error Types and Meanings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123Recoverable Errors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123Permanent Errors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123Global Errors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
Re-Installing or Uninstalling the Windows Service . . . . . . . . . . . . . . . . . . . . . . 125Re-installing the Windows Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125Uninstalling the Windows Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
Starting and Stopping the Adapter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125Uninstalling the Adapter Software - Windows . . . . . . . . . . . . . . . . . . . . . . . . . . 126
IT Object Model (ITOM) 130Event Mapping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
Index 138
vi VERSION 2.4 REV A01 300-011-511
Preface 2This manual includes instructions on installing, configuring, and troubleshooting the EMC BMC Event Manager Adapter software.
Audience 2
This publication is written for the System Administrator or Engineer responsible for installing and configuring the EMC BMC Event Manager Adapter software.
Organization 2
This publication consists of the following chapters:• Introduction• System Configuration• Software Installation• Framework Properties• Using the URL Agent• Custom Configuration• Orchestrator Configuration• Managing the Adapter• Maintenance and Troubleshooting• IT Object Model List (ITOM)• Index
Font conventions 2
• Bold format is used to identify dialog boxes and menu choices. For example: Start > Programs > IonixITO> adapters-2.4
• Courier fixed-width font is used for code elements (Java, HTML) as well as filenames and directories. For example:install_root refers to the directory where the Adapter software is installed, for example
EMC IONIX IT ORCHESTRATOR ADAPTER BMC EVENT MANAGER INSTALLATION AND CONFIGURATION GUIDE vii
l
c:/Program files/install_root/Adapters
• Web addresses are displayed as hyperlinks. For example: http://www.EMC.com
Related documents 2
For more information on EMC software products, refer to the following manuals:• EMC Ionix IT Orchestrator Introduction and Planning Guide - This manua
provides an overview of the Orchestrator architecture and associated applications. It introduces the main components of the IT Orchestrator, Design Studio, Platform and applications.
• EMC Ionix IT Orchestrator Installation and Configuration Guide - This manual provides information on installing the EMC Ionix IT Orchestrator, Design Studio, Platform and associated plugins. Provides an overview on how to install the Orchestrator Studio on Windows and Linux platforms and describes the mechanism for installing the Orchestrator Platform in your managed environment.
• EMC Ionix IT Orchestrator Administration and Operations Guide - This manual identifies the administration tasks required to configure the Ionix IT Orchestrator Platform and describes the log files available for detailed analysis of running solutions.
• EMC Ionix IT Orchestrator Developer Guide -This manual provides an introduction to the Designer Studio and Lifecycle tools that enable you to design Services and Tasks in Orchestrator Studio. The manual identifies the procedures for building Services and Tasks and describes the configuration of the associated properties.
viii VERSION 2.4 REV A01 300-011-511
1Chapter
Introduction 1Topics covered in this chapter:• Introduction• Adapter Framework• ITIL Services Support• Supported ITIL Object Types• System Architecture• Persistence Database• Web Service Methods
Introduction 1
EMC provides two different types of ITIL Adapters:• Integration Adapters• Action Adapters
Integration Adapters
EMC provides a comprehensive library of IT Service Management (ITSM) integration Adapters. Integration Adapters enable the bi-directional exchange of Incident, Problem, Configuration, Change and Asset information between ITSM applications.
The ITSM applications include:• Service Desk Applications• Enterprise Management Systems• CMDB and Asset Management Systems• Database Management Systems
Figure 1-1 illustrates a high-level view of the end-to-end, bi-directional process. In this process, the new/modified Incident Record goes from the endpoint application to the remote vendor application.
EMC IONIX IT ORCHESTRATOR ADAPTER BMC EVENT MANAGER INSTALLATION AND CONFIGURATION GUIDE 8
INTRODUCTION
EMC provides for two-way integrations allowing this process flow to move in either direction. An Adapter is required on each endpoint as each application has a customized API. Integrations can be performed for multiple applications; integrations are not limited to two.
Figure 1-1 High-Level Integration Overview
Action Adapters
Action Adapters allow you to quickly create integration Adapters for ITSM applications without resorting to programming. EMC provides the following Action Adapters, which can be installed with other Integration Adapters:• Command Line Adapter• Reverse Proxy Adapter• SQL Proxy Adapter
Command Line Adapter
The Command Line Adapter allows remote execution of command line processes on the machine where the Adapter is installed. Commands can be executed using the Command Line Web Service.
Reverse Proxy Adapter
The Reverse Proxy Adapter can be used by customers who may need to put their service desk application on the public internet. The Reverse Proxy Adapter can be used to provide a layer of indirection between the Ionix IT Orchestrator and the service desk. The proxy can provide security (HTTPS) and authentication (HTTP Basic Authentication) without needing to set up these configurations on the service desk.
SQL Proxy Adapter
The SQL Adapter allows remote execution of SQL queries on the Adapter system. This allows the Ionix IT Orchestrator to effectively query a database that is only accessible through the public internet. The Adapter can secure the
9 VERSION 2.4 REV A01 300-011-511
ADAPTER FRAMEWORK
communication and provide the actual access to the database. To utilize the SQL Proxy Adapter, you must configure the Adapter to point to the database you wish to use.
Adapter Framework 1
The EMC Adapter Framework is a Java 6 application. The Adapter Framework manages communication between the EMC Adapter and consumers (including EMC Ionix IT Orchestrator). The EMC Adapter interfaces with the ITSM application’s API and is therefore restricted by the limitations of that API. • For some ITSM applications, the EMC Adapter must run on the same machine
as the ITSM application itself. • For other ITSM applications that support remote APIs, the Adapter may run on
a separate machine.
EMC IONIX IT ORCHESTRATOR ADAPTER BMC EVENT MANAGER INSTALLATION AND CONFIGURATION GUIDE 10
ITIL SERVICES SUPPORT
ITIL Services Support 1
EMC Adapters support the Information Technology Infrastructure Library (ITIL) service silos as illustrated in Figure 1-2. The ITIL is a set of best practice standards for Information Technology Service Management (ITSM) and has become the worldwide standard in service management.• Incident Management - needs configuration (CI) dependency information
and determines a correlation of incidents and creates a problem report.• Problem Management - needs all Incident reports related to a problem.
Determines the root cause and determines if an RFC needs to be created from specific CIs.
• Asset Management (Financial) - determines the following:— If a new CI needs to be added to the Configuration Management
system.— If an RFC is needed for the Change Management system.— If a Service Desk task needs to be created to provision and model the
new asset in the Configuration Management system.• Event Management - generates events and alerts.
Figure 1-2 EMC ITIL Service Silos and Objects
11 VERSION 2.4 REV A01 300-011-511
SUPPORTED ITIL OBJECT TYPES
Supported ITIL Object Types 1
Each transaction record has an associated object type. This may either be a built in object type (i.e., Incident) or it may be a custom type. When an item is added into the Acquisition Queue, a specified object type or an object class is used:• If the object type is specified, then that type is used. • If no object type is specified, the type of the object class is used.
Note: Not all Adapters support all objects.
The EMC Adapter may include the following built in object types:• Incident Object - includes the Incident object in the Incident Management
Service silo. The primary difference between an Incident object and an ITObject object lies in the schema. The Incident has a predetermined schema allowing all adapters to map information into common predetermined data elements, whereas the ‘ITObject’ is completely generic and all data is stored as native data.
• Problem Object - includes the Problem object type for Problem Management.
• Change Object - includes the Change object type for Change Management. This object is also known as a Request for Change (RFC).
• CI Object - includes the CI (Configuration Item) object type for Configuration Management. This provides configuration information from a CMDB.
• Event Object – includes the Event object type for Event Management.• IT Object – includes the generic objects correlating back to the endpoint
application forms that may not have any relationship to the ITIL processes. ITObject Services are used in cases where customers have created their own representation of the Incident via custom forms or have developed custom forms representing data needed to integrate between applications.
EMC IONIX IT ORCHESTRATOR ADAPTER BMC EVENT MANAGER INSTALLATION AND CONFIGURATION GUIDE 12
SYSTEM ARCHITECTURE
System Architecture 1
The EMC Adapter translates information from an Endpoint Application for input into a remote vendor application (and vice versa). The translation process includes the following Adapter software components identified in Figure 1-3: • Persistence Database• Web Service Methods:
— Operations Service— Acquisition Service
– Acquisition-Event Service— Notification Service
Figure 1-3 EMC Adapter System Architecture
EMC Ionix ITO
EMC Ionix ITOAdapter
13 VERSION 2.4 REV A01 300-011-511
PERSISTENCE DATABASE
Persistence Database 1
The Persistence Database is an open source, relational Apache Derby database that holds transactions in the order that they are received. Once data is received, it is assigned a transaction number and stored in the Acquisition Queue. This is necessary to ensure that each application in the integration has proper data synchronization.
The Acquisition Queue consists of two areas: • Database Acquisition Queue• Buffer Queue
Database Acquisition Queue
Each time an incident is created, modified, or closed in the Endpoint Application, the change is captured as a transaction. This transaction data is stored in the Database Acquisition Queue, which is periodically polled by the EMC Ionix IT Orchestrator. When polled, the transaction data is packaged into an XML document and sent to the Ionix IT Orchestrator via HTTP/HTTPS. The Ionix IT Orchestrator processes the transaction via its workflows and provides the data to the Operations Service of one or more remote Adapters to facilitate platform integration.
After the transaction is successfully processed, the Ionix IT Orchestrator acknowledges the transaction in the queue, so it can be removed. The Ionix IT Orchestrator can optionally acknowledge the transaction as errors based on workflow thresholds. Transactions acknowledged as “complete” or “errors” are no longer available when polled.
Buffer Queue
The Buffer Queue stores records on disk until there is room in the database for them. This allows the Adapter to perform more effectively with larger loads. Instead of records going into the database directly, they are stored to the file system when the number of database records exceeds the configuration option acquisition.bufferqueue.limit (default 200).
The Buffer Queue stores records waiting to be put in the database in the data/queue/buffer directory. When the buffer is active, it starts a background thread to push data into the database. Order of the records is maintained. The files in the directory should not be modified while the adapter is running.
This also provides a store-forward like capability for the Adapters similar to the agents. If the database is down, the Buffer Queue is also engaged
EMC IONIX IT ORCHESTRATOR ADAPTER BMC EVENT MANAGER INSTALLATION AND CONFIGURATION GUIDE 14
WEB SERVICE METHODS
Web Service Methods 1
EMC Adapters handle communication with the actual ITSM Endpoint Application. EMC Adapters provide a common set of Web Services methods:• Acquisition Service - acquire transaction information from the ITSM
applications.• Operational Service - create, update, or search and retrieve information
within the ITSM applications.
EMC Adapter Acquisition and Operational Services are consumed by processes running in the EMC Ionix IT Orchestrator.
Notification Agent
The majority of the EMC Ionix IT Orchestrator Adapters require an Agent to send notifications to the Adapter from the Endpoint Application.
The BMC Event Manager adapter uses the URL Agent to send notifications. For more information on the URL Agent, refer to “Using the URL Agent” on page 9-106.
Figure 1-4 Adapter Web Service Methods
EMCIonix ITO
15 VERSION 2.4 REV A01 300-011-511
ACQUISITION SERVICE
Acquisition Service 1
The Acquisition Service provides access to objects that have changed in endpoint applications. All of the data is stored in a Persistence Queue. Acquisition is the process that allows the Adapter to react to the creation, modification, or closure of an incident and place that information into the Persistence Database queue. The EMC Ionix IT Orchestrator polls the transactions from the Persistence Database queue. Then the Ionix IT Orchestrator processes and sends the transactions to the target application(s).
The same Acquisition Service is used for all object types and polling can be restricted to certain object types.
Process Flow
Figure 1-5 displays a detailed architectural view and Acquisition process flow for the EMC Adapter. This process allows the EMC Ionix IT Orchestrator to receive and manage transaction data stored in the Persistence Database queue.
The process consists of the following steps:1. The Ionix IT Orchestrator sends a Transaction Management request to the
Acquisition Service.2. The Acquisition Service queries the Persistence Database queue for
transaction data.3. The Persistence Database sends the transaction back upstream to the Ionix IT
Orchestrator.Figure 1-5 Acquisitions Process Flow
EMC Ionix ITO
EMC Ionix ITOAdapter
EMC IONIX IT ORCHESTRATOR ADAPTER BMC EVENT MANAGER INSTALLATION AND CONFIGURATION GUIDE 16
ACQUISITION SERVICE
Acquisition Push
The Acquisition Push mechanism provides lifecycle management of adapter queue transactions. It allows the workflow developer to write workflows to handle transactions only. The Acquisition Push mechanism handles the following functions: • Performs the polling operations. It polls in groups of 50 at a time, which it can
execute in parallel. Only one thread performs polling. • Allows a configurable number of threads to be used to process transactions. • Performs a complete operation when a workflow successfully executes. • Performs a retry if it cannot connect to Ionix IT Orchestrator or if there is an
error. Has a configurable number of retries (defaults to 60). If the retries count is exceeded, the transaction is put into a resolvable error state.
• Automatically notifies the Monitoring Server of errors that occur and logs the errors.
• Allows the workflow creator to optionally use blocking or error functionality manually. This allows for using this mechanism for simple processes but gives the full acquisition service capability where required.
• If Ionix IT Orchestrator is detected to be down (planned or otherwise), the mechanism will wait for Ionix IT Orchestrator service to return rather than continually generating errors.
Terminology
• Buckets - The acquisition push mechanism uses the concept of 'buckets' to parallelize processing. A blocking key is the unique combination of 'serviceId', 'objectType' and 'objectId'. This is used as the criteria for blocking on the acquisition queue. The push mechanism takes results of a poll and breaks it up into separate groups known as buckets. One bucket is created for each blocking key in the poll. If all records are for unique IDs in the endpoint application, then each bucket will have only one record in it. All buckets can be processed independent of other buckets.
• Side Effects - The acquisition push mechanism analyzes the 'side effects' of processing. The Acquisition Push will look at a transaction status and blocking to determine if it is safe to process other transactions in the same bucket. If it determines that is not safe, then it will not do further processing on the same bucket. Side effects are determined as follows: Safe to process in same bucket:— Complete: Will not be present on the queue. Get will fail. — Error: Will not show as 'Blocked'. Not Safe to process in same bucket: — Retry: Will show with transaction status of 'Poll'. — Resolvable Error: Will show as 'Blocked' — Blocked: Will show as 'Blocked'
17 VERSION 2.4 REV A01 300-011-511
ACQUISITION SERVICE
Performance
This mechanism has been optimized to perform handling of adapter queue data the best. • It only uses a single thread for polling. This reduces the idle time load on the
adapters. One problem with Ionix IT Orchestrator polling is having so many jobs continuously hitting the adapters with poll calls.
• Worker threads are used to perform simultaneous processing. Separate jobs do not need to fire on a repeat interval. When there is work in the queue to be done, it can keep all worker threads active.
• All adapter calls are handled internally and do not need to go over the wire (web services). Transactions are only pushed when they are to be run.
Acquisition–Event Service
The Acquisition-Event service is used for event mode Acquisition in conjunction with the Agent. This service receives an HTTP post on a specific URL.
The content of the post is in the format of the “Data” object. This data is mapped using a mapping script provided to the ITOM format and then is added to the acquisition queue.
Acquisition–Event Service Process Flow
Figure 1-6 illustrates the Acquisition–Event process flow for the Adapter. This process posts all the changed data to the Adapter.
The process consists of the following steps:1. The Endpoint Application sends record information to the Agent.2. The Agent sends the record information to the Acquisition-Event Service.3. The Acquisition-Event Service translates the record information into the IT
Object Model.4. The Object data is placed into the Persistence Database queue and is available
to the Acquisition Service.
EMC IONIX IT ORCHESTRATOR ADAPTER BMC EVENT MANAGER INSTALLATION AND CONFIGURATION GUIDE 18
ACQUISITION SERVICE
Figure 1-6 Acquisition-Event Process Flow
EMC Ionix ITOAdapter
19 VERSION 2.4 REV A01 300-011-511
ACQUISITION SERVICE
Notification Service
The Notification Service is a RESTful service that notifies the Adapter when a particular object in the Endpoint Application has been added or changed. The notification happens by performing a POST to a specific URL (configured with each Adapter) typically by the Adapter Agent. The Notification system uses the Operational Service's get method to retrieve the object and put it into the Acquisition Queue. The Notification Service may also pass the object type to the Acquisition Queue.
The ITObject can support multiple object types from different forms. An optional parameter may be specified on the URL to the service that can indicate the object type. This is stored in an extra parameter in the Acquisition Queue called objectType.
For example, to specify the object type, use a URL in the following format:
http://localhost:9080/services/notification/{adapter}/itobject/{objectType}/{id}
Where:
• {adapter} = Adapter name. For the BEM Adapter, the object type is the BEM cell name.
• {objectType} = desired object type for the parameter (i.e., event)• {id} = the incident record ID
When the Notification Service performs the request to retrieve the data for the id, it uses the Operations Service. For the ITObjectService, a table parameter is required that defines the “form”, “table”, “object class” or “object type”. This {objectType} specified on the URL is mapped to this table parameter in the service.
Process Flow
Figure 1-7 displays a detailed architectural view and Notification Service process flow for the EMC Ionix IT Orchestrator Adapter. This process informs the Adapter when incidents are changed or created on the endpoint application.
The process consists of the following steps:1. The Endpoint Application sends a new or modified Incident Record ID to the
Adapter Agent.2. In response, the Agent sends the ID to the Adapter Notification Service.3. The Notification Service forwards the ID to the Operations Service.4. The Operations Service sends the ID and a “get” request to the API Interface.5. The Endpoint Application sends the ID in a “get” method call on the Endpoint
Application API. The API Interface receives the Endpoint Application response, which contains all of the Incident Record information.
EMC IONIX IT ORCHESTRATOR ADAPTER BMC EVENT MANAGER INSTALLATION AND CONFIGURATION GUIDE 20
ACQUISITION SERVICE
6. The translated incident transaction data is placed into the Persistence Database queue.
Figure 1-7 Notification Services Process Flow
Custom Parameters for Notification or AcquisitionEvent Services
The following parameters can be added to the Notification or Acquisition-Event services to influence how a transaction is placed in the Acquisition Queue. Each of these can be added using the -a parameter when calling the Agent. These must be set using the string-field extended field type. • iwave.request.type - This parameter sets the
TransactionRecord.requestType to the value specified. • iwave.real.objectId - This parameter sets the
TransactionRecord.objectId to the value specified. This is used to override the default that uses the actual object's identifier. This is useful when a staging form is used for the record but blocking is needed based on the real objectId.
• iwave.overrides.objectType - This parameter sets the TransactionRecord.objectType to the value specified. This is used to override the default that uses the actual object's type. This is useful to define partner's object types.
• iwave.overrides.serviceId - This parameter sets the TransactionRecord.serviceId to the value specified. This is used to override the default that uses the actual object's service identifier. This is useful to set custom partner IDs.
• iwave.create.date - This parameter sets the TransactionRecord.createDate to the value specified. This must be in the XML date format as if the date-field is used however this must be a
EMC Ionix ITOAdapter
21 VERSION 2.4 REV A01 300-011-511
ACQUISITION SERVICE
string-field for agent compatibility. The create date normally is set at the time the item enters the queue. This allows setting this date from the agent call.
EMC IONIX IT ORCHESTRATOR ADAPTER BMC EVENT MANAGER INSTALLATION AND CONFIGURATION GUIDE 22
OPERATIONS WEB SERVICE
Operations Web Service 1
An operation constitutes the process of pushing, getting, and finding data from a remote application. For example, when an incident is created, modified or closed in an application that is integrated with an endpoint application, the modified information is placed into the endpoint application. This operation effectively synchronizes an application’s data with its remote counterpart.
Process Flow
The process consists of the following steps:1. The Ionix IT Orchestrator calls the Operations Service methods to interact with
the Endpoint application’s API.2. Operations Service translates the record information from the IT Object Model
to the Endpoint application’s native record format. The native record information is sent to the Endpoint application through the API.
3. The API Interface inserts the data into the Endpoint application.4. The results from the API are translated back into the IT Object Model and
returned from the web service call.Figure 1-8 Operations Process Flow
EMC Ionix ITO Adapter
EMC Ionix ITOAdapter
23 VERSION 2.4 REV A01 300-011-511
ABOUT THE BMC EVENT MANAGER ADAPTER
About the BMC Event Manager Adapter 1
The EMC BMC Event Manager Adapter is used to communicate events with the BMC Software Event Managers (BEM). The EMC BEM Adapter performs the following functions:• gets BEM events and sends to other applications• receives new or updated events from other applications and put thems onto a
BEMFigure 1-9 illustrates a high-level view of the integration. The BEM Adapter integration may include the following components:• Adapter Agent - The Adapter Acquisition process uses the Adapter URL
Agent to get event notifications from the BEMs. • IAS Server - An IAS Server with an EMC Agent is required for the BEM Adapter
configuration. If the IAS Server is configured for High Availability, the EMC Agent must be installed on the primary and secondary server.
• iWS Server - BMC Impact Manager Web Services are provided by BMC Impact Integration Web Services Server (iWS Server). On this server, the mcell.dir file identifies the corresponding BMC Event Manager cells. Refer to the Chapter 1, “BEM Configuration” for information on configuring the iWS Server.
• BMC Event Manager cells - The BEM cells communicate with the primary IAS Server. BMC uses an encryption key for the communications between the cells.The number of BEMs this adapter can integrate with is not limited. However, only BEMs that directly send to or receive from this adapter should be involved in this integration.
Figure 1-9 BEM Integration
EMC IONIX IT ORCHESTRATOR ADAPTER BMC EVENT MANAGER INSTALLATION AND CONFIGURATION GUIDE 24
ABOUT THE BMC EVENT MANAGER ADAPTER
Compatibility
The EMC BEM Adapter is compatible with BEM version 7.3.00.
25 VERSION 2.4 REV A01 300-011-511
2Chapter
Supported Services 2This section identifies the supported Adapter Services:• Acquisition Service Methods• Discovery Service• Operations Service Methods
Acquisition Service 2
The following services are made available to the EMC Ionix IT Orchestrator through the EMC Adapter’s Acquisition Service:• Polling Methods• Blocking Methods• Terminal Methods• General Methods
WSDL
The Acquisition Services are used to access the Adapter acquired messages on a queue.The following is the WSDL URL for the Acquisition Service:https://localhost:9443/services/AcquisitionService?wsdl
Polling Methods
While in the Acquisition Queue, transactions are assigned a polling status:• Poll - indicates the transaction has no related transactions that are Blocking
and it is available for polling. Related transactions are defined as those with the same objectType, serviceId and objectId (see the getRelated operation).
• Pending - indicates records that have been polled and are currently being processed.
• Error - indicates records that have been polled, processed and contain errors.
EMC IONIX IT ORCHESTRATOR ADAPTER BMC EVENT MANAGER INSTALLATION AND CONFIGURATION GUIDE 26
ACQUISITION SERVICE
The following are the supported polling methods:• poll(objectType, maxResults) - Polls the acquisition service for
transactions with the given object type. The maximum number of records returned is specified. This method puts the records into the blocking state and sets their status as pending. If maxResults is not specified, one record will be returned.
• pollAny(maxResults) - Polls the acquisition service for transactions. The maximum number of records returned is specified. This method puts the records into the blocking state and sets their status as pending. If maxResults is not specified, one record will be returned.
• pollByService(serviceId, objectType, maxResults) - Polls the acquisition service for transactions with the given service ID and object type. The maximum number of records returned is specified. This method puts the records into the blocking state and sets their status as pending. If maxResults is not specified, one record will be returned.
Blocking Methods
A blocking transaction is a transaction that is currently being processed by anIonix IT Orchestrator instance. A blocking transaction record prevents other related records from being polled. Blocking Methods are used to identify if the transaction is blocking (TRUE) or non -blocking (FALSE). If the transaction is blocking, the blockType is identified as either Pending or Asynchronous.• block(id, message, blockType) - Sets the transaction as Blocking
and sets the blockType. Since polling automatically sets the blocking flag as TRUE, most of the time this method will just set the blocking type.
• unblock(id, message) - Sets the transaction as non-blocking. (Blocking = false)
Terminal Methods
Terminal Methods are called to signal the end of Ionix IT Orchestrator processing on a record.
• complete(id) - Acknowledges a transaction and deletes it. This used to be called acknowledgeComplete. acknowledgeList will be removed as transactions are generally handled sequentially.
• retry(id, message) - Sets the status to Poll and unblocks the transaction. This can be used to resolve and retry errors or to retry something that was polled.
• resolvableError(id, message) - Sets the status to Error and ensures that the transaction is Blocking. This is used instead of acknowledgeError. The blocking is preserved to prevent data corruption. This block type is set to Error.
27 VERSION 2.4 REV A01 300-011-511
ACQUISITION SERVICE
• error(id, message) - Sets the status to error and unblocks. This is used for final errors that were never retried. By using this method, the user allows other related transactions to be processed. Use this method with caution.
General Methods
General Methods are called to get and return transaction and blocking results.• getBlocking(maxResults) - Gets all transactions in the Blocked state.• getBlockingFor(maxResults, blockType, seconds) - Gets all
transactions in the blocked state for a number of seconds. This can be used for auditing asynchronous transactions.
• getTransaction(id) - Gets the specified transaction.• count(id) - Returns the total count of available transactions and error
transactions in the Persistence Queue.• countErrors(id) - Gets the total number of records that are in the Error
state in the Acquisition Queue. Similar to count() but for errors.• getErrors(maxResults) - Gets all transactions with the Error Status.• getRelated(id) - Gets a list of all transactions that are related to this
transaction. Related transactions are defined as ones that have the same objectType, serviceId and objectId. This is useful to get any transactions that are related to a transaction that is blocking.
EMC IONIX IT ORCHESTRATOR ADAPTER BMC EVENT MANAGER INSTALLATION AND CONFIGURATION GUIDE 28
DISCOVERY SERVICE
Table 2-1 identifies the formats and descriptions of the method input variables.
Discovery Service 2
The discovery service allows you to see what web services are deployed on the adapters framework. This will list all adapter web services, Monitoring Server services and any RESTful HTTP services. The Discovery Service information can be accessed in two different ways:• through a SOAP Web Service• through a standard HTTP GET
WSDL
The following are the WSDL locations for the Discovery Service:• For SOAP:
https://localhost:9443/services/DiscoveryService?wsdl • For HTTP GET:
https://localhost:9443/services/discovery
Table 2-1 Acquisition Service Method Input Descriptions
Inputs Format Description
blocktype string This field defines the type, category, tag or state associated with the block.
id Integer Identifies the transaction ID.
maxResults Integer Identifies the maximum number of items to poll. (Default =1)
message String Text string identifying the method message.
objectType String Case sensitive ITIL Object Type (Change, CI, Problem, and Event, Incident or ITObject).
seconds Integer Identifies the number of seconds.
serviceId String Case sensitive Service ID.
29 VERSION 2.4 REV A01 300-011-511
OPERATIONS WEB SERVICE METHODS
Operations Web Service Methods 2
The BMC Event Manager Adapter supports the Operations Event Services.
WSDL Location
The following is the WSDL location for the Operations Event Service:
https://localhost:9443/services/bem/EventService?wsdl
Supported Services
Table 2-2 identifies the supported event services used by the BMC Event Manager Adapter.
For these services, the following parameters are used:• destination - The string type destination parameter is the operation
destination BEM cell name. • event - The update, acknowledge, and clear operations expect the event
parameter with the identifier value that matches the target event ID.• query - The query string for find service is a BMC specific statement. Refer
to BMC documentation for details about how to construct a query.
Figure 2-1 BMC Query Examples
Table 2-2 Event Service Details
Event Description
get(destination, eventID) Gets the event with the identifier provided.
find(destination, query) Finds the event with the endpoint application query specified.
create(destination, event) Creates the event in the endpoint application.
update(destination, event) Updates the event in the endpoint application.
acknowledge(destination, event) Acknowledges the event in the endpoint application.
clear(destination, event) Deletes the target event from the cell..
select ALL format BAROC from EVENT where [$THIS.status equals OPEN] END
select ALL format BAROC from EVENT where [$THIS.mc_owner == iwave AND $THIS.msg contains 'bla'] END
EMC IONIX IT ORCHESTRATOR ADAPTER BMC EVENT MANAGER INSTALLATION AND CONFIGURATION GUIDE 30
OPERATIONS WEB SERVICE METHODS
31 VERSION 2.4 REV A01 300-011-511
3Chapter
System Configuration 1This chapter identifies the requirements for configuring the EMC Adapter solution and discusses the following topics:• Supported Operating Systems• System Requirements• Supported Databases
Supported Operating Systems 1
The Adapter software can be installed on the following operating systems:• Windows - NT4, 2000, XP, 2003 Server, 2008 Server• UNIX- Solaris 10 (Sparc), HP-UX 11 (Itanium), AIX• Linux - x86, x64, Kernel 2.6 (or higher)
System Requirements 1
Before you install the Adapter software, your Adapter server must meet the following system requirements.
Recommended
The following are the recommended system requirements for installing the EMC Adapter software:• CPU: Dual Core Processor running 2GHz or higher • RAM: 2 GB • Disk Space: 5 GB free disk space • Java Runtime Environment: JRE 6.0 Update 16 (or above) is recommended.
This is bundled with the Windows installer.
EMC IONIX IT ORCHESTRATOR ADAPTER BMC EVENT MANAGER INSTALLATION AND CONFIGURATION GUIDE 32
SUPPORTED DATABASES
Minimum
The following are the minimum system requirements for installing the EMC Adapter software:• CPU: Pentium Class or Equivalent Processor or higher • RAM: 512 MB Free • Disk Space: 2 GB free disk space • Java Runtime Environment: JRE 6.0 Update 16 (or above) is recommended.
This is bundled with the Windows installer.
Supported Databases 1
The EMC Adapter uses a relational Apache Derby database for the Persistence Queue. In addition to the Apache Derby database, the EMC Adapter supports the following external databases:• Oracle• DB2• Microsoft SQL Server
33 VERSION 2.4 REV A01 300-011-511
4Chapter
Software Installation 4Topics covered in this section:• Overview• Configuring SSL Communications• Installing a License File• Installing the Adapter Software - Windows• Running the Adapter Windows Service• Installing Adapter Software - UNIX• Running the Adapter UNIX Service• Manual Installation Procedures
EMC IONIX IT ORCHESTRATOR ADAPTER BMC EVENT MANAGER INSTALLATION AND CONFIGURATION GUIDE 34
OVERVIEW
Overview 4
Based on your EMC configuration, the following components may be installed (see Figure 4-1):• EMC ITIL Adapters – includes the Adapter software and license file.• EMC ITIL Adapter Agent (Optional) – includes the Adapter URL Agent
software or custom Agent.The Agent may be installed with the Adapter on the same server or on a separate server.For the BEM Adapter, this would be the IAS server. The URL Agent is required for the BMC Event Manager. For the MS SCCM, the URL Agent must be installed on the SCCM site server machine.
• License files – are provided by EMC Customer Support and must be installed in the appropriate directory.
• EMC Ionix IT Orchestrator (Optional) – includes the Ionix IT Orchestrator software and license file.
Figure 4-1 Installation Components
EMCIonix ITO
35 VERSION 2.4 REV A01 300-011-511
CONFIGURING SSL COMMUNICATIONS
Configuring SSL Communications 4
To configure SSL communications between the Ionix IT Orchestrator and Adapter, complete the following steps.1. From the Adapter server, obtain a copy of the Adapter SSL Certificate. 2. Verify that there is not an existing or incorrect certificate already installed in
the Ionix IT Orchestrator keystore.3. Copy the hostname.cer file to the Ionix IT Orchestrator server.4. Confirm that the JAVA_HOME is set to Java 6. Once the JAVA_HOME is verified,
execute the following command to delete the existing certificate:"%JAVA_HOME%\bin\keytool" -delete -alias iwave -storepass changeit -keystore "%JAVA_HOME%\lib\security\cacerts"
5. Install the certificate into the Ionix IT Orchestrator keystore.6. Confirm that the JAVA_HOME is set to Java 6. Once the JAVA_HOME is verified,
execute the following command to store the certificate:"%JAVA_HOME%\bin\keytool" -import -alias iwave -v -file iwave.cer -keypass iwave -storepass changeit -keystore "%JAVA_HOME%\lib\security\cacerts"
Figure 4-2 SSL Configuration
EMCIonix IT Orchestrator
EMC Ionix ITOAdapter
EMC IONIX IT ORCHESTRATOR ADAPTER BMC EVENT MANAGER INSTALLATION AND CONFIGURATION GUIDE 36
INSTALLING A LICENSE FILE
Installing a License File 4
When the Adapter software is purchased, a software license file (in XML format) is provided by EMC Customer Support. The license file identifies the following information for each Adapter server included in the EMC software configuration:• the types of Adapters that can be installed on the server• the Adapter software version• the expiry date for the Adapter software• the license key
During Adapter software installation, the user identifies the location of the license file. The installer then copies the license file from the original location to the following EMC Adapter installation directory:
install_root/adapters-2.4/conf
37 VERSION 2.4 REV A01 300-011-511
INSTALLING THE ADAPTER SOFTWARE - WINDOWS
Installing the Adapter Software Windows 4
This section identifies the steps required for installing the EMC Adapter software.
Before You Begin
Before you install the EMC Adapter software, complete the following tasks:• Identify the location of the Adapter license file.• Close all Windows applications.• Determine the type of Agent you are installing (if any).• Determine which Adapter will be installed.• Determine on which server the Adapter and Agent software will be installed. .
Start the Installer
To install the EMC URL Agent and/or Adapter software, complete the following the steps:1. Access the location of the Adapter installer executable. Double-click the
setup-Adapter-winxx_2.4.exe file. 2. The Open File - Security Warning window displays. Click Run.3. The InstallAnywhere progress screen displays.Figure 4-3 Installer Progress Screen
EMC IONIX IT ORCHESTRATOR ADAPTER BMC EVENT MANAGER INSTALLATION AND CONFIGURATION GUIDE 38
INSTALLING THE ADAPTER SOFTWARE - WINDOWS
4. The progress screen displays.Figure 4-4 Progress Screen
5. After the InstallAnywhere Wizard finishes loading, the EMC Adapters Installer Introduction screen displays. From this screen, select the Next button to continue.
Figure 4-5 Introduction Screen
39 VERSION 2.4 REV A01 300-011-511
INSTALLING THE ADAPTER SOFTWARE - WINDOWS
6. The Choose Install Set screen displays. From this screen, select the appropriate installation option. — For instructions on installing the URL Agent, refer to “Installing the
URL Agent”. — For instructions on installing your Adapter, refer to “Installing the
Adapter”.Figure 4-6 Choose Install Set
EMC IONIX IT ORCHESTRATOR ADAPTER BMC EVENT MANAGER INSTALLATION AND CONFIGURATION GUIDE 40
Installing the URL Agent
To install the URL Agent software, complete the following steps:1. From the Choose Install Set screen, select the URL Agent and corresponding
Python 2.6.1 for Windows install Set. Click Next. Figure 4-7 Install Set - URL Agent
41 VERSION 2.4 REV A01 300-011-511
2. The Choose Install Folder screen displays. To change the install folder, click the Choose button and navigate to the appropriate installation directory. Click Next.
Figure 4-8 Choose Install Folder Screen
EMC IONIX IT ORCHESTRATOR ADAPTER BMC EVENT MANAGER INSTALLATION AND CONFIGURATION GUIDE 42
3. The Choose Shortcut Folder screen displays. From this screen, specify the areas where the software shortcut icons will be created. Click the Next button to continue.— In a new Program Group – creates a new program group with the
specified name and includes a shortcut in the Windows All Programs list.
— In an existing Program Group – includes a shortcut in an existing program group.
— In the Start Menu – includes the Adapter shortcut in the Start menu.— On the Desktop – creates an Adapter shortcut on the desktop.— In the Quick Launch Bar – includes the Adapter shortcut in the Quick
Launch menu bar.— Other – specify a custom directory location by selecting the Choose
button.— Don’t create icons – Select this option if you do not want to create an
Adapter shortcut.— Create Icons for All Users – Select this option to create shortcuts for
all users configured on the server. The shortcuts are only added to the Start Menu and Desktop.
43 VERSION 2.4 REV A01 300-011-511
Figure 4-9 Choose Shortcut Folder Screen
EMC IONIX IT ORCHESTRATOR ADAPTER BMC EVENT MANAGER INSTALLATION AND CONFIGURATION GUIDE 44
4. The Preparing to Install screen displays. Click Install.Figure 4-10 Preparing to Install
45 VERSION 2.4 REV A01 300-011-511
5. The Installing Adapters screen displays. This screen displays the progress of the URL Agent installation.
Figure 4-11 Installing the Adapter
EMC IONIX IT ORCHESTRATOR ADAPTER BMC EVENT MANAGER INSTALLATION AND CONFIGURATION GUIDE 46
6. If you selected to have Python installed, the Python 2.6.1 Setup screen displays. Select one of the following options and click Next.— Install for users— Install just for me (not available for Windows Vista)
Figure 4-12 Python Setup
47 VERSION 2.4 REV A01 300-011-511
7. The Select Destination Directory screen displays. Click the Up and New buttons to select a directory for the Python 2.6.1 files.The default directory is Python26. Click Next.
Figure 4-13 Select a Destination Directory
EMC IONIX IT ORCHESTRATOR ADAPTER BMC EVENT MANAGER INSTALLATION AND CONFIGURATION GUIDE 48
8. The Customize Python 2.6.1 screen displays. Click Next.Figure 4-14 Customize Python 2.6.1
49 VERSION 2.4 REV A01 300-011-511
9. The Install Python 2.6.1 screen displays. When the installation completes, click Next.
Figure 4-15 Install Python 2.6.1
EMC IONIX IT ORCHESTRATOR ADAPTER BMC EVENT MANAGER INSTALLATION AND CONFIGURATION GUIDE 50
10. The Completing Python Installer screen displays. Click Finish button to complete the Python installation.
Figure 4-16 Completing Python Installer
51 VERSION 2.4 REV A01 300-011-511
11. The Install Complete screen displays. Click Done to exit the installer.Figure 4-17 Install Complete
EMC IONIX IT ORCHESTRATOR ADAPTER BMC EVENT MANAGER INSTALLATION AND CONFIGURATION GUIDE 52
Installing the Adapter
1. From the Choose Install Set screen, select the BMC Event Manager Adapter option. Click Next.
Figure 4-18 Choose Install Set Screen
53 VERSION 2.4 REV A01 300-011-511
2. The Choose Install Folder screen displays with the default installation folder. To change the install folder, click the Choose button and navigate to the appropriate installation directory. Click Next.
Figure 4-19 Choose Install Folder Screen
EMC IONIX IT ORCHESTRATOR ADAPTER BMC EVENT MANAGER INSTALLATION AND CONFIGURATION GUIDE 54
3. The Choose Shortcut Folder screen displays. From this screen, specify the areas where the software shortcut icons will be created. Click the Next button to continue.— In a new Program Group – creates a new program group with the
specified name and includes a shortcut in the Windows All Programs list.
— In an existing Program Group – includes a shortcut in an existing program group.
— In the Start Menu – includes the Adapter shortcut in the Start menu.— On the Desktop – creates an Adapter shortcut on the desktop.— In the Quick Launch Bar – includes the Adapter shortcut in the Quick
Launch menu bar.— Other – specify a custom directory location by selecting the Choose
button.— Don’t create icons – Select this option if you do not want to create an
Adapter shortcut.— Create Icons for All Users – Select this option to create shortcuts for
all users configured on the server. The shortcuts are only added to the Start Menu and Desktop.
Figure 4-20 Choose Shortcut Folder Screen
55 VERSION 2.4 REV A01 300-011-511
Note: If you choose not to create a menu shortcut, you can start the Adapterframework using the startAdapters.bat file. This file is located in theinstall_root\bin directory.
4. The Choose License File screen displays. From this screen, verify that the license file location identified in the Please Choose License File field, is correct. To change the license file location, select the Choose button and select the appropriate directory. Click Next.
Figure 4-21 Choose License File Screen
EMC IONIX IT ORCHESTRATOR ADAPTER BMC EVENT MANAGER INSTALLATION AND CONFIGURATION GUIDE 56
5. The Enable Security screen displays. On this screen, the Use HTTPS (port 9443) check box is selected by default. This option uses SSL for secure Web-based communications. To use standard unsecured HTTP Web-based communications, un-check this box. Click Next.
Figure 4-22 Enable Security screen
57 VERSION 2.4 REV A01 300-011-511
6. The Web Service Authentication screen displays. From this screen, enter the Username and Password you want to use for authentication. You must enter the password twice for confirmation purposes. Click Next.
Figure 4-23 Web Services Authentication
EMC IONIX IT ORCHESTRATOR ADAPTER BMC EVENT MANAGER INSTALLATION AND CONFIGURATION GUIDE 58
7. The Monitoring Server Configuration screen displays. Based on your Adapter configuration, determine the appropriate step to complete:— If you are monitoring the Adapter with the Monitoring Server and the
Monitoring Server is on a different host from the Adapter, select the Specify host for Monitoring Server checkbox. Identify the following information and click Next:– URL - identifies the URL location of the Monitoring Server.– Username - identifies the username for the Monitoring Server.– Password - identifies the password associated with the username.
— If you are not using a Monitoring Server or your Monitoring Server is running on the same server as the Adapter, leave the checkbox unchecked. Click Next.
Figure 4-24 Monitoring Server Configuration
59 VERSION 2.4 REV A01 300-011-511
8. The Pre-Installation Summary screen displays. Using the scroll bar, review the information before continuing the installation process.— If the information is correct, click Next.— If the information is incorrect, click Previous and change the
configurations on the previous screen. Click Next when done.Figure 4-25 Pre-Installation Summary
EMC IONIX IT ORCHESTRATOR ADAPTER BMC EVENT MANAGER INSTALLATION AND CONFIGURATION GUIDE 60
9. The Adapters Configuration screen displays. Click Next.Figure 4-26 Adapters Configuration
61 VERSION 2.4 REV A01 300-011-511
10. The Preparing to Install screen displays. Click Install.Figure 4-27 Preparing to Install
EMC IONIX IT ORCHESTRATOR ADAPTER BMC EVENT MANAGER INSTALLATION AND CONFIGURATION GUIDE 62
11. The Installing Adapters screen displays. This screen displays the progress of the installation process. During this step, the Windows Service is installed and a keystore file is generated for SSL.
Figure 4-28 Installing the Adapter
63 VERSION 2.4 REV A01 300-011-511
12. The Start Service screen displays. From this screen, select the Start the Adapter Service checkbox if you want to start the Adapter service during the installation process.
If you do not start the Adapter Service during installation, the Adapter service can be started manually. For more information on starting and stopping the Windows Service, refer to "Running the Adapter Windows Service" on page 68. Click Next.
Figure 4-29 Start Service
EMC IONIX IT ORCHESTRATOR ADAPTER BMC EVENT MANAGER INSTALLATION AND CONFIGURATION GUIDE 64
13. If you selected the Start the Adapter Service option, the following screen displays.
Figure 4-30 Starting the Adapters Service
65 VERSION 2.4 REV A01 300-011-511
14. The Install Complete screen displays. Click Done to exit the installer.Figure 4-31 Install Complete
EMC IONIX IT ORCHESTRATOR ADAPTER BMC EVENT MANAGER INSTALLATION AND CONFIGURATION GUIDE 66
67 VERSION 2.4 REV A01 300-011-511
RUNNING THE ADAPTER WINDOWS SERVICE
Running the Adapter Windows Service 4
The Adapters Windows Service is automatically installed during the installation process and if selected, is automatically started, as well.
Shortcuts
Based on which option was selected during installation, shortcuts may be provided from the Windows Start menu for starting and stopping the Windows Service.• To start the Adapters Service, select Start>All
Programs>install_root>adapters-2.4>Start Adapters Service.• To stop the Adapters Service, select Start>All
Programs>install_root>adapters-2.4>Stop Adapters Service.
Executable Location
Two executable files are provided for interacting with the Windows Service:• adapters.exe: The main executable that launches the service.• adaptersw.exe: The executable for starting the Service Manager application.
These files are located in the installation bin directory:install_root/bin
Service Manager Application
The Service Manager application is an application that allows you to configure options of the service such as turning on debugging. The service can also be started and stopped from this console.
To start the Manager application, double-click on the adaptersw.exe file. The Adapters Properties screen displays (see Figure 4-32).
EMC IONIX IT ORCHESTRATOR ADAPTER BMC EVENT MANAGER INSTALLATION AND CONFIGURATION GUIDE 68
RUNNING THE ADAPTER WINDOWS SERVICE
Figure 4-32 Adapters Properties - Services Manager Console
69 VERSION 2.4 REV A01 300-011-511
INSTALLING ADAPTER SOFTWARE - UNIX
Installing Adapter Software UNIX 4
Before You Begin
Before installing the Adapters on the UNIX platform, you must complete the following tasks:• For UNIX platform:
— Install the Java Runtime Environment (JRE) 6 Update 11. — Java 6 must be installed and run on the local computer. If multiple Java
platforms are present on the local computer, make sure that %JAVA_HOME% points to Java 6 when running the Adapter.
• For both UNIX and Linux (optional):— Create an “admin” user for running the framework.
Installing the Software
To install the Adapter software on a UNIX platform, run the appropriate setup application from the Linux or UNIX prompt.• Linux Installer: setup-Adapter-linux_2.4.bin• Other UNIX Platforms: setup-Adapter-unix_2.4.bin
Running the Adapter UNIX Service 4
The bin/service.sh script starts and stops the framework as a service. A special file service.PID is created when the service is started. This is used to find the PID of the running service. Do not delete this file manually.
• Starting the service: ./service.sh start• Stopping the service: ./service.sh stop• Restarting the service: ./service.sh restart• Service Status:./service.sh status
If you wish the service to start automatically at boot time, the following is a sample init.d script you can use to call the service.sh script:
#!/bin/shIWAVE_USER=adminIWAVE_SERVICE=/usr/IonixITO/adapters-2.4/bin/service.shsu - ${IWAVE_USER} -c "$IWAVE_SERVICE" $1
EMC IONIX IT ORCHESTRATOR ADAPTER BMC EVENT MANAGER INSTALLATION AND CONFIGURATION GUIDE 70
MANUAL INSTALLATION PROCEDURES
Manual Installation Procedures 4
If an installation is being performed on an unsupported operating system, the EMC Adapter can be installed manually without the installer.
Before You Begin
Before manually installing the Adapter software, you must complete the following tasks:• Ensure that you are installing on either a Windows or UNIX platform.• Java 6 must be installed and run on the local computer. If multiple Java
platforms are present on the local computer, make sure that %JAVA_HOME% points to Java 6 when running the EMC Adapter.
• An Adapter license file (license.xml) must be copied to the install_root\conf directory. If you do not have a license file for your Adapter, contact your EMC Sales Representative.
Install the Files
To install the files manually on a Windows or UNIX platform, complete the appropriate steps.
For Windows:
1. Contact EMC Customer Support and request a zipped copy of the Adapter installer to be placed on the EMC FTP site.
2. From the Adapter server, download the zipped file.3. Unzip the file and place the extracted file(s) in any directory on any machine
with network access to the computer running the endpoint application.
Note: For Windows installations, there are no registry keys to edit. Thelocation of these files is referred to as %IonixITO_HOME%.
For UNIX and Linux:
1. Contact EMC Customer Support and request a tarred/zipped copy of the Adapter installer to be placed on the EMC FTP site.
2. From the Adapter server, download the tarred/zipped file in binary format. Place the .zip file in the directory where you want the software installed. For example: /opt/EMC
3. Extract the files included in the zip file. This will create an adapters directory with several sub directories.jar xfv adapter-2.4.zip
71 VERSION 2.4 REV A01 300-011-511
MANUAL INSTALLATION PROCEDURES
4. Change to the adapters/conf directory. 5. Copy your license file to the conf directory. Ensure that the license file is
named license.xml.6. Change to the adapters/endpoints directory. Access the directory for
your endpoint adapter.7. Copy the endpoint-spring.xml file to the adapters/conf directory.8. Using the propertiesEditor.bat utility, modify the following
parameters in the framework.properties file.— framework.username
— framework.password - use the -h option when setting the password.
— endpoint.datasource.jdbc.url
— endpoint.datasource.jdbc.username
— endpoint.datasource.jdbc.password
—
9. Change to the adapters/bin directory10. Run the setup.bat script.
./setup.bat
11. Install the Adapter as a service. ./service.bat install
12. Start the adapters service.13. After a few seconds, change to the adapters/log directory and view the
framework.log file. At the bottom of the file, the log should indicate that the adapter framework has started.
EMC IONIX IT ORCHESTRATOR ADAPTER BMC EVENT MANAGER INSTALLATION AND CONFIGURATION GUIDE 72
MANUAL INSTALLATION PROCEDURES
73 VERSION 2.4 REV A01 300-011-511
5Chapter
BEM Configuration 1After installing the BEM Adapter software, the following procedures must be completed:• Install the iWS Server• Configure the iWS Server• Configure the BEM to Call the Adapter Agent¶
Install the iWS Server 1
The iWS server may come with customer original BEM installation package. If it's not already installed, the Impact Integration Developer Kit (iiDK) Web Service API version 7.1 is available at the following URL:http://developer.bmc.com/communities/legal/iidk_download.htm.
You can download either a Windows or UNIX installation package. You must install the iWS server as a service. Once installed, the services are available at the following URL by default:http://hostname:6070/imapi.
Configure the iWS Server 1
For EMC operations, the iWS Server must be installed and configured to identify the BEM cells to which the EMC Adapter will send messages. To configure the iWS Server to communicate with the BEM cells, complete the following steps:1. From the iWS server, access the mcell directory. 2. Using a text editor, open the iWS server mcell.dir file.3. For each BEM cell, add the following line and include the associated
information:cell <unique-cell-name> <encryption-key> <hostname>:<port>
where<unique-cell-name> = the actual cell name<encryption-key> = the installation encryption key. (Default: mc). <hostname> = the machine hostname where the BEM cell resides<port> = the port number of the machine where the BEM cell resides (Default = 1828)
EMC IONIX IT ORCHESTRATOR ADAPTER BMC EVENT MANAGER INSTALLATION AND CONFIGURATION GUIDE 74
CONFIGURE THE BEM TO CALL THE ADAPTER AGENT¶
It's not required to create an user account for EMC to access BEM or the iWS server. The WS server can be configured to work in SSL mode by changing the server configuration file servercfg.xml. The default SSL service location is at https://hostname:6075/imapi.
Note: For more details on iWS server installation and configuration, refer tothe BMC document “BMC II Web Services Server Developer Guide”.
Configure the BEM to Call the Adapter Agent¶ 1
Each BEM that needs to directly send events to the EMC Adapter must be configured to call the EMC Agent deployed on the IAS machine. When a BEM needs to send an event to the EMC Adapter, either for creation or update, it must make the following system call:
agent.py http://<hostname>:9080/services/notification/bem/event/<cellName>/<eventId>
Where:
• agent.py = the Python version of EMC Notification agent. User may also use the system executable version.
• <hostname> = the domain hostname where this adapter resides. • <cellName> = the name of the cell where this event is hold. • <eventId> = the mc_ueid of this event.
Note: It is recommended that a remote action policy be used to call the EMCAgent. The action policy must be triggered by an event update orcreation.
75 VERSION 2.4 REV A01 300-011-511
CONFIGURE THE BEM TO CALL THE ADAPTER AGENT¶
EMC IONIX IT ORCHESTRATOR ADAPTER BMC EVENT MANAGER INSTALLATION AND CONFIGURATION GUIDE 76
6Chapter
Framework Properties 1During installation, the framework.properties file is installed in the conf directory. The framework.properties file includes configuration parameters for the Adapter Framework. Any parameters specified in this file are automatically recognized by the external (framework.xml) and internal (inside the framework jars) spring configurations. These parameters allow the base configuration to be used and only a few parameters should be changed.
The framework.properties file is in the standard Java Properties format. The file can be edited using a text editor or the properties in the file can be edited using the PropertiesEditor command.
The properties in the framework.properties file that are encrypted are shown in the format: "ENC;XXXXX" where XXXXX is the encrypted data.
Note: The Properties Editor tool is only capable of creating these propertiesand not reading them.
Properties Editor Tool 1
The Properties Editor is a tool used to edit configuration properties in the framework.properties file. This command allows encrypted parameters to be specified.
Starting the Tool
To start the Properties Editor tool, execute the following batch file or shell script from the command line:• For Windows: bin/propertiesEditor.bat
• For Unix: bin/propertiesEditor.sh
EMC IONIX IT ORCHESTRATOR ADAPTER BMC EVENT MANAGER INSTALLATION AND CONFIGURATION GUIDE 77
PARAMETERS
Using the Command
When entering the PropertiesEditor command, multiple options can be specified in a single invocation of the command.
Usage
PropertiesEditor [options] <target-file>
Options
-p <key>=<value> Sets a property with the key and value specified in plain text.
-e <key>=<value> Sets a property with the key and value specified in encrypted data.
-h <key>=<value> Sets a property with the key and value specified in SHA-1 Hashed format. This is used for framework passwords.
-m <file> Merges multiple properties from the file specified to the target file.
Examples
The following are examples of using the Properties Editor tool: • To set the framework username and password for authentication, enter the
following command:bin/propertiesEditor.bat -p framework.username=admin -h framework.password="Hashed String" conf/framework.properties
• To set the Adapter hostname, username and password, enter the following command:bin/propertiesEditor.bat -p adapter.host=hostname -p adapter.username=Demo -e adapter.password=password conf/framework.properties
Parameters 1
The framework.properties file includes two types of properties:• global framework properties• Adapter-specific properties
Global Framework Properties
These global framework properties are automatically configured for all Adapters.
EMC IONIX IT ORCHESTRATOR ADAPTER BMC EVENT MANAGER INSTALLATION AND CONFIGURATION GUIDE 78
PARAMETERS
Framework Authentication
The following properties are used for the Web Services HTTP authentication:• framework.username - Username to log into the provided web services.• framework.password - Password to log into the provided web services.• framework.admin.password - Administrator password to restart the
adapters over JMX.• framework.auth.enabled - If this is set to true, authentication will be
required. (Default: true)
Default base URLs to Exposed Services
The following properties configure the base URLs for the Adapter services:• services.url - Base URL for all adapter operations services (https://
${hostname}:9443/services).• client.url - Base URL for client acquisition service (https://
${hostname}:9443/services).• notification.url - Base URL for notifications (http://
${hostname}:9080/services/notification).• acquisitionevent.url - Base URL for acquisition events (http://
${hostname}:9080/services/acquisition-event).
DataSource Properties
The following properties can be modified to enable support for another database instead of the default (Derby) Persistence database:• datasource.jdbc.driver – identifies the database driver (i.e.,
com.microsoft.sqlserver.jdbc.SQLServerDriver). • datasource.jdbc.url – identifies URL to the database (i.e.,
jdbc:sqlserver://hostname:1433;DatabaseName=testdb). • datasource.jdbc.username - identifies the username to log into the
database.• datasource.jdbc.password – identifies the password associated with
the database username. If required, the password can be encrypted.
Database Monitoring
The following properties can be modified to enable monitoring tasks on the database. Only one Adapter per database can have this enabled.• datasource.monitor.enabled - identifies if database monitoring is
enabled. (Default: true)
79 VERSION 2.4 REV A01 300-011-511
PARAMETERS
Acquisition monitoring
The Adapters automatically send the adapter.acquisition.queuesize and adapter.acquisition.queuewait events to the Monitoring Server based on the health of the Adapter queue. The following parameters are used to configure Acquisition monitoring. • acquisition.monitor.enabled - identifies if Acquisition monitoring is
enabled. (Default: true)• acquisition.monitor.queue-threshold - identifies the number of
items allowed in the queue before the queuesize event is sent. (Default: 500)
• acquisition.monitor.queue-wait-hours- identifies the number of hours an item must be on the queue before the queuewait event is sent (Default: 24)
• acquisition.bufferqueue.limit - identifies the maximum number of items that are allowed in the buffer queue. (Default: 500)
Automated Alerts
If the Monitoring Server is on a different host from the Adapter, the following configuration are updated to include the connection settings for the Monitoring Server. These parameters identify the location to send automated alerts. If you are using a Monitoring Server and it is installed on the same server as your Adapter, leave these parameters blank.• framework.events.url - identifies the Monitoring Server URL location
to send events.• framework.events.username - identifies the Monitoring Server
username for basic authentication.• framework.events.password - identifies the password associated with
the Monitoring Server username. The password can be encrypted.
EMC IONIX IT ORCHESTRATOR ADAPTER BMC EVENT MANAGER INSTALLATION AND CONFIGURATION GUIDE 80
PARAMETERS
81 VERSION 2.4 REV A01 300-011-511
BMC Event Manager Framework Properties
The framework.properties file includes the following properties for the BMC Event Manager Adapter:• bem.local.serviceId - The identifier to be used to identify this Adapter to
EMC acquisition and BMC WS server subscription. (Default: EMCBEM73-1) • bem.ws.imURL - BMC Impact Manager Web Services endpoint. (Default:
http://localhost:6070/imapi) • bem.event.delay - After receiving a notification, the amount of time (in
milliseconds) that must expire before retrieving an event on BEM. (Default: 0)• bem.default_destination - (Optional) The default EMC operation
destination BEM cell name. May be useful if there is only one BEM cell involved in the integration, and user doesn't want to provide the cell name for each of the operation calls.
• bem.ws.username - The BMC username to be used by this adapter. If the incoming event has no "administrator" value set, then this value is used.
Figure 1-1 Example Framework Properties file - BMC Event Manager
## BMC Event Manager (BEM) Adapterbem.local.serviceId = EMCBEM73-1bem.ws.imURL = http://localhost:6070/imapibem.event.delay = 0bem.default_destination = bem.ws.username =
EMC IONIX IT ORCHESTRATOR ADAPTER BMC EVENT MANAGER INSTALLATION AND CONFIGURATION GUIDE 82
83 VERSION 2.4 REV A01 300-011-511
7Chapter
Custom Configuration 1Topics covered in this section:• Client Acquisition Service• Adapter High Availability• Java to Adapter Integration• Persistence Database Management
Client Acquisition Service 1
The Client Acquisition service allows customers to leverage the EMC Acquisition Services with their data. Customer data can be added to the existing EMC Acquisition system. Processes in Ionix IT Orchestrator can be configured to feed off of their data similar to the existing Adapter workflows. Two services are provided for getting data into the Acquisition Queue. Both provide the exact same features, but allow customers to choose the easiest integration point.
Data Format
The data must be provided in the following XML format:
<?xml version="1.0“ encoding=”UTF-8”?><client-object> <!-- Any client XML can go in here --></client-object>
Object Format
Schema for the client object (client-object.xsd):
<?xml version="1.0" encoding="UTF-8" standalone="yes"?><xs:schema version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="client-object" type="clientDefinedObject"/>
EMC IONIX IT ORCHESTRATOR ADAPTER BMC EVENT MANAGER INSTALLATION AND CONFIGURATION GUIDE 84
CLIENT ACQUISITION SERVICE
<xs:complexType name="clientDefinedObject" mixed="true"> <xs:sequence> <xs:any processContents="skip" namespace="##other" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType></xs:schema>
To provide data to the acquisition queue, customers must always specify the serviceId and objectType along with the object data.• serviceId - Unique identifier of the service that placed this data here.
This is used to differentiate between different applications that push data into the queue.
• objectType - Unique type of the object. This should not be one of the built in types (Incident, Event, CI, Change, Problem, ITObject). It can be any unique name to identify the customer's data.
The return for the service provides the ID of the transaction back to the client. This can be used to correlate the call with the transaction that appears in the queue.
RESTful Client Acquisition
For the Client Acquisition endpoint, HTTP POST to the following address:
https://localhost:9443/services/client-acquisition/{serviceId}/{objectType}:
Replace {serviceId} and {objectType} with the desired values.
• HTTP Basic Authentication is expected to authenticate the user.• If a problem occurs, and HTTP 500 (Internal Error) response code is returned,
the content of the response contains the error message. A HTTP 200 code indicates the request was processed normally. Any HTTP 4xx codes indicate some sort of client error.
Note: If you have a form with a ":" colon in it, use the ASCII Hex decimal with a"%" sign prefix to escape it in the Restful service URL.
Calling the RESTful Client Acquisition from curl
In order to call the RESTful Client Acquisition from curl, the URL Agent must be installed. Once the URL Agent is installed, complete the following tasks: 1. Create an XML file with the root node of the client-object.
<?xml version="1.0" encoding="UTF-8"?><client-object> <!-- Any client XML can go in here --></client-object>
2. From the command line, call the following command:
85 VERSION 2.4 REV A01 300-011-511
CLIENT ACQUISITION SERVICE
python agent.py -l -v -x {filename} https://iwave:password@localhost:9443/services/client-acquisition/{serviceId}/{objectType}
3. An HTTP/1.1 200 OK response is sent and the data should be in the Acquisition Queue.
SOAP Client Acquisition Web Service
The following is the location of the SOAP Client Acquisition Service WSDL:https://localhost:9443/services/ClientAcquisitionService?wsdl
If an error occurs, a web service fault is thrown matching the framework exception com.iwave.acquisition.client.AcquisitionException.This exception contains a message with the details of the problem. HTTP Basic Authentication is expected to authenticate the user.
Running on another port
To run the Client Acquisition service from another port, you must modify the client-acquisition-spring.xml file. Figure 7-1 identifies the spring configuration file for the client acquisition service. In this file, perform the following modifications:1. Replace the ${services.url} with the required URL and port number
(i.e., 9080).
Note: If you specify port 9443, you must use HTTPS in the URL.
2. If you need to disable authentication, delete the following three lines in the two places they occur.<jaxws:inInterceptors> <ref bean="securityInterceptor"/></jaxws:inInterceptors>
3. To start a second copy of the Acquisition Service, copy the modified file to the conf directory.
EMC IONIX IT ORCHESTRATOR ADAPTER BMC EVENT MANAGER INSTALLATION AND CONFIGURATION GUIDE 86
CLIENT ACQUISITION SERVICE
Figure 7-1 Spring Configuration
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance xmlns:jaxws="http://cxf.apache.org/jaxws" xmlns:jaxrs="http://cxf.apache.org/jaxrs" xmlns:lang="http://www.springframework.org/schema/lang" xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd http://cxf.apache.org/jaxrs http://cxf.apache.org/schemas/jaxrs.xsd http://www.springframework.org/schema/lang http://www.springframework.org/schema/lang/spring-lang-2.0.xsd">
<bean id="clientAcquisitionService2" class="com.iwave.acquisition.client.ClientAcquisitionService"> <property name="queue" ref="acquisitionQueue"/></bean>
<!-- Restful exception handler --> <bean id="acquisitionExceptionProvider2" class="com.iwave.acquisition.client.AcquisitionExceptionMapper"/>
<!-- Endpoints --> <jaxws:endpoint id="clientAcquisitionServiceEndpoint2" implementor="#clientAcquisitionService2" implementorClass="com.iwave.acquisition.client.ClientAcquisitionService" address="${services.url}/ClientAcquisitionService2"> <jaxws:inInterceptors> <ref bean="securityInterceptor"/> </jaxws:inInterceptors> </jaxws:endpoint>
<jaxrs:server id="clientAcquisitionServiceRest2" address="${services.url}/client-acquisition2"> <jaxrs:inInterceptors> <ref bean="securityInterceptor"/> </jaxrs:inInterceptors> <jaxrs:serviceBeans> <ref bean="clientAcquisitionService2"/> </jaxrs:serviceBeans> <jaxrs:providers> <ref bean="acquisitionExceptionProvider2" /> </jaxrs:providers> </jaxrs:server></beans>
87 VERSION 2.4 REV A01 300-011-511
ADAPTER HIGH AVAILABILITY
Adapter High Availability 7
The EMC Ionix IT Orchestrator Adapter solution may be scaled to allow more Adapters in the network configuration. Adapter scaling may be performed for the following reasons:• to increase the number of transactions being processed• to provide high-availability (i.e., redundancy)• to handle additional simultaneous requests
Figure 7-2 provides an illustration of a network configuration with multiple Adapters utilizing an external Acquisition database.
Figure 7-2 Adapter Scaled Network Configuration
Operations Services Scaling
The Operations Web Services can be scaled easily. The operations are essentially stateless, allowing a second adapter to be installed on another system that can handle the operations. If the primary Adapter fails, workflows can be updated to switch to use a secondary Adapter’s operations services.
Acquisition Services Scaling
The Acquisition Services component of the Adapter architecture can be scaled by completing the following steps:1. Offload the Acquisition Queue to an external database.2. Use the external database with multiple Adapters.
EMC IONIX IT ORCHESTRATOR ADAPTER BMC EVENT MANAGER INSTALLATION AND CONFIGURATION GUIDE 88
ADAPTER HIGH AVAILABILITY
Use the External Database for Multiple Adapters
Each Acquisition Service is pulling from the same shared queue. A second adapter install can be used to handle additional acquisitions. Workflows can be updated to switch to the second adapter if the acquisition queue operations fail on the primary server.
Adapter Failover Infrastructure
Since it is difficult to add logic for Adapter failover within workflows, specific infrastructure must be implemented to handle Adapter failover. The following are options for implementing high-availability for the EMC Adapters:• Round-Robin DNS Server - A Round-Robin DNS can be used to allow a single
hostname to provide access to multiple IP addresses representing the multiple Adapter environments installed. With this configuration, if the primary Adapter server goes out-of-service, the DNS server can point users to the secondary Adapter server that is in-service.
• Highly Available HTTP Proxy Server - A highly available HTTP Proxy server can be used to forward requests between Adapters. When the primary Adapter server goes out-of-service, the HTTP proxy server should be able to forward requests to a secondary Adapter server that is in-service.
Agent Scaling
It is assumed that if the endpoint application is up and running, it should be able to invoke the Agent script running within that environment. The agent needs to only notify one acquisition adapter that is running. The reason is that the message only needs to be added to the queue once.
There are two options for this:• If the customer has a Round-Robin DNS or proxy set up that allows access to
any of the installed adapters that are running, this can be used from the agent. The agent would point to the single hostname. One of the adapters receives the request and add it only once to the queue.
• If multiple URLs are present on the agent command line, it makes the request to only one of them, the first available one. Store-forwarding is still provided but is only used if none of the services can be reached.
89 VERSION 2.4 REV A01 300-011-511
JAVA TO ADAPTER INTEGRATION
Java to Adapter Integration 7
If a Java application must be used to push information into any of the Adapter RESTful web services, specific Java code must be used. Figure 7-3 includes a Java code sample used to perform an HTTP POST or GET with the EMC Adapter.
Prerequisites
In order to use this code, you need to download the Apache Commons HTTP Client version 3.1. The Commons HTTP Client can be downloaded from the following location:
http://hc.apache.org/downloads.cgi
From the Apache Http Components Downloads page, scroll down and select to download the Commons HttpClient 3.1. To use this client, you also need the following jar files:• commons-httpclient-3.1.jar • commons-codec-1.3.jar • commons-logging-1.1.1.jar
EMC IONIX IT ORCHESTRATOR ADAPTER BMC EVENT MANAGER INSTALLATION AND CONFIGURATION GUIDE 90
JAVA TO ADAPTER INTEGRATION
Figure 7-3 Sample Java code
package com.iwave.net;import java.io.IOException;import org.apache.commons.httpclient.HttpClient;import org.apache.commons.httpclient.HttpException;import org.apache.commons.httpclient.HttpStatus;import org.apache.commons.httpclient.methods.GetMethod;import org.apache.commons.httpclient.methods.PostMethod;import org.apache.commons.httpclient.methods.StringRequestEntity;/** * Example of making an HTTP GET or POST in Java. * * */public class SimpleHTTPClient { public String post(String url, String xml) throws HttpException, IOException { HttpClient client = new HttpClient(); PostMethod method = new PostMethod(url); try { if (xml != null) { method.setRequestEntity(new StringRequestEntity(xml, "text/xml" , "UTF-8")); } // Execute the method. int statusCode = client.executeMethod(method); if (statusCode != HttpStatus.SC_OK) { throw new IOException("HTTP POST method failed: " + method.getStatusLine()); } return method.getResponseBodyAsString(); } finally { method.releaseConnection(); } } public String get(String url) throws HttpException, IOException { HttpClient client = new HttpClient(); GetMethod method = new GetMethod(url); try { // Execute the method. int statusCode = client.executeMethod(method); if (statusCode != HttpStatus.SC_OK) { throw new IOException("HTTP GET method failed: " + method.getStatusLine()); } return method.getResponseBodyAsString(); }
91 VERSION 2.4 REV A01 300-011-511
PERSISTENCE DATABASE MANAGEMENT
Persistence Database Management 7
This section discusses the following maintenance tasks that can be performed on the Persistence database.• Removing Transactions• Reclaiming Unused Disk Space• Connecting to the Database• Changing the Database Port Number• Offloading the Acquisition Queue to an External Database
Removing Transactions
The pruning service removes all transactions that are older than 7 days and are in the “Error” state from the Persistence database. The service runs every night at 3:00 a.m.
Reclaiming Unused Disk Space
After large amounts of data have been deleted or updated on the Derby database, a Derby table or index can contain unused space. By default, Derby does not return unused space to the operating system. However, Derby does provide a way to reclaim unused space in tables and associated indexes.
If you determine that a table and its indexes have a significant amount of unused space, use one of the following procedures to reclaim the space: • SYSCS_UTIL.SYSCS_COMPRESS_TABLE - is guaranteed to recover the
maximum amount of free space, at the cost of temporarily creating new tables and indexes before the statement in committed.
• SYSCS_UTIL.SYSCS_INPLACE_COMPRESS_TABLE - attempts to reclaim space within the same table, but cannot guarantee it will recover all available space. This procedure uses no temporary files and moves rows around within the same table or index.
For more information, refer to the Apache Derby Administration Guide.
To reclaim space in the table and recreate the indexes, execute the following script from adapters/bin directory:
runScript.bat derbyMaint
EMC IONIX IT ORCHESTRATOR ADAPTER BMC EVENT MANAGER INSTALLATION AND CONFIGURATION GUIDE 92
PERSISTENCE DATABASE MANAGEMENT
Connecting to the Database
To connect to the Adapter Derby database over the network, use the Java driver derbyclient-10.4.2.0.jar. The following URL will connect to the Derby database running in the Adapter.
jdbc:derby://HOST:1528/persistence-db
Changing the Database Port Number
To change the port number of the database, modify the derby.drpa.portNumber in the system.properties file located in the conf directory.
Offloading the Acquisition Queue to an External Database
In addition to the Apache Derby database, the Acquisition Queue can be offloaded to an external database. To enable support for another database, complete the following steps:1. Download the JDBC driver for the required platform and place the file in the
lib/adapters directory in the adapter install directory.2. Modify the following properties in the Adapter framework.properties
file:— datasource.jdbc.driver: identifies the database driver name
(i.e., com.microsoft.sqlserver.jdbc.SQLServerDriver).— datasource.jdbc.url: identifies the URL to the database
(i.e., jdbc:sqlserver://hostname:1433;DatabaseName=testdb).— datasource.jdbc.username: Username— datasource.jdbc.password: Password. This can be encrypted if
desired.3. Restart the Adapter.
For the database to be highly available, database clustering technologies should be used. Refer to the appropriate database documentation for more information.
93 VERSION 2.4 REV A01 300-011-511
8Chapter
Ionix IT Orchestrator Configuration 1Topics covered in this chapter:• Using the ITIL Adapter Plugin• Adapter API
Using the ITIL Adapter Plugin 1
The ITIL Adapters plugin for Orchestrator enables the ITIL Adapters to be easily used from EMC Ionix IT Orchestrator and leverages the Adapter API.
Associated Files
The following files are utilized by the Adapters plugin:• com.iwave.ext.adapters_x.x.zip – This is the core of the Adapters plugin for
Orchestrator. This plugin provides the ‘TransactionProcessor’ for acquisition and the Tasks for operation services. It also contains the full Adapter API jar files so that they can be used within workflows.
• com.iwave.ext.adapters.httpdispatcher_x.x.zip - This archive contains the AdaptersDispatcher.war. This needs to be loaded with the container and provides an endpoint that communicates with the adapters push mechanism. Extract this zip to the root of the container and it should be unpacked in the correct directory.
• com.iwave.ext.adapters.examples_x.x.zip – (Optional) This is an Orchestrator project that should be imported into Studio. It contains some tests and examples on how to use the push mechanism. This project is not required to use this plugin but is helpful as a starting point and example.
Installation and Configuration
HTTP Dispatcher (com.iwave.ext.adapters.httpdispatcher_2.3.1)
This component is a web application that provides a Web API used by the Adapter to push to the Ionix IT Orchestrator. This is required for the
EMC IONIX IT ORCHESTRATOR ADAPTER BMC EVENT MANAGER INSTALLATION AND CONFIGURATION GUIDE 94
USING THE ITIL ADAPTER PLUGIN
Acquisition Push feature. The web application is packaged as a single file called AdaptersDispatcher.war.
To install this component: 1. Copy the AdaptersDispatcher.war file to the conf/webapps/
directory of the container. 2. Extract the zip file to the root container directory and it will be placed in the
correct location.3. If you do not wish to use a standalone container install, there is a container
install bundled with studio. This container install is located in directory plugins/com.enigmatec.ems.platform_4.0.0.
4. Ensure that a JAAS login module is set up for the container. The default container install sets up JAAS to use conf/JaasAuth-windows.conf. This enables Windows based authentication, which will always succeed if the user is logged in.
Adapters Plugin (com.iwave.ext.adapters_2.3.1)
The com.iwave.ext.adapters plugin needs to be installed in both Studio and the container. This is installed like any other Ionix IT Orchestrator plugin. A new version of this plugin will be required for a new release of the adapters as it contains the API for a specific adapters version.
To install this plugin:1. Extract the com.iwave.ext.adapters_2.3.1.zip to the base studio
directory. This will install the plugin into the plugins directory of studio. If a previous version of the plugin exists, remove it by removing the plugins\com.iwave.ext.adapters* from the studio installation.
2. A sample container startup script called adapters-container.bat is provided with the examples project. After extracting the examples project, you can find this file in the resources directory. The following jar files from the plugin need to be on the classpath for the container. The adapters-container.bat script takes care of this for you. — plugins\com.iwave.ext.adapters_2.3.1\adapters.jar
— plugins\com.iwave.ext.adapters_2.3.1\lib\api-2.3.jar
— plugins\com.iwave.ext.adapters_2.3.1\lib\ejb3-persistence-1.0.2.GA.jar
adapters-container.bat:
set ORCH_HOME=c:\iWaveSoftware\orchestrator-studio\plugins\com.enigmatec.ems.platform_4.0.0
set CONTAINER_CLASSPATH=%ORCH_HOME%\..\com.iwave.ext.adapters_2.3.1\adapters.jar;%CONTAINER_CLASSPATH%
95 VERSION 2.4 REV A01 300-011-511
USING THE ITIL ADAPTER PLUGIN
set CONTAINER_CLASSPATH=%ORCH_HOME%\..\com.iwave.ext.adapters_2.3.1\lib\api-2.3.jar;%CONTAINER_CLASSPATH%
set CONTAINER_CLASSPATH=%ORCH_HOME%\..\com.iwave.ext.adapters_2.3.1\lib\ejb3-persistence-1.0.2.GA.jar;%CONTAINER_CLASSPATH%
%ORCH_HOME%\bin\container -r c:\iWaveSoftware\orchestrator-repository-adapters
Adapters Push Configuration
The com.iwave.ext.adapters.examples project contains samples of implementing a push handler. The sample sets up two push clients that can be accessed via the URLs https://localhost:8444/TransactionDispatcher/ClientA and https://localhost:8444/TransactionDispatcher/ClientB. These need to be specified in the adapters configuration.• Adapters - To enable the push mechanism on the adapters, the
acquisition-push-spring.xml file needs to be placed in the conf directory of the adapters. This should contain the content below. Note that multiple QueueProcessors can be included to perform pushes from multiple different objectType/serviceIds.
acquisition-push-spring.xml
<beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"><bean>
<property name="threads" value="3"/><property name="objectType" value="*"/><property name="serviceId" value="*"/><property name="pusher"><bean>
<property name="url" value="https://prime:8444/AdaptersDispatcher/ClientA"/>
<property name="username" value="admin"/><property name="password" value="admin"/></bean>
</property> </bean>
</beans>
EMC IONIX IT ORCHESTRATOR ADAPTER BMC EVENT MANAGER INSTALLATION AND CONFIGURATION GUIDE 96
USING THE ITIL ADAPTER PLUGIN
Using the Plugin
This section describes how to use the adapters plugin.
Acquisition
The adapters plugin provides a special ME type to handle TransactionRecords pushed from the adapters. A service can be created to implement this ME type by creating a new Service and adding the super type TransactionProcessor.
Figure 8-1 Creating a New Service
The TransactionProcessor type requires an effector to be implemented named processTransaction. This effector provides a TransactionRecord as a parameter that has to be processed by the workflow. When the workflow successfully completes, the record will be marked as complete in the adapters.
The effector has two return fields:• transactionResponse - This field indicates if the processing of the record was
successful or not. There are three possible values for this return:
97 VERSION 2.4 REV A01 300-011-511
USING THE ITIL ADAPTER PLUGIN
— com.iwave.ext.adapters.acquisition.TransactionResponse.OK - Indicates that the processing was successful. This responds to the adapters with a success code and the transaction will be completed (unless it was manually changed through the workflow.
— com.iwave.ext.adapters.acquisition.TransactionResponse.ERROR_RETRY - Indicates that there was an error processing the record. The adapters will retry this again after the usual interval. This is the default handling for errors.
— com.iwave.ext.adapters.acquisition.TransactionResponse.ERROR_NO_RETRY - Indicates that there was an error processing the record that will always fail and it should not be retried again.
• errorMessage - If an error occurred, this contains the text that is passed to the Adapters. This is useful for logging the error back into the adapters logs and to Monitoring Server.
Operations
The adapters plugin provides Services for each of the common services available in the adapters API. Theses services are available from the palette under the com.iwave.ext.adapters heading. They can be dropped onto any workflow.
Figure 8-2 Workflow
EMC IONIX IT ORCHESTRATOR ADAPTER BMC EVENT MANAGER INSTALLATION AND CONFIGURATION GUIDE 98
USING THE ITIL ADAPTER PLUGIN
Configuration of the adapter services is done from the service organization. You need to specify the following configuration parameters to connect to the adapters web services. • wsdl - URL to the WSDL for the web service. This may be a URL to a resource or
the local file system and does not necessarily need to be the remote endpoint.• endpointUrl - The URL to the endpoint to use for the web service. If this is null
then the endpoint URL contained in the WSDL file is used. • username - The HTTP Basic Authentication username to use for
authentication to the adapters. • password - The HTTP Basic Authentication password to use for authentication
to the adapters.Figure 8-3 Client Service Organization
99 VERSION 2.4 REV A01 300-011-511
ADAPTER API
Adapter API 8
The Adapter API is a subset of the Adapter Framework that contains the common object model and services that are used for all of the ITIL adapters. All Adapter services are exposed as Web Services. This API provides a mechanism for integrating Java-based tools with the adapters. The functionality of this API is exactly the same as what can be used from the Web Services.
Note: This API cannot be used if you need to integrate a non Java-basedsystem with the adapters.
The Adapter API uses JAX-WS to connect to the API using the standard Web Services.
Software Requirements
When using this ITIL Adapter API with Ionix IT Orchestrator, the following software is required:• Java version 6 • Adapters version 2.3 (or later)
API Distribution
The API distribution zip file (i.e., api-2.4.zip) contains the following files and directories:• javadocs - JavaDoc documentation for the API. This should be used as a full
reference for the API operations. • lib/api-2.3.jar - This is the main API archive. • lib/ejb3-persistence-1.0.2.GA.jar - The API depends on the JPA
('javax.persistence') APIs. This is part of JEE but is provided as a standalone jar file.
• lib/log4j-1.2.14.jar - The API does limited logging in certain situations. The log4j logger jar file is required for this.
Package Descriptions
The following are the descriptions of the packages included in the API:• com.iwave.acquisition - Object model and services for the adapter
acquisition services. • com.iwave.adapters - Adapters Client API entry point. • com.iwave.batch - Object model and services for the adapter batch services.
EMC IONIX IT ORCHESTRATOR ADAPTER BMC EVENT MANAGER INSTALLATION AND CONFIGURATION GUIDE 100
ADAPTER API
• com.iwave.ims - Object model and services for the Monitoring Server services.
• com.iwave.itom - The IT Object Model and supporting helper classes. • com.iwave.operations - The Adapters operational services (IT endpoint
operations). • com.iwave.util - Various internal utilities required by the API.
Key Classes
This following are the descriptions of the key classes in the API. For complete information on the API and methods available, consult the Javadocs.• com.iwave.adapters.AdapterClient - This is a utility class for getting client
proxies to the acquisition, Monitoring Server, batch and operation services. • com.iwave.itom.support.XmlSerialization - This is a utility for serializing
and deserializing adapter object models to/from XML. • com.iwave.itom.extended.ExtendedFieldFactory - This is a utility class for
creating extended fields from k-v Map constructs or getting Maps from extended fields. This is the easiest way of working with extended fields from Java.
Service Classes
The following are the Service Classes included in the API:• Acquisition Services:
— IAcquisitionService - Acquisition Services for interacting with the adapters queue.
— IAcquisitionManagementService - Management information about the adapter queue.
• Batch Services:— IBatchService - Batch services.
• iWave Monitoring Server Services:— IIWaveEventService - Monitoring Server Service for publishing events.
• IT Operational Services:— IITObjectService - ITObject Operations service. — IITObjectAttachmentService - ITObject Operations service. This also
supports attachments and must be used for operations for adapters that support attachments.
— IIncidentService - Incident Operations service. — IIncidentAttachmentService - Incident Operations service. This also
supports attachments and must be used for operations for adapters that support attachments.
— IChangeService - Change Operations service.
101 VERSION 2.4 REV A01 300-011-511
ADAPTER API
— IChangeAttachmentService - Change Operations service. This also supports attachments and must be used for operations for adapters that support attachments.
— IProblemService - Problem Operations service. — IProblemAttachmentService - Problem Operations service. This also
supports attachments and must be used for operations for adapters that support attachments.
— IConfigurationService - Configuration Item Operations service.— IDeviceService - Device Operations service. — IDomainDeviceService - Device Operations service that accepts the
domain/network as an extra parameter to each call. This is required for adapters such as ITOI that has this capability.
— IEventService - Event Operations service. — IEventServiceDestination - Event Operations Service that requires the
destination/domain to be specified on each call. This is required for adapters such as SCOM that has this capability.
SSL Certificates
If the Adapter service is using a self signed certificate, JAX-WS may fail to establish an SSL connection. There are two options for dealing with this potential failure:• Install the SSL Certificate from the adapters into the trust keystore for the Java
application using the API. • Disable trust verification for SSL. This can be dangerous on the public internet
allowing for man-in-the-middle attacks but is generally not a problem where customers have a secure pipe to begin with. This is almost always the case for our customers. The 'com.iwave.ext.adapters.examples' orchestrator project contains an example of installing a trust-all security manager.
EMC IONIX IT ORCHESTRATOR ADAPTER BMC EVENT MANAGER INSTALLATION AND CONFIGURATION GUIDE 102
ADAPTER API
Java Code Examples
This section includes Java code examples of the Acquisition Services and Incident Services. For complete examples on how to use this API from Ionix IT Orchestrator, see the 'com.iwave.ext.adapters.examples' orchestrator project that is available with the API.
Figure 8-4 Acquisition Example
// Example using the acquisition services IAcquisitionService acquisition = AdapterClient.get(IAcquisitionService.class, "https://hostname:9443/services/AcquisitionService?wsdl", "iwave", "password"); // Example creating a service with no authentication: //IAcquisitionService acquisition = AdapterClient.newClient(IAcquisitionService.class,
// "https://hostname:9443/services/AcquisitionService?wsdl"); // Example creating a service with an alternate endpoint URL: //IAcquisitionService acquisition = AdapterClient.newClient(IAcquisitionService.class,
// "https://hostname:9443/services/AcquisitionService?wsdl", // "https://alternatehost:9443/services/AcquisitionService", // "iwave", "password"); // Calling count System.out.println("Adapter queue count: " + acquisition.count());
103 VERSION 2.4 REV A01 300-011-511
ADAPTER API
Figure 8-5 Incident Operations Example
// Example using the incident service. After this service is created, // this proxy should be cached. Creating this every time is expensive. IIncidentAttachmentService inc = AdapterClient.get(IIncidentAttachmentService.class, "https://hostname:9443/services/ionix-sm/IncidentService?wsdl", "iwave", "password"); // Retrieving an incident Incident incident = inc.get("2"); System.out.println("Incident Found: " + incident.getIdentifier()); System.out.println(" Desc: " + incident.getDescription()); // Print the entire incident content as XML System.out.println(incident); // Example accessing extended fields. // This can be used to access a single field but it is not efficient System.out.println("Field 'MODE': " + incident.getExtendedField("MODE", StringField.class).getValue()); // This should be used for easiest access to bulk fields. // This creates a map for accessing fields by key/value pairs Map<String,Object> fields = ExtendedFieldFactory.fieldsToMap(incident.getExtendedFields()); System.out.println("Field 'MODE': " + fields.get("MODE"));
// Updating an Incident Incident updateIncident = new Incident(); // ID is required for updates updateIncident.setIdentifier("2"); updateIncident.setDescription("Updated the description"); // Creating extended fields on update (Single mode)
//updateIncident.addExtendedField("MODE", "REVIEW"); // Creating many extended fields. (This will probably change to Map<String,Object>) Map<Object,Object> updateFields = new HashMap<Object,Object>(); updateFields.put("MODE", "REVIEW"); updateIncident.addExtendedFields(updateFields); // or
//updateIncident.setExtendedFields(ExtendedFieldFactory.newExtendedFields(updateFields)); // Perform the update System.out.println(updateIncident);
System.out.println(inc.update(updateIncident));
EMC IONIX IT ORCHESTRATOR ADAPTER BMC EVENT MANAGER INSTALLATION AND CONFIGURATION GUIDE 104
ADAPTER API
105 VERSION 2.4 REV A01 300-011-511
9Chapter
Using the URL Agent 1The chapter discusses the following topics:• About the Adapter URL Agent• Python Requirement• URL Agent Daemon• Logging• Running the URL Agent• URL Agent Filtering
About the Adapter URL Agent 1
If an Adapter does not require a specialized Agent, an EMC Ionix IT Orchestrator Adapter URL Agent can be installed. The main function of the URL agent is to perform an HTTP GET or POST operations against the adapter. An external application could be used to perform these functions, but the URL Agent provides some capabilities that may not be readily available from another client.
The URL Agent includes the following capabilities:• Store-Forward Capability - This means that if the Adapter is not running or
there is a network outage, the transactions are stored in a local data file. These transactions are forwarded when the Adapter is available again.
• HTTPS and HTTP Basic Authentication - for secured communications and authentication.
• Retrying on Retryable Error Codes - The Adapter Framework will return an HTTP Status Code for different types of errors. The URL Agent provides retrying on retryable error codes from the Adapter.
Python Requirement 1
Python 2.6 is required for the URL Agent. During installation, if the URL Agent is selected, the Python software is automatically installed.
EMC IONIX IT ORCHESTRATOR ADAPTER BMC EVENT MANAGER INSTALLATION AND CONFIGURATION GUIDE 106
URL AGENT DAEMON
URL Agent Daemon 1
The Adapter URL Agent consists of two components: the agent and the agent daemon.
The URL Agent daemon is a lightweight process that runs in the background and makes requests to the Adapter(s). The URL Agent makes use of the Agent daemon background service. When started, the agent daemon provides ordered access to the adapter and to the store-forward data file. This daemon will remain running after the GET or POST operation is complete. It consumes minimal resources and allows future transactions to be executed much faster. Only one instance of the daemon is running at a time.
The agent uses TCP/IP port 50011 (by default) to communicate with the URL Agent daemon.
Shutting Down and Starting the Daemon
The Agent daemon is automatically started when the URL Agent is installed. If the daemon needs to be shutdown and restarted, enter the following commands:• To shutdown the agent daemon, enter the command:
agent.py –s
• To start the Agent daemon, enter the command:agent.py –d
Logging 1
All logging is performed by the Agent daemon. A single log file is used for all requests going out. Error messages are logged to the file in ../log/agent.log. By default, the logging is minimal. This is recommended for production usage. If there is a problem, verbose logging can be enabled by adding the -v flag on the command when the Agent daemon is started.
When enabling verbose logging, it is recommended to first shutdown the daemon and then start the daemon with verbose logging. To enable verbose logging, enter the following commands: • agent.py -s
• agent.py -d –v
If a request is made without using the agent daemon, the local option can be used. The agent daemon is not used or started when this option is used and store-forward is disabled. The following is a sample of using this option with verbose logging on.
agent.py -v -l http://localhost:9080/services/adapter
107 VERSION 2.4 REV A01 300-011-511
RUNNING THE URL AGENT
Running the URL Agent 1
The URL Agent execution parameters are as follows:
Usage:
agent.py [options] url1 [alternate-urls ...]
Options:
-h, --help Shows this help message and exits. -a key=value Specifies an attribute in key=value format. -x XML_FILE, --xml-file=XML_FILE
Specifies the XML File that contains data to POST to the url.
-f ATTRS_FILE, --attrs-file=ATTRS_FILESpecifies the file that contains a list of key=value@$ attributes.
-e, --environment-variablesEach environment variable is taken as a key/value pair to pass as data.
-u USERNAME, --username=USERNAMEUsername for HTTP Basic Authentication.
-p PASSWORD, --password=PASSWORDPassword for HTTP Basic Authentication.
-r, --resubmit Resubmit all items from the dead queue back to the store (not available with the -l option).
-c, --clear Clears all items in the dead queue. (Not available with the -l option).
-v, --verbose Enables verbose logging for the agent daemon. -l, --local Do not attempt to use the agent daemon. The log file is
not created and store-forward is disabled. -d, --daemon Starts the agent daemon in the foreground. This
command does not return. -s, --shutdownShuts down the background agent daemon. Exits
immediately after shutdown.
Example Commands
The following are example commands for using the URL Agent:• To perform an HTTP GET to the URL, use the following command:
agent.py http://localhost:9080/services/adapter
EMC IONIX IT ORCHESTRATOR ADAPTER BMC EVENT MANAGER INSTALLATION AND CONFIGURATION GUIDE 108
URL Agent Filtering
• To perform an HTTP GET to the adapter in a fail-over environment, enter the command with two URLs:— If the first URL is not reachable, the second is tried. — If none are reachable, the store-forward mechanism is engaged. Only
one URL is notified.agent.py http://host1:9080/services/adapter http://host2:9080/services/adapter
• To perform an HTTP POST to the URL specified with an XML payload that has the key/value pair specified, enter the following command. The XML schema is the format understood by the adapters.agent.py -a key=value http://localhost:9080/services/adapter
The XML Format used by the adapters will look like this:
<?xml version="1.0" encoding="UTF-8"?><data> <string-field name="key">value</string-field></data>
• To perform an HTTP POST to the URL specified with an XML payload with the key/value pairs retrieved from a text file, enter the following command. The XML schema is the format understood by the adapters. The text file lines must be terminated in @$ to denote the end of a line (they can span multiple lines).agent.py -f /path/to/file http://localhost:9080/services/adapter
• To perform an HTTP POST to the URL specified with an XML payload using the file specified, enter the following command with the –x option: agent.py -x /path/to/file http://localhost:9080/services/adapter
URL Agent Filtering 1
Sometimes it is beneficial or necessary to filter out changes coming out of an endpoint application before they get to the workflow. By filtering early, it reduces the load on the Adapter system. Also, some things like the request type can only be determined at the endpoints. Often the endpoint can provide access to previous values of data as well as the current. This allows status changes to be detected and can allow a request type to be sent for the record.
The Adapter supports URL Agent filtering. The URL Agent filter identifies the changes that need to be performed before reaching the endpoint application. The filter is essentially a wrapper around the URL agent that provides the filtering mechanism.
109 VERSION 2.4 REV A01 300-011-511
URL Agent Filtering
Using a filter script allows you to define configuration settings like the URL to use, basic auth parameters and logging options right within the script. This means that the command line call to the script will be very simple. This also makes it easier to run tests.
Running the Filter Script
An example URL Agent filter script (agent-filter.py) is installed with the URL Agent. The agent-filter.py file can be copied and customized for your solution. The script contains examples of options that can be changed. Modifying the filter requires minimal coding and some knowledge of Python.
To run the script, enter the following command:c:\install_root\adapters-2.2\agent\agent-filter.py
On Windows systems, you may need to use the command from an endpoint application. For example:c:\Python26\python c:\IonixITO\adapters-2.2\agent\agent-filter.py
Filter Parameters
All parameters for the URL Agent function (i.e.,. -v, -l, -s) can be used in the URL Agent filter. Attributes are included in the script to perform the specific filtering. The attributes available to the filter script are defined by the -a, -f or -e parameters to the script.
The following parameters can be added to the Notification or Acquisition-Event services to influence how this transaction is placed in the queue. Each of these can be added using the -a parameter when calling the Agent. These must be set using the string-field extended field type.
Example Filter Script
Figure 9-1 identifies the example URL Agent Filter.
EMC IONIX IT ORCHESTRATOR ADAPTER BMC EVENT MANAGER INSTALLATION AND CONFIGURATION GUIDE 110
URL Agent Filtering
Figure 9-1 Example URL Agent Filter Script (page 1 of 3)
#!/usr/bin/env python## Example Usage: # agent-filter.py -a REMOVE_ME=abc -a Status=InProgress -a OldStatus=Updated -a MUST_HAVE=true -a SEND=true -a Partner=abc -a ID=123
from multiprocessing import freeze_supportimport agent
class FilteredAgent(agent.FilteredAgentMixin):# Pre-configured URLs to send the requests to. # This can be comma separated in the brackets urls = ['http://localhost:9080/services/notification/remedy/%s/%s']
def init(self):### Examples of setting URL Agent options (Overrides)
# Override Basic Authentication username and password. # Uncomment these to enable#self.options.username = 'user'#self.options.password = 'pass'
# Override verbose loggingself.options.verbose = True
# Override local/background agent. True means local, # False means background and uses store-forwardself.options.local = True
# If no code is in this method you need this line#pass
def filter_attributes(self, attributes):"""should_filter_out(self)
This method call is used to filter out calls to the agent. If thismethod returns True, then the call will not be sent on. This usefulto filter out calls that do not need to be processed even though theagent is fired."""
111 VERSION 2.4 REV A01 300-011-511
URL Agent Filtering
Figure 9-2 Example URL Agent Filter Script (page 2 of 3)
### Examples of modifying attributes
# Example: Removing an attribute from being sentif 'REMOVE_ME' in attributes:
del attributes['REMOVE_ME']# Example: Setting override object type attributes['iwave.overrides.objectType'] = 'CustomIncident'
# Example: Setting override service ID based on Partner field(static)if 'Partner' in attributes:if attributes['Partner'] == 'ABC':attributes['iwave.overrides.serviceId'] = 'RemedyABC'# Example: Setting override service ID based on Partner field#(dynamic) This will produce a serviceId of 'Remedy{P}' when the#'Partner' field is '{P}'else:attributes['iwave.overrides.serviceId'] = 'Remedy%s' % attributes['Partner']
# Example: Setting the request Type based on a status changeif attributes['Status'] != attributes['OldStatus']:if attributes['Status'] == 'InProgress':attributes['iwave.request.type'] = 'ChangeApproved'elif attributes['Status'] == 'Cancelled':attributes['iwave.request.type'] = 'ChangeRejected'else:attributes['iwave.request.type'] = 'Unknown'
# Example: Sets the create date based on the 'date' attribute# specified using the format specified. Formatting options are# available# here: http://docs.python.org/library/time.html#time.strftimeself.create_date_from_attr('date', "%Y-%m-%d %H:%M:%S")
# Example: Sets the create date from the current time on this# system. The time is always sent as UTC.#self.create_date_from_now()
### Logging
# This piece of code will print out each attribute to the log fileself.agent.log_debug('Agent Filter Called with Attributes: %s' %attributes)
# Logging can also be done to info using:#self.agent.log_info('Some informational message')
EMC IONIX IT ORCHESTRATOR ADAPTER BMC EVENT MANAGER INSTALLATION AND CONFIGURATION GUIDE 112
URL Agent Filtering
Figure 9-3 Example URL Agent Filter Script (page 3 of 3)
### Replacing URL placeholders
# This replaces any %s placeholders in the URLs with the values# specifiedself.replace_url_placeholders(('incident', attributes["ID"]))
### Examples of filtering out calls### Returning True indicates not to send the call to the adapter### Returning False indicates to send the call to the adapter
# Example: Filters out everything that does not have theattribute "MUST_HAVE"if 'MUST_HAVE' not in attributes:self.agent.log_debug('MUST_HAVE attribute not present.Filtering out')return True
# Example: Filters out anything that does not have the "SEND"attribute # or it is not "true"if 'SEND' not in attributes or attributes['SEND'] != 'true':self.agent.log_debug('SEND attribute not present. Filteringout')return True
# Example: Filters out anything that does not have a change between the# two attributes 'Status' and 'OldStatus'. if attributes['Status'] == attributes['OldStatus']:self.agent.log_debug('Status not changed. Filtering out')return Truereturn False
if __name__ == '__main__':freeze_support()FilteredAgent().run()
113 VERSION 2.4 REV A01 300-011-511
10Chapter
Managing the Adapter 10In order to manage the EMC Adapters, the Java Console application may be installed on your workstation. The Java Console graphical user interface is a management tool that complies to the Java Management Extensions (JMX) specification. Java Console uses the Java Virtual Machine (Java VM) to provide information about the performance and resource consumption of the Adapters installed in your network.
This application allows you to perform the following functions:• list the names of the Adapters that are licensed and loaded• provide the status of the endpoint applications• restart all Adapters• provide a status of items in the Acquisition Queue
Note: For information on monitoring Events that are generated on the EMCAdapter and Ionix IT Orchestrator, refer to the “EMC Monitoring ServerInstallation and Configuration Guide”.
EMC IONIX IT ORCHESTRATOR ADAPTER BMC EVENT MANAGER INSTALLATION AND CONFIGURATION GUIDE 114
PREREQUISITES
Figure 10-1 Jconsole – List Adapters
Prerequisites 10
In order to use the Java console to manage the Adapter services, the following tasks must be completed:• The Adapter software must be installed on your computer.• The following Java Development Kit (JDK) package must be installed on your
computer:Java JDK1.6.0
Connecting to the Adapter Java Process 10
There are two ways you can connect to the Adapter Java process: • Connect to the local JMX instance. By default, JMX is not available for remote
connection. Java allows you to connect to a Java process running as the same user using the jconsole.
• JMX can be enabled in the process itself for remote access. Remote access can make use of SSL and authentication. setEnv – Enable JMX monitoring in
115 VERSION 2.4 REV A01 300-011-511
STARTING THE JAVA CONSOLE
setEnv20 identifies the Java properties that can be set to enable JMX without any security or authentication. These properties are included in the setEnv.bat/.sh file, which is located in the install_root\adapters-2.4\bin directory. The JMX monitoring properties are disabled by default. To enable JMX monitoring, delete the rem comment from the setEnv file. PORT can be replaced with any port name that is desired. — -Dcom.sun.management.jmxremote.port=PORT
-Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false
Figure 10-2 setEnv – Enable JMX monitoring in setEnv
Starting the Java Console 10
The Java Console is started by the jconsole executable. This executable can be found in the JDK_HOME/bin directory, where JDK_HOME is the directory in which the JDK software is installed. If this directory is in your system path, you can start the Java Console by typing jconsole in a command (shell) prompt. Otherwise, you have to type the full path to the executable file.
Management Beans 10
The following Adapter management beans can be used through JMX to manage the Adapter:• com.iwave:name=Adapters • com.iwave:name=AcquisitionQueue • com.iwave:name=FrameworkAdmin
com.iwave:name=Adapters
The Adapters Management bean allows the user to see which Adapters are loaded and the status of the endpoint applications.
Methods
The following Methods are supported for the Adapter Management bean:• listAdapterNames() - Gives a list of the names of the adapters that are
licensed and loaded.
EMC IONIX IT ORCHESTRATOR ADAPTER BMC EVENT MANAGER INSTALLATION AND CONFIGURATION GUIDE 116
MANAGEMENT BEANS
• getEndpointStatus(endpointName) - Gives the status of an adapter. The supplied parameter endpointName should be one of the values returned from listAdapterNames(). Possible values for endpoint status are: — Unknown - Indicates that this adapter does not support the status
check. Currently the only adapters that support this operation are BMC Remedy and CA-USD.
— Available - Indicates that the endpoint application is running and responds to a simple command.
• NotAvailable - Indicates that the endpoint application cannot be reached or fails to respond to a simple command.
com.iwave:name=AcquisitionQueue
The Acquisition Management bean allows the user to see the status of the Acquisition Queue without directly querying the database.
Methods
The following Methods are supported for the Acquisition Queue bean:• countErrors(serviceId, objectType) - Gives a count of the items
on the queue in the Error state. This is the same as the acquisition service countErrors() method.
• countPoll(serviceId, objectType) - Gives a count of the items on the queue in the Poll state. This is the same as the acquisition service count() method.
• countBlocked(serviceId, objectType) - Gives a count of the items on the queue in the Blocked state.
• countTotal(serviceId, objectType) - Gives a count of all of the items on the queue regardless of state.
• queueWaitingTime() - Gets the queue waiting time for the top item on the persistence queue. The date of the first transaction is returned. This can give an idea of when the last transaction was processed and if the queue processor is stalled.
Each of the count methods take parameters of the serviceId and objectType. These must be valid serviceId and objectType or part of a word. % is a valid wildcard. If no objectType and serviceId are specified, the default will be to query all.
Note: The Acquisition Management Service is also exposed as a web service.The following is the WSDL for the Acquisition Management Service:
https://localhost:9443/services/AcquisitionManagementService?wsdl
117 VERSION 2.4 REV A01 300-011-511
MANAGEMENT BEANS
com.iwave:name=FrameworkAdmin
The Framework Administration bean allows administration tasks to be performed on the Adapters.
Methods
The following Methods are supported for the Adapter Management bean:• restart(password) - Restarts the adapters. All services are shutdown,
configuration files reloaded and the services restarted. A parameter of the admin password is required.
• framework.admin.password - This is the new setting in framework.properties that contains the admin password hash. The default value for this password is adminpw. If the JMX service will be enabled, this password should be changed from the default.
EMC IONIX IT ORCHESTRATOR ADAPTER BMC EVENT MANAGER INSTALLATION AND CONFIGURATION GUIDE 118
MANAGEMENT BEANS
119 VERSION 2.4 REV A01 300-011-511
11Chapter
Maintenance and Troubleshooting 11This chapter covers the following topics pertaining to the maintenance and troubleshooting of the EMC Adapter software.• Logging• Error Types and Meanings• Re-Installing or Uninstalling the Windows Service• Starting and Stopping the Adapter• Uninstalling the Adapter Software - Windows
Logging 11
Logging is provided for both the Adapter Framework and the URL Agent. Before logs can be generated, logging must be turned on and the amount of details specified.
Log Location
Based on the operating system, the EMC Adapter stores logs in following directories:• For Windows: C:\install_root\adapters\log
• For UNIX: /opt/install_root/adapters/log
Turning on Adapter Logging (Windows)
To turn on Adapter Windows logging, you must edit the log4j.properties file.1. From Windows Explorer, navigate to the conf directory:
C:\install_root\Adapters\conf2. Right-click log4j.properties file and click Open on the pop-up menu. If
this is the first time you have opened the properties file, Windows displays the following dialog:
EMC IONIX IT ORCHESTRATOR ADAPTER BMC EVENT MANAGER INSTALLATION AND CONFIGURATION GUIDE 120
LOGGING
Figure 11-1 Windows Unknown File Type
3. Click Select the program from a list option and click OK.4. From the Open With List, select Notepad. Select Always use the selected
program to open this kind of file and click OK to open Notepad.5. In the log4jproperties file, find the Production Environment
Configuration section and the line: log4j.rootLogger=INFO,File,ErrorAppender
6. Replace the word INFO with DEBUG.7. Find the line: log4j.logger.com.iwave=INFO8. Replace the word INFO with DEBUG. The log4j.properties file should look
like the file identified in Figure 11-2.9. From the menu, select File > Save to save the changes.10. From the menu, select File > Exit to close the file.
121 VERSION 2.4 REV A01 300-011-511
LOGGING
Figure 11-2 log4j.properties File
EMC IONIX IT ORCHESTRATOR ADAPTER BMC EVENT MANAGER INSTALLATION AND CONFIGURATION GUIDE 122
ERROR TYPES AND MEANINGS
URL Agent Logging
When specifying logging configurations for the URL Agent, use the -v parameter with the agent.py command. This parameter specifies how much detail will be included in the log. When operating in a normal production environment, the log level will normally be set low to save processor time and disk space. • If the log level is too low, it may not provide enough information. • If an issue is suspected with URL Agent connection to the notification service,
increase the log level.
Error Types and Meanings 11
The URL Agent and EMC Adapter generate their own errors. Several types of errors can occur when several complex software applications interact. This complexity is expanded when considering that the applications may be communicating over vast distances (via the Internet) and that they are typically asynchronous.
The following types of errors that may occur when using the EMC Adapter:• Recoverable• Permanent• Global Errors
Recoverable Errors
Recoverable errors go away in time without involving any particular change to the EMC configuration or the endpoint application. For instance, if the EMC URL Agent attempts to send an event notification to the EMC Adapter and the connection is down, the Agent continues sending the notification until the connection is restored. In this case, there is an error message in the log, but no action needs to be performed to return the Adapter to service. The Adapter is returned to service automatically.
Permanent Errors
Permanent errors cannot be recovered automatically and require some form or corrective interaction. For example, if the EMC user for the endpoint application does not have a high enough privilege to open a new incident, the attempt fails. No matter how many times the EMC user attempts to open a new Incident, the action continues to fail until the user account is modified to allow the action.
123 VERSION 2.4 REV A01 300-011-511
ERROR TYPES AND MEANINGS
Global Errors
An error can thrown from either the Adapter, Ionix IT Orchestrator or Integration workflow. Some of these errors are results of errant configurations such as an incorrect workflow assumption, incorrect URL, or a bad SSL configuration. Other errors could result from an error in the software itself.
Adapter Errors
The table below indicates errors that can occur in the EMC Adapter. These errors can be generated by either the Acquisition or Operations Services.
URL Agent/Notification Service Errors
The table below indicates errors that can appear in the URL Agent logs.
Table 11-1 Adapter errors
Error Cause
AcquisitionException A problem occurred while trying to retrieve a transaction from the adapter.
ObjectNotFoundException Occurs when the object requested on a get, update, or remove operation is not found
UnsupportedOperationException The method used on the adapter is not supported by the adapter.
OperationsException Typically a recoverable error such as connectivity issues
NonRecoverableOperationsException
Permanent error condition.
Table 11-2 URL Agent / Notification Service Errors
Error Cause
HTTP-503: Service Unavailable Most likely either the Form name or Incident ID are invalid on the command line call to the URL Agent.
HTTP-50x: Internal Server Error An unexpected error occurred. Consult the log files.
HTTP-404: Not found An incorrect URL was entered or the host name is incorrect.
EMC IONIX IT ORCHESTRATOR ADAPTER BMC EVENT MANAGER INSTALLATION AND CONFIGURATION GUIDE 124
RE-INSTALLING OR UNINSTALLING THE WINDOWS SERVICE
ReInstalling or Uninstalling the Windows Service 11
If the Windows Service needs to be re-installed or un-installed, complete the following steps:
Reinstalling the Windows Service
To re-install the Windows Service:
1. Access the bin directory:install_root/adapters-2.4/bin
2. Run the installation script.service.bat install
Uninstalling the Windows Service
To uninstall the Windows Service:
1. Access the bin directory:install_root/adapters-2.4/bin
2. Run the un-install script.service.bat uninstall
Starting and Stopping the Adapter 11
If the Windows Service has been uninstalled and the Adapter needs to be started, the startAdapters.bat file is included in the following directory:
install_root/adapters-2.4/bin/startAdapters.bat
This command starts the Adapter framework with a command window. To stop the Adapter framework, close the command window.
125 VERSION 2.4 REV A01 300-011-511
UNINSTALLING THE ADAPTER SOFTWARE - WINDOWS
Uninstalling the Adapter Software Windows 11
To uninstall the EMC Adapter software, complete the following tasks:1. From the Start menu, select the Uninstall Adapters option.2. The Uninstall EMC Adapters Introduction screen displays. From this screen,
click Uninstall.Figure 11-3 Uninstall Introduction
EMC IONIX IT ORCHESTRATOR ADAPTER BMC EVENT MANAGER INSTALLATION AND CONFIGURATION GUIDE 126
UNINSTALLING THE ADAPTER SOFTWARE - WINDOWS
3. The Uninstaller begins to remove features associated with the installed Adapter. It then uninstalls the EMC Adapter files, shortcut, LaunchAnywhere features, folders, and registry.
Figure 11-4 Uninstall In Progress
127 VERSION 2.4 REV A01 300-011-511
UNINSTALLING THE ADAPTER SOFTWARE - WINDOWS
4. The Uninstallation Complete screen displays. The files that were not installed may be displayed on the screen. These files must be removed manually. Click Done.
Figure 11-5 Uninstallation complete
EMC IONIX IT ORCHESTRATOR ADAPTER BMC EVENT MANAGER INSTALLATION AND CONFIGURATION GUIDE 128
UNINSTALLING THE ADAPTER SOFTWARE - WINDOWS
129 VERSION 2.4 REV A01 300-011-511
12Chapter
IT Object Model (ITOM) 1This chapter identifies the ITOM Event mappings for the BMC Event Manager Adapter.
EMC IONIX IT ORCHESTRATOR ADAPTER BMC EVENT MANAGER INSTALLATION AND CONFIGURATION GUIDE 130
VERSION 2.4 REV A01 300-011-511
EVENT MAPPING
1
Type Note
g
tegory
131
Event Mapping
Table 12-1identifies the Event mappings for BMC Event Manager Adapter.
Table 12-1 ITOM Event Mapping for BMC Event Manager
Name Description Type Name
Base.Identifier The unique identifier for an Event xs:string mc_ueid
Base.Summary Summary of the Event xs:string msg
Base.Description Detailed description of the Event xs:string mc_long_ms
Type Event type xs:string mc_event_ca
Status The status of the event xs:string status
Severity The severity of the event xs:string severity
Impact The impact that this event has on the system
xs:string
Urgency The urgency of the event xs:string
Priority The priority of the event xs:string mc_priority
RepeatCount A count of the number of duplicate events
xs:integer repeat_count
LastRepeatDate Date of the last duplicated event xs:datetime
Owner Owner that is responsible for resolving this event
xs:string mc_owner
—sheet 1 of 7—
EVENT MAPPING
132
n
dification
Type Note
EMC IONIX IT ORCHESTRATOR ADAPTER BMC EVENT MANAGER INSTALLATION AND CONFIGURATION GUIDE
CreateDate Date that this event was created xs:datetime date_receptio
ResolvedDate Date that this event was resolved xs:datetime
ResolvedBy User that resolved the event xs:string
LastModifiedBy User that made the last modification xs:string
LastModified Date of the last modification to this event
xs:datetime mc_date_mo
StatusLastModified Date that the status of this event was last modified
xs:datetime
LastModifiedByNonConnector Date that this event was last modified by a non-connector
xs:datetime
MaintenanceModeLastModified Date of the last modification to this event while in maintenance mode
xs:datetime
MonitorEvent Flag to indicate whether this is an event generated by a monitor
xs:boolean
ExternalEventIdentifier The unique identifier for this event in the external system
xs:string
ExternalIncidentIdentifier The unique identifier for an incident associated with this event
xs:string
Escalation Indicates information about the escalation of this event
Table 12-1 ITOM Event Mapping for BMC Event Manager (continued)
Name Description Type Name
—sheet 2 of 7—
VERSION 2.4 REV A01 300-011-511
EVENT MAPPING
lass
Type Note
133
Escalation.Escalated Unique identifier of the group associated with this event
xs:boolean
Escalation.Server Server that escalated this event xs:string
Escalation.EscalatedBy User who escalated this event xs:string
Group Group that encompasses the components associated with this event
Group.Identifier Unique identifier of the group associated with this event
xs:string
Group.Name Name of the group associated with this event
xs:string
Group.Version Version number of the group associated with this event
xs:string
Class Class of object targeted by this event
Class.Identifier Unique identifier of the class xs:string
Class.Name Formal name of the class xs:string mc_object_c
Class.DisplayName Console display name of the class xs:string
Class.Description Description of the class xs:string
Class.Container.Identifier Unique identifier of the container where the class is defined
xs:string
Table 12-1 ITOM Event Mapping for BMC Event Manager (continued)
Name Description Type Name
—sheet 3 of 7—
EVENT MAPPING
134
Type Note
EMC IONIX IT ORCHESTRATOR ADAPTER BMC EVENT MANAGER INSTALLATION AND CONFIGURATION GUIDE
Class.Container.Name Formal name of the container where the class is defined
xs:string
Class.Container.DisplayName Console display name of the container where the class is defined
xs:string
Class.Container.Description Description of the container where the class is defined
xs:string
Object Object targeted by this event
Object.Identifier Unique identifier of the target object xs:string
Object.ComputerName Name of the computer where this object is located
xs:string mc_host
Object.DisplayName Display name of the target object xs:string
Object.Name Formal name of the target object xs:string mc_object
Object.State State of the target object xs:string
Object.InMaintenanceMode Flag that indicates whether the object is in maintenance mode
xs:boolean
Metric Metric that was violated to trigger the event
Metric.Category Name of the metric category that was violated
xs:string
Metric.Subcategory Name of the metric subcategory that was violated
xs:string
Table 12-1 ITOM Event Mapping for BMC Event Manager (continued)
Name Description Type Name
—sheet 4 of 7—
VERSION 2.4 REV A01 300-011-511
EVENT MAPPING
ass
Type Note
135
Metric.KeyValues Array of key values associated with the metric
xs:string
Source Notification source that generated the event
Source.Identifier Unique identifier of the source that generated this event
xs:string
Source.Type Type of source that generated this event
xs:string mc_origin_cl
Source.DisplayName Console display name of the source that generated this event
xs:string
Source.Name Formal name of the source that generated this event
xs:string mc_origin
Source.Description Description of the source that generated this event
xs:string
Source.Domain Domain of the computer that generated this event
xs:string
Source.ComputerName Fully qualified name of the computer that originated this event
xs:string
Source.Container.Identifier Unique identifier of the container that defines the source that originated this event
xs:string
Source.Container.DisplayName Console display name of the container that defines the source that generated this event
xs:string
Table 12-1 ITOM Event Mapping for BMC Event Manager (continued)
Name Description Type Name
—sheet 5 of 7—
EVENT MAPPING
136
Type Note
EMC IONIX IT ORCHESTRATOR ADAPTER BMC EVENT MANAGER INSTALLATION AND CONFIGURATION GUIDE
Source.Container.Name Formal name of the container that defines the source that generated this event
xs:string
Source.Container.Description Description of the container that defines the source that generated this event
xs:string
Knowledge Knowledge entry associated with this event
Knowledge.Type Type of knowledge entry xs:string
Knowledge.Summary Brief description of the knowledge entry
xs:string
Knowledge.Description Description of the knowledge entry xs:string
Knowledge.DisplayName Console display name of the knowledge entry
xs:string
Knowledge.Name Formal name of the knowledge entry xs:string
Knowledge.Content Knowledge entry information in a common format. Format to be used is TBD
xs:string
Knowledge.Identifier Unique identifier of the knowledge entry
xs:string
Knowledge.LanguageCode Language used in the knowledge information
xs:string
Table 12-1 ITOM Event Mapping for BMC Event Manager (continued)
Name Description Type Name
—sheet 6 of 7—
VERSION 2.4 REV A01 300-011-511
EVENT MAPPING
s[4th]
s[5th]
s[2nd]
s[1st]
Type Note
137
Knowledge.LastModified Date the knowledge entry was last updated
xs:datetime
Knowledge.Status Status of the knowledge entry xs:string
Knowledge.dateCreated Date the knowledge entry was created
xs:datetime
Log Logging Activity
Log.Identifier Log unique identifier for each instance
xs:string
Log.Type Type of Log activity xs:string mc_operation
Log.Summary Log Summary xs:string mc_operation
Log.Source Log Source xs:string
Log.Description Log Description xs:string
Log.Submitter User who submtted the log entry xs:string mc_operation
Log.SubmitDate The date and time the log entry was submitted
xs:datetime mc_operation
Table 12-1 ITOM Event Mapping for BMC Event Manager (continued)
Name Description Type Name
—sheet 7 of 7—
Index 1
Aacquisition
monitoring 80WSDL URL location 26
acquisition service 16polling methods 26process flow 16scaling 88
adapterfailover infrastructure 89management 114
Adapter Framework 10running as a Windows service 68starting 125stopping 125
agentscaling 89
alertsautomated 80
Apache Derby 33
Bbase URLs 79blocking methods 27
Cclient acquisition service
running on another port 86
Ddatabase
monitoring 79databases
enabling support for another database 79external
user for multiple adapters 89supported 33
datasource properties 79discovery service 29
Eerror messages
notification service 124types 123URL Agent 124
error typespermanent 123recoverable 123
errors 124Adapter 124
Fframework HTTP authentication 79framework properties 77
for the global framework 78
Gglobal framework properties 78
Hhigh availability 88
IInformation Technology Service Management 11install folder 54install set 40, 53installer
Linux 70starting 38Unix 70
ITIL services 11supported object types 12
ITSM 11applications 8
EMC IONIX IT ORCHESTRATOR ADAPTER BMC EVENT MANAGER INSTALLATION AND CONFIGURATION GUIDE 138
JJava console
starting 116Java Management Extensions 114Java to Adapter integration 90JMX 114
management beans 116
Llicense file 56
directory location 37installing 37
loglocation
for UNIX 120for Windows 120
log4j.properties file 120logging 120
turning onfor Windows 120
URL Agent daemon 107
Nnotification agent 15notification service 20
error messages 124
Ooperating systems
supported 32operations service 23
process flow 23scaling 88
Ppassword
iMS 59web service authentication 58
permanent errors 123persistence database 92
changing the port number 93connecting to 93removing transactions 92
polling methods 26properties editor 77
command 78starting 77
Python
required for the URL Agent 106
Rrecoverable errors 123RESTful Client Acquisition 85
Ssecurity 57shortcut folder 55SOAP client acquisition service 86software
uninstallWindows 126
software installation 34for Windows 38manual 71
UNIX 71Windows 71
system configuration 32system requirements 32
Tterminal methods 27troubleshooting 120
error types and meanings 123
UURL
iMS 59URL Agent 106
command options 108daemon 107
logging 107shutting down 107starting 107
error messages 124logging 123running 108using 106
usernameiMS 59web service authentication 58
Wweb service authentication 58Windows service
exectuable location 68manager application 68
139 VERSION 2.4 REV A01 300-011-511
manual install or uninstall 125re-installing 125running 68uninstalling 125
EMC IONIX IT ORCHESTRATOR ADAPTER BMC EVENT MANAGER INSTALLATION AND CONFIGURATION GUIDE 140
141 VERSION 2.4 REV A01 300-011-511
B
EMC CorporationCorporate Headquarters, Hopkinton, MA 01748-9103U.S.A.
Tel.:1-508-435-1000
http://www.EMC.com
EMC Ionix IT Orchestrator AdapterBMC Event ManagerInstallation and Configuration Guide
Document number: 300-011-511Product release: 2.4Document version: A01Date: September 2010
Printed in the United States of America.Copyright © 2010, EMC Corporation All Rights Reserved
B