Tuesday, July 13, 2010

Extended Attributes Sensor

When using TADDM, you will probably come across a case where you want to extract information which TADDM does not do out of the box.

For example, you want to record the date on which the antivirus was last updated on each server.

The extended attributes feature enables you to add a field to those TADDM recognizes. The Custom Server option enables you to run OS commands and scripts and populate them.


However, writing a script that extracts the data can be time consuming – this isn’t what we want to be doing. Populating the extended attributes is also a bit more complex than populating regular ones.

Fortunately, there are a number of shortcuts. The DeveloperWorks TADDM wiki has a sensor which will read a config file, create the extended attributes and populate them when TADDM discovers the relevant computer. All you need to do is enter the attribute name and the registry key (or WMI object, etc…) in the config file.

Extended Attributes Sensor and Tools

I used it today and when it runs, it’s a big timesaver.

However, I did have to tweak a few things for it to run on TADDM 7.2FP1 on Windows. In case this helps you, here is what I did:

  • in the file ea_cli.bat, I changed the line
    @../support/bin/jython_coll.bat ea_cli.jy %*
    @../support/bin/jython_coll.bat ea_cli.jy %*
  • in the file sensorhelper.py, I changed the line
    from com.ibm.cdb.platform.ip import IpUtils
    from com.ibm.cdb.platform.ip import IPv4Utils
  • in the file ext_attr_db.py, I changed the line
    from com.ibm.cdb.topomgr.util import JdbcConnectionFactory
    from com.collation.topomgr.util import JdbcConnectionFactory

Without the first change, nothing works. The second and third changes are because I got the error “ImportError: no module named ” when I ran the script.

Another useful sensor is this generic sensor.

-- Robert

Caesar’s Birthday

Today, July 13th, is the birthday of perhaps the most famous person who ever lived; Gaius Julius Caesar.

How many of us will be remembered for over 2,000 years?

http://www.oxforddnb.com/public/lotw/1.html (this week, might not work in the future)



-- Robert

Thursday, May 6, 2010

Error 500: system#notboundexception

There are a number of reasons to encounter the Error 500: system#notboundexception message in your browser windows when you try to access a Maximo/TPAE/CCMDB/TSRM/EAM/etc system after a startup.





In general, the cause of the problem is that the application cannot connect to the database properly, for whatever reason.

I encountered the problem this week when I visited a customer’s test site. I could not login to the system, until I realized that I had been directed to an old server, which had it’s database tables truncated!

-- Robert

Saturday, April 24, 2010

Hubble's 20th anniversary

It seems strange to think of a world where there was not a giant telescope orbiting and sending us fantastic photos day-in-day-out (or should that be night-in-night-out?), but the Hubble Space Telescope is celebrating the 20th anniversary of it’s launch.



-- Robert

Thursday, April 22, 2010

ITM Situation limits

ITM situations are constructed out of a number of very flexible conditions and the mechanism is very powerful. It’s probably about as flexible that one can get without using regular expressions (spit!)

However, it does have a big problem - a very frustrating limit to the number/size of the conditions.

ITM Situation Limits

-- Robert

Sunday, March 28, 2010

Ada Lovelace

Ada Lovelace was the world’s first computer programmer. She wrote programs to run on Charles Babbage‘s Analytical Engine. Unfortunately, the machine was never  built. I first heard of Ada when I started programming in 1996.

Match 24th was “Ada Lovelace day”, an international day of blogging (video logging, podcasting, comic drawing etc.!) to draw attention to the achievements of women in technology and science.

I missed the day itself, so I don’t know if I’ll create a post of my own, but I suggest you mosey on over to the list of existing posts.

-- Robert

Wednesday, March 24, 2010

TADDM 7.2 Fix Pack 1 – current list of APARs

It’s not due till the middle of April, but details have just been posted about the APARs fixed in TADDM 7.2FP1.

This fix pack is scheduled to release April 12, 2010. This is a target date and does not represent a formal commitment by IBM. This date is subject to change without notice.

I’ve listed a few of the APARs that seem interesting (to me) or that will solve my problems. The full list is in the link.

APAR IZ62734
When the TaddmTool has a newer version of TaddmWmi.dll an internal error occurred while copying the file from the gateway to the target. This was happening because the old TaddmWmi.dll is still loaded.

APAR IZ63361
When discovering a lot of targets, the building topology phase can hang or run extremely slow. The TopologyBuilder.log shows that ComputerSystemConsolidation agent is running for very long time. Topology garbage collector log shows that topology JVM memory is used up and garbage collector cannot release anything.

APAR IZ63682
When the Vmware sensor discovers Computer System with a different primary IpInterface, it does not merge with an already existing ComputerSystem in the database causing duplicates to occur. This is happening because the TopologyBuilder Agent uses only existing Computer systems without virtual flag set to true.

APAR IZ64198
In change history the date/time were displayed as UTC milliseconds from the epoch. The Date/time were fixed to be displayed in a more human readable way.

