Tel:  +44 (0)2920 02 04 05
e-Mail: info@planitcpm.com

IBM Cognos Technical Blog

August 23, 2011

Say No to multiple Admin Servers

Recently a customer requested that we review their self-installed IBM Cognos Planning environment due to poor performance and regular job failures.  There were a number of installation, configuration and sizing issues with the environment (which was on a vastly underpowered VMware platform), but one of the key recommendations that we made was to disable the Planning Administration Console Service on all but one of the Application Servers.

Additional CPU’s were added, but beyond that most of our recommendations are yet to be implemented.  In the meantime the environment continues to perform poorly and job failures are almost as frequent.

One of the latest issues that has been reported to us is that during the copy-load-prepare process, once you have completed the “copy” stage and switch to the “load” tab they are finding that different cubes are displayed each time.

  • Copy five files, switch to the load tab and find that cubes “A, C, D” show.
  • Try again with the same five files and find that cubes “D and E” show.
This is a typical symptom of having multiple Administration Servers configured in the environment, what is happening here is that a different Admin Server is processing each of the file copies, then when switching to the “load” tab just one of the servers is being used and so only a selection of the copied files are being detected.
The fix for this is a simple one, disable the Planning Administration Console Service on all but one of the Application Servers in your Planning server environment.

August 4, 2011

Running an IBM Cognos Analyst Macro from a Contributor Macro

Filed under: administrator,Cognos Planning,Contributor,IBM Cognos,IBM Cognos 8,Macros — Blog Admin @ 10:41 am

The usual way to run an IBM Cognos Analyst macro from within a Contributor macro is to use the “Execute Analyst Macro” step, however for some customers this seems to fail without logging any good reasons.  The error logging is minimal, though you will typically find errors such as:

Unable to execute macro 'ApplicationName.MacroName'.
The return code was 1107.

One alternative I find to work more robustly is to use the “Execute Command Line” macro step, we can use this step to launch an Analyst Batch Utility job just like in the “good old days”.  This method seems to be a bit more reliable and also logs a little bit more detail.

To maximise the success rate the wizard to create the batch job should be  run on the Admin Server.  The wizard creates two files in the c:\Program Files\cognos\c8\bin (or equivalent IBM Cognos 10 location) and are called:

  • bujobs.bin
  • bulibmap.lut
If the wizard is run on a machine other than the Admin Server they can be copied to the relevant location on the Admin Server to allow the Batch Job to be called by the macro.

To set up the Batch Utility job, open Analyst and to to the “Tools” menu.  Near the bottom you can select the option “Batch Utility Wizard”.

The Wizard Welcome Page will be shown, click “Next”.

Select “Create a new batch job”.

On the “Select a macro” screen, choose your Library and Macro from the drop-down menus and then give a descriptive name for this batch job.

You can also enter the name of the Namespace you want the batch-job to use.

Finally set up a log file location so you can review the Batch Job’s status.

The completion screen gives you the options to run the job right away or to print a summary of the job.

Click “Finish” to exit the Wizard.

The command line for the Batch Utility job will be copied to the clipboard automatically, this will be useful as we can use this when we set up the Contributor Macro to call it.

Open the Contributor Administration Console and navigate to “Macros” in the tree on the left.

Then click “New” to create a new macro.

You will be prompted to enter a name for the macro.

Then you will be given a list of macro step types.  Select the “Execute Command Line” macro step.

You will need to name the macro step, a descriptive name is best here, some people find it useful to prefix the step names with a code to indicate what type of macro step it is for example “ECL” for Execute Command Line, or “EAL” for Execute Administration Link”.

Place your cursor into the “Command to execute” text box and use CTRL-V on the keyboard to paste in the command line that was generated by the Batch Utility Wizard.

Finally you can chose to either enter a success code, typically success is determined by a code of “0″ (Zero).

With the macro created you can now execute this and check that it works as expected.

 

April 15, 2010

A few thoughts on using IBM Cognos 8 products on Virtual Servers

Filed under: Cognos Planning,IBM Cognos,Virtual Server,Virtualisation,VMware — Blog Admin @ 6:27 pm

With more and more customers using VMware lately it’s becoming a somewhat futile effort to keep on battling against the virtualisation march. So maybe it is time to stop fighting it and instead embrace the VMware onslaught. Rather than banging on about why you should not run IBM Cognos Planning software on VMware, lets just discuss its use in a more balanced way.

Virtualisation has got its feet well under the table.  IT departments us virtualisation products not only for the consolidation of existing servers, but also for the deployment of new products in the server room.  The lure of greater ease of management, lower energy usage, savings in rack space and the opportunity to gain some new skills is proving too strong to resist.

