Friday, March 14, 2008

ITM 6.1 FP05 - NEW - What's a widget?

If you have started looking at Fix Pack 5 for ITM 6.1, you may have noticed (on the Windows version fix pack) that there is a directory called Widget.

This directory has the Tivoli Widget Engine, these "widgets" are very similar to the widgets you would use with the Google Desktop or Mac OS X. The widgets are little graphical JAD programs that execute a SOAP call to your hub tems via the Tivoli Widget Engine. You can set transparency and opacity so you can see thru the widgets. Each one of these widgets must be configured and you need to understand the formatting of the SOAP requests to get them properly configured. Each widget engine must be installed locally on each workstation, configuration must be performed locally too.

So, my final comment is this - I would have rather have seen improvements in security and a lightweight web interface to the my agents than this workstation based solution. Maybe this is the direction of the"web mash" - but until the basics solid (INCLUDING SCALE) - I think more effort should be put into the core product.

TTUC Presentation

Many of you did not get the hand outs at my presentation during last weeks Tivoli Technical Users Conference.

Here is the URL to download it in PDF format:



TTUC Presentation

ITM Fixpack 05 is available now!

As expected, IBM released Fixpack 05 for ITM V6.1 today. The fixpack readme is available at http://www3.software.ibm.com/ibmdl/pub/software/tivoli_support/patches/patches_6.1.0/6.1.0-TIV-ITM-FP0005/itmfp5_add.pdf

Stay tuned for more updates about Fixpack 05 in our future articles.

Introduction to ITM 6.1 Policies

Policies are the "grey area" of ITM. Everyone knows what they are, but only a few really implement them. While there are reasons for not implementing them as your primary event handling mechanism, there are enough reasons for relying on ITM policy automation for some of your simple needs. This articles lists some example scenarios to implement ITM policies.

Policies - A quick look

ITM 6.1 policies provide a simple if-then-else automation and they can be used to take actions based on situations. For example, if most of your event handling involves running a script to take some actions such as sending an email, running a recovery script, etc, you could easily implement it in ITM policies.

When to use them?

Here are some scenarios where you will need to rely on policies.

1) If you don't have framework or planning on moving away from it, then ITM policies might be the way to go.
2) For small environments where the volume of events happening is very low.
3) You could write your scripts to provide necessary logging but policies don't provide explicit event tracking mechanism as such.
4) You have only a small number of situations to manage.
5) All your response actions are very simple and doesn't involve complex event correlations.

Example 1: Sending emails for alerts

To send an email alert for a situation, use the "Wait Until a situation becomes true" activity and "Take Action" activity and connect them using "Situation is true" connector. In the take action, choose "Run a system command" and specify the script that will send email alerts. Make sure that you execute this action at the TEMS or at a specific node where the script will be available by clicking "More options" button.


Example 2: Restarting Windows Services when they go down.

To restart a Windows Service when it goes down, setup a situation to monitor the service and when it goes down and use a similar mechanism like the above except that in the "Take Action" field, use "net start &NT_Services.Service_Name". You can enter the service name by using Attribute substitution button.

Policy Distribution

Once the policy has been created, it need to be distributed to manage systems or managed system lists on whose situations it will have effect on. Click on the distribute check box against the policy name and it will bring up Policy distribution window. This process is similar to situation distribution selection.

Start Policy

The policy will not be effective unless you start the policy. On the other hand, if you would like to disable a policy for a while, you could stop the policy. Make sure that AutoStart attribute is set appropriately so that your policy will take effect during server startups.

There are few more interesting combinations possible with policies, start playing with them and you will never know when they will become handy. Good luck.

Windows XP and Vmware Tips

I have had few issues related to Vmware, slow hard disk in Windows XP and long boot time in Windows XP. Thought of sharing the solutions for these issues with everyone of you.

Slow Hard disk in Windows XP

You don't think your brand new computer could be running much more inefficiently than a 20 year old PC, do you? Mine did for some time, I didn't even realize it. My computer was taking lot of CPU even for mundane tasks such as copying files and the performance was getting worse. ProcExplorer showed hardware interrupts taking 70-80% of CPU.

The reason? The hard disk was running in Programmed IO mode (PIO mode) in which CPU was responsible for data transfer instead of DMA (Direct Memory Access) Controller. Right click My Computer -> properties -> Hardware -> Device Manager. Expand IDE ATA/ATAPI controllers and right click Primary IDE Channel and choose properties. Goto advanced settings and see the Current Transfer Mode. It should be Ultra DMA or NOT PIO.

If it is PIO, just goto Driver tab and click "Uninstall Driver" and reboot twice. If you would like to learn this in depth here are two good sources.

http://support.microsoft.com/kb/817472
http://winhlp.com/WxDMA.htm

Slow Boot time in Windows XP

Does your system stays long time in Windows XP Logo screen? It could be due to a corrupt program in Windows Prefetch directory, where Windows stores frequently used programs for faster fetching. Delete C:\windows\prefetch\*.pf files and reboot your computer.

Virtual machine fails to boot

I have some of my vms running on a NTFS filesystem mounted on a linux box using a ntfs-3g driver. The net effect is that the disk performance is relatively slow. Same could be said of USB 1.1 hard drives and network mounted drives. If you are running your VMs from any of these and your virtual machine fails to boot, try adding the following line to your *.vmx configuration file.

mainMem.useNamedFile = "False"

Hope you find these tips useful.

Perl Module for Tivoli Access Manager (TAM) is available

I was just searching around and found this nifty Perl module for TAM administration functions available on CPAN.

http://search.cpan.org/\chlige/TAM-Admin-0.35/Admin.pm

Thursday, March 13, 2008

Script to read any Windows Event/Application Log

Awhile back there was a discussion on the TME10 list about reading a custom application event log that a developer is using. The out of the box problem is that the ITM agents don't allow you to specify a log to look at, it only looks at the basic Windows logs. The ultimate solution is to write a script to grad the data.

So here is a simple PERL script that will read all messages from all Windows event/application logs. With a little tweaking, it can be used to feed a Universal Agent that will report to ITM based on Event number or LogFile name.

use strict;
use Win32::OLE('in');

use constant wbemFlagReturnImmediately => 0x10;
use constant wbemFlagForwardOnly => 0x20;

my @computers = ("localhost");
foreach my $computer (@computers) {
print "";
print "==========================================";
print "Computer: $computer";
print "==========================================";

my $objWMIService = Win32::OLE->GetObject("winmgmts:\\\\$computer\\root\\CIMV2") or die "WMI connection failed.";
my $colItems = $objWMIService->ExecQuery("SELECT * FROM Win32_NTLogEventLog", "WQL",
wbemFlagReturnImmediately | wbemFlagForwardOnly);

foreach my $objItem (in $colItems) {
print "Log: $objItem->{Log}";
print "Record: $objItem->{Record}";
print "";
}
}