APAR IZ64526
Modules from IIS Web Server discovery were not included in business application (using both app descriptor and UI). IIS was not following a standard like other web servers IPlanet or Apache.

APAR IZ64682
Out of memory errors can occur on Windows platforms where an MS Exchange application is installed and contains many Public Folders. This was due to the large amount of data returned from the system.

APAR IZ68913
The component that sends change events to Omnibus or TEC -- changeevents.sh or changeevents.bat -- looks for the last change event indicator file in a different directory from where it was written after last discovery. Because it does not find the file, the change events program sends ALL the change event records, even those sent previously. This symptom negatively affects performance. The following entry appears in ChangeEvent.log: [main] INFO changeevent.OmpEventModule - Could not locate change events run time indicator at C:\ibm\cmdb\dist\var/services\change-events-runtime.log (This is ok in TADDM versions prior to 7.2).

APAR IZ69885
Populating the extended attribute for template extension using a jython script does not appear in UI. Additionally in the error.log the following message appears:
TopologyBuilder [TopologyBuilderEngineThread] ERROR agents.ExtendedAttributesAgent - [ExtendedAttributesAgent.E.2] An error occurred when setting extended attributes for ComputerSystem XXXXXXXXXXXXXXX

APAR IZ70822
Due to changes for Launch in Context following query http://<taddm_server_IP>:9430/cdm/queryHomePage.do?launchsource=itm&searchtext=<compsysIP> stopped working because it was filtered out by security mechanism. This behaviour will be enabled to handle correctly queries from other products.
APAR IZ71582
The following Launch in Context entries stopped working because it was filtered out by security mechanism. This behavior will be enabled to handle correctly queries from other products.



Monday, March 22, 2010

Unable to start request (350) with ITM SOAP

There are a number of ways of accessing the information in ITM.
The simplest is, of course, opening the portal.

Another way is to use the SOAP web services supplied by ITM.
One access the simple SOAP interface from http://localhost:1920///cms/soap/kshhsoap.htm

Two gotchas I recently encountered:
1. In some cases, I needed to enter the full fqdn of the TEMS server (server_name.domain_name).

2. The commands need to be all in UPPERCASE:

Otherwise, I get the dreaded <faultstring>Unable to start request(350)</faultstring> response…

Wednesday, February 17, 2010

TADDM 7.2 Interim Fix 1

Get the first fix of the year for TADDM here.

There are only two bugs/solutions in this interim fix, both concerning upgrades from a previous version of TADDM.

From the readme:

IZ67686 TADDM upgrade on a Windows platform failed during the database migration.
The error occurs when TADDM is installed in a different location than default C:\IBM\CMDB
The Customer may find this message in the taddm_7.2.0_install_msg.log:
INFO : com.ibm.cdb.install.ia.utils.Utils (from runCommand(content, envs, filetype)) - Stdout:
"Run command E:\ibm\cmdb\dist\bin\migration.bat -s -bv 7.1.2"
INFO : com.ibm.cdb.install.ia.utils.Utils (from runCommand(content, envs, filetype)) -
Stderr: 'migration.bat' is not recognized as an internal or external command, operable
program or batch file.

IZ68633 If the following files are missing: collation/linux.zip, collation/solaris.zip, collation/aix.zip,
collation/windows.zip, collation/linuxS390.zip the install/migration reports successful, but TADDM will
not start because the jdks needed to run TADDM and move the internal users from the 7.1.2 encryption
to 7.2 encryption are not available. The TADDM installation will be missing the
file: dist/etc/ TADDMSec.properties.

All I can say is that these are boring bugs! ;)


Saturday, February 6, 2010

Pinging the Unpingable

Despite it’s name, the TADDM PingSensor does not run the same ICMP ping that the command line utility ping does. What the PingSensor does is open a TCP socket on specific ports.
The list of ports used is in the Installation Guide:Planning Worksheet:

Port Target
CiscoWorks 1741
DNS 53
LDAP 389
SSH 22
WBEM 5988
WMI 135

Other ports used are 23 and 161.

This means that if a firewall is blocking these ports, then TADDM will not see any device there, even if another port, such as 80, is open. In that case, you’ll see an error message in the PingSensor log:

2010-02-06 14:13:11,875 DiscoverManager [DiscoverWorker-14] PingSensor- INFO session.Ping - Ping failed for IP address on all ports [22, 23, 135, 161]

In this case, you’ll either need to <gasp> open the firewall between TADDM and that server or add another port to the list TADDM scans by adding a property to collation.properties.

From the sensor settings section of the Administration Guide: com.collation.pingagent.ports=xx,yy, ...

By default, this property is used by the PingSensor sensor. It is not defined in the collation.properties file and has to be manually defined if needed.
Valid values are non-negative, numerical.
To override the default set of ports that the Ping sensor attempts to use, add this property to the collation.properties file and specify the port numbers as a comma-separated list. The default set of ports the Ping sensor attempts to use are port 22 and then port 135, if it cannot first make a connection to port 22.
For example, to add the SNMP port 161 to the existing ports that the Ping sensor attempts to connect to, you would add 161 to the end of the list of default ports:
If you only wanted the Ping sensor to use port 161, set it to the following: com.collation.pingagent.ports=161.

