Monday, April 28, 2014

BPPM 9.5 Quick Start - Part 4: Oracle database configuration

BPPM version 9.5 works with both Sybase database and Oracle database.  Oracle database is required to run on a different server(s) while Sybase database is embedded and co-located on BPPM server.  Although Sybase database license comes free with paid BPPM license, you must purchase your own Oracle database license separately.

Sybase database is a good option for a small monitoring environment and for prototyping purpose.  But you need Oracle database to monitor a large environment because Sybase database does not provide enough scalability.

BPPM 9.5 made a major improvement on number of required Oracle database licenses.  In BPPM 9.5, you only need single Oracle database instance (one license) regardless the number of BPPM servers in your environment.  But each BPPM server connected to this single Oracle database instance will need its own login IDs and its own table spaces.

For example, if you have two BPPM servers in your environment, you can run just one Oracle instance and let both BPPM servers connect to this single Oracle instance.  Each BPPM server needs to have its own login IDs and its own table spaces.  Two login IDs are required for each BPPM server, one as a transaction user and one as a reporting user.  Both login IDs are required even you don't plan to implement BPPM Reporting.  You also need to create two table spaces for each BPPM server, one as default table space and one as temporary table space.

In the above example, you can create 2 table spaces for BPPM server1 as PNET_TS1 and PNET_TS_TMP1, and create 2 table spaces for BPPM server2 as PNET_TS2 and PNET_TS_TMP2.  Then you can create 2 login IDs for BPPM server1 as proact1 and proact1ru, and create 2 login IDs for BPPM server2 as proact2 and proact2ru.  Please note that the reporting user ID has to be the transaction user ID + 'ru'.  You cannot use a different user ID as reporting user ID because, during BPPM server installation, you can only specify the transaction user ID and installer will determine the reporting user ID automatically.

BMC Supplies a list of SQL scripts to help you create table spaces, user IDs, and set system parameters for the Oracle database instance.  The values for the system parameters are based on the size of your BPPM environment as small, medium, or large.  Some of these scripts are interactive.   If you found the interactive scripts don't run smoothly in your environment, read through the scripts to understand what they are trying to do and then modify the scripts to be non-interactive. 



Monday, April 21, 2014

BPPM 9.5 Quick Start - Part 3: Name convention

When you implement BPPM 9.5, you will need to name many different components.  It is easy to keep them organized and consistent across the entire enterprise if you take some time to set up a name convention before starting the implementation. 

What components do you need to name during BPPM 9.5 implementation?

1. Cell

By default BPPM will name the cell using the hostname.  In general hostname is not a good choice for a cell name as it doesn't tell anything about what the cell is used for or what environment the cell is located.  In addition, in a high-availability environment, the cell running on the primary host and the cell running on the secondary host should have the same name. 

As a best pratice, you should never name two cells with the same name across your entire enterprise.   Name your cell to reflect its event source, its environment, and its type.  For example, name DEV_ISN_PATROL1 for the cell running on the first integration service node receiving PATROL events in your dev environment.  Name PRD_CHD_BPPM1 for the cell running on the first child BPPM server in your production environment.  Name QA_EXT_SCOM for the cell receiving external events from SCOM in your QA environment.

2. Integration Service

If you have just one instance of integration service running on an integration service node (ISN), you can simply use the hostname as the integration service name. However if you have two instances of integration service running on two different ports of the same ISN, you will need to decide how to name them.  Perhaps you can use <hostname>-1 and <hostname>-2 or <hostname>-<portnumber>.

3. ISN Cluster

If you are going to implement high availability on ISN, you will need to create an ISN cluster.  Since we also have a pair of H/A cells running on an ISN cluster, I prefer to use the cell name as the ISN cluster name to tie a pair of H/A cells and a pair of H/A integration service instances together.  But you can use other names just to make sure they are meaningful and consistent.

4. CMA Policy Tag

A CMA policy tag is defined in CMA and referenced by PATROL agents in their pconfig variable.  When the tag referenced by an agent's pconfig variable matches the policy tag defined in CMA, the configurations defined in the policy will be automatically applied to the PATROL agent.  Consider including OS, KM, environment, and server group in your CMA policy tag names so that they are meaningful and consistent.  For example, use Oracle_HR_Prd for Oracle KM configurations running on HR server group in production environment.  Use UNIX_Report_QA for UNIX KM configurations running on Reporting server group in QA environment.  CMA policy tags are case sensitive.