The virtualisation platforms are constantly evolving and improving brining “near-native” performance, which is a good thing.  Utilising those wasted CPU cycles can seem like a great idea.  And it is.  In most cases.
As with any software product there are very good reasons virtualise your IBM Cognos servers, but there are also some instances where it should be avoided.

IBM Cognos Planning on VMware?

The IBM Cognos 8 Planning product set is made up of two core products.  IBM Cognos 8 Analyst and IBM Cognos 8 Contributor.  Analyst is frequently used stand-alone in smaller deployments, the server-side product requires very little server resource, though with the introduction of IBM Cognos 8 (not including the 8.1 release) customers now need to find a Web Server (usually IIS) and a database server (usually SQL Server) purely for the provision of authentication.

In these cases VMware is a no-brainer.  Who wants to spend cold hard cash on a physical bit of kit that’s doing little more than logging users on and providing a shared folder?

So Analyst only clients wanting to use VMware? Go ahead.  It’s perfect for you.  If you have Contributor, things suddenly get a little more interesting.  Contributor is the biggest problem when considering virtualisation, the reason for this is that the software is already designed to make the most of any CPU power you can throw at it.  Ok, so in most cases it’s not making use of these CPU’s for 24 hours a day, but it can certainly be running jobs for several hours at a time all at 100% CPU usage.

This is not great for the other systems on your VMware host server. It also kind of defeats the purpose of using VMware if you are providing your Virtual Guest with a one-to-one CPU relationship to the host system.

This brings me on to my second point.  A lot of mid-to-large sized installations of IBM Cognos Planning are built using multiple servers to provide the best possible performance and scalability.  This means separate Web, Admin, Job and Database servers.
Many large clients have multiple Job Servers, each with 8 core CPU’s and 16 GB of RAM, and they are still heavily utilised thank you very much.  Putting all of these servers inside of VMware has been shown to degrade performance significantly as various servers which seem separate are infact on the same host and so cause job scheduling clashes.

I want to stop sounding like a VM-basher.  I guess its a good time to point out that there are severaly customers who are now very happily running IBM Cognos Planning on VMware.  Some even have these multi-server installs.  There are a few reasons for this.

  • They have a small user base
  • They have small, uncomplex planning models
  • They don’t run many Job processes
  • They are keeping the number of competing virtual guests low

Another reason may be that many of the more recent VMware based installations also have been completed using the most modern hardware available, the newer CPU’s are so powerful that processing these planning jobs takes much less time than it used to, so jobs that would previously have taken hours to complete now finish within minutes.  Whilst its still quicker to run on native hardware, the difference is starting to get a little harder to notice.

Important considerations when running IBM Cognos 8 Planning on VMware

Some things that we have found when working with customers running VMware platforms, from those who have succeeded and from those who have failed.

  • Keep the number of Virtual Guests low. When the Contributor jobs are running you don’t want the rest of your servers to suffer.
  • Do not throttle the CPU or Memory usage on the IBM Cognos Planning servers, on software designed to make the most out of the hardware available to it this really is defeating the object. It has caused many deployments on VMware to fail.
  • Consider targetting your use of virtualisation, be open to the fact that maybe not all servers should be virtualised. IBM Cognos 8 Planning Job Servers are likely to be better off on good, high-powered physical servers. Good targets for virtualisation are:
    • IBM Cognos 8 Gateway Server
    • IBM Cognos 8 BI servers (in some cases)
    • IBM Cognos 8 Planning Administration Server
    • Microsoft SQL Server or Oracle Server (assuming they are dedicated for IBM Cognos use)
    • Citrix Servers (On a case by case basis)
  • Spread out the IBM Cognos Planning Job servers. By this we mean, keep them spread over as many physical hosts as possible, the end users may create job server clusters and use these to schedule their jobs, if their job servers are using the same physical hardware, attempts at job scheduling will fail as multiple jobs compete for CPU resources.

Cognos Planning Development on VMware

Where VMware pretty much always comes in to its own is in development environments, the ability to quickly bring up clean server builds that have been stored away on a hard drive somewhere is a huge advantage, you get the server operating system, database server and applications all installed and configured just the way you need them, archive the virtual machine off somewhere and start your development. Any time you need a clean set of servers again, you just dig out the archive and start again.

In these environments where performance is not a prime concern, the use of a virtualisation product is likely to be a winner.

Even IBM are now starting to ease up on their harsh tone on VMware, there is a general acceptance that customers want to run the software in this environment and so they are starting to be a bit more open to providing support for this.