Sunday, January 31, 2010

Bleeding edge isn’t what is should be

Looks like there’s a problem with TADDM using the new 1.7.1 version of Cygwin as it’s SSH server.


So if you’re downloading Cygwin for a TADDM installation, use the link to the older, 1.5 version of Cygwin - http://cygwin.com/setup-legacy.exe 

You could actually just rename the regular setup.exe to setup-legacy.exe and it will download the latest patch level of the older version of Cygwin.

Quote of the Day

“If I want exercise... I read faster.”

Found in a comment for a post on this blog. It’s got nothing to do with anything, but I like it :)

I think I’ll start a habit of writing out interesting quotes I find. I suppose it’s something that should be “twittered”, but I don’t use Twitter. Yet…


-- Edit

I’d just like to say that I do not really recommend reading as a way to lose weight or keep fit. :)

Power of Ten – 21st Century

Powers of Ten is a 1977 American documentary short film written and directed by Ray Eames and her husband, Charles Eames. The film depicts the relative scale of the Universe in factors of ten.
Wikipedia website
Official website

Since the Age of the Internet, more of these sort of videos have appeared, often with a slider so that you, the viewer, can control the speed and location of the zoom.

Here are two I found recently and really liked:

One problem with them is the fact that they’re un-editable.

I’d like to be able to show my young nephews these, but they are so chock-a-block with items that would need explanation that the wood would be lost for the trees.

Does anyone know of a simple, or editable, Power of Ten clone?

Friday, January 29, 2010

Some minor Tivoli issues I’ve dealt with lately

As part of getting back on the saddle with my blog, I’m going to list a few of the problems I’ve encountered lately and, more importantly, how I solved them.

ITM 6.2.1 on Windows

I had a case where a universal agent simply would not start. Looking at the logs showed nothing wrong, it was just not registering with the TEMS. The Perl script was unchanged, the owner of the script had not touched it.

I googled “script Universal Agent restart” and one of the first hits I got was for an APAR (patch) called IY86181: UA RESTART MAY FAIL IF A SCRIPT LAUNCHED WITHIN UA IS RUNNING. Interesting.
Unfortunately, this patch is for Unix servers and came out back in 2006! It did get me thinking and I checked the Task Manager for running processes. There were lots and lots and lots of Perl.exe…. hmm. I killed all the Perl.exes and lo and behold – the UA connected to the TEMS!

Pity it still didn’t show any data :(

I then opened up a command window and ran the script. Wouldn’t you know? The script hung because it asked me to press ‘y’ or ‘n’ for some security setup.

Pressing ‘y’ a few times solved the problem and the Universal Agent ran properly from then on. Oh, and the script owner remembered that he had added a few more servers to the config file.

Lessons learned?

  1. NEVER believe whatever the client tells you. ESPECIALLY if they say “nothing changed, but now it doesn’t work”.
  2. If something external to the application stops working, first test it by itself.
  3. When researching a problem, look at similar-but-not-identical-problems and see if their solution can be fitted to suit you too.
  4. Not every problem will show up as an error in the log. In this case, the UA was functioning properly, it was simply waiting forever for someone to press ‘y’!
  5. Practice your skills. I haven’t been working on bugs in production environments lately, I’ve been busier installing new systems.
    This list of suggestions is written in the fastest way to solve the problem, but the exact opposite of the order I did them in!

6.2.2 on Redhat Linux

I was trying to configure the Warehouse Proxy on a new installation, but when I right-clicked configure then the Messages window shows 'Starting configuration ...' but the configuration screen never displayed.

I found a PMR which had my exact case and it even had the solution!
Removing the file $CANDLEHOME/<arch>/bin/ksz.jar and restarting the management console enabled me to configure the Proxy agent.

Lessons learned?

  1. One of the advantages of working for IBM (or having IBM support) is, of course, the common databank of lots and lots of people working on the same systems.
    It would have taken me ages to solved the problem on my own, or a week or so if I’d opened a PMR. Having had someone else, on the other side of the world perhaps, do that once – enabled me to solve my problem in about an hour and a half  (one hour to play around with the system, half an hour to search the PMR databank, find the solution and implement it)

-- Edit 01-Feb-2010
Of course, NOW I find a technote which presents the solution: http://www-01.ibm.com/support/docview.wss?uid=swg21409333. In my defense, I encountered the problem prior to the technote being published. I’ve been told that this bug will be fixed in an upcoming fix pack.

Astronomy Picture of the Day : Update

After ignoring my blog for a few/many months, I’ve started updating it again.

I’ll continue where I stopped, with an update to Astronomy Picture of the Day with classical content.

http://antwrp.gsfc.nasa.gov/apod/ap100118.html - Eclipse over the Temple of Poseidon

http://antwrp.gsfc.nasa.gov/apod/ap091223.html - December Sunrise, Cape Sounion

I don’t think there’s been anything I’ve missed – but if I have, please let me know!