Monday, April 14, 2014

BPPM 9.5 Quick Start - Part 2: Architecture and capacity design

Implementing BPPM version 9.5 starts with architecture drawing board.  Whether you are currently running a previous version of BPPM, migrating from BMC Event Manager 7.x, or implementing BPPM for the first time, you must start with a new architecture design because BPPM 9.5 is drastically different from its previous versions in terms of architecture and capacity.

Use bottom-up approach and start your design with your data/event sources.  You can divide them into three categories: data-only integration, event-only integration, and PATROL agents (data + events).  Then decide how many integration service nodes you will need for each category.  In general, it is better to have separate integration service nodes for each category unless you have a small environment.

For data-only integration and event-only integration,  BPPM 9.5 didn't make any major capacity changes.  BPPM 9.5 still uses data adapters to pull data out of non-PATROL data sources such as BMC TM-ART, BMC Portal, Microsoft SCOM, etc.  Non-PATROL events are still pushed to BPPM cells through iiWS, SNMP adapter, msend API, custom email adapter, etc. If you have a previous version of BPPM/BEM running, you can assume the same capacity requirements of integration service nodes for data-only and event-only integration.

For PATROL data, BPPM 9.5 made a major improvement by allowing data and events streamed through the same port.  The capacity is limited to 900 PATROL agents per integration service instance.  BPPM 9.5 also added an integration service cluster feature so that PATROL agents connected to the first integration service instance in the cluster can send data+events to the second integration service instance in the cluster when the first integration service instance becomes unavailable.  If you decide to implement integration service cluster, it means that you can only connect 450 PATROL agents to each integration service instance.

However, if you are not monitoring many instances and parameters on each PATROL agent, you may have plenty of unused resources on each integration service node after streaming data+events from 450 PATROL agents.  When this happens, you can install and configure a second integration service instance on another port at the same integration service node.

After architecture design for integration service nodes, you will need to design BPPM server architecture.  Each BPPM server has a capacity at 1.7 millions of attributes.  If your total number of attributes has exceeded 1.7 millions, you will need to implement multiple BPPM child servers plus one BPPM central server.  If your total number of attributes has not exceeded but close to 1.7 millions, you may want to implement one BPPM child server plus one BPPM central server to offload resource intensive GUI operations from BPPM child server to BPPM central server.  If your total number of attributes is far below 1.7 millions, you can go with single BPPM server.

Monday, April 7, 2014

BPPM 9.5 Quick Start - Part 1: Introduction

BPPM version 9.5 was officially released on January 31, 2014.  BPPM version 9.5 has made significant improvement over its previous version in ease of use, data integrity, and cost of ownership.  BPPM version 9.5 has completely redesigned its BPPM server, integration service node, and PATROL agent.

Shortly after the release, I had an opportunity to help a client to implement BPPM 9.5 in its development environment.  In this "BPPM 9.5 Quick Start" blog series, I am sharing some of my hands-on experience and lessons learned from my first-time BPPM 9.5 implementation.  My experience is by no means complete as it is impossible to implement all features in a short period of time. 

I am hoping that my experience would help you get an overall picture of BPPM 9.5 quickly without having to read through the entire 3,334 pages of BPPM 9.5 document.  I am hoping that this blog series would make you feel a little easier with BPPM 9.5 and get you started with BPPM 9.5 sooner.  If you have already started implementing BPPM 9.5, I would very much appreciate you for sharing your own experience with me.

In this project, we are migrating a previous version of BPPM running on UNIX and Sybase database to BPPM 9.5 running on Windows and Oracle database.  Essentially this is a brand new implementation in terms of architecture and capacity with additional work to migrate event processing rules for BPPM cells.

Here is the high-level order we have followed in the implementation:
  • Architecture and capacity design
  • Name convention
  • Oracle database configuration
  • BPPM central server & child server installation and configuration
  • ISN (Integration Service Node) cluster installation and configuration
  • Additional cell installation and configuration
  • BPPM cell knowledge base migration
  • CMA policy creation
  • PATROL agent installation and configuration
  • CMDB integration
  • 3rd-party monitoring software event integration