Wednesday, December 17, 2008

Friday, November 14, 2008

Ancient Rome on your Modern Computer

Google has added a new twist to its popular 3D map tool, Google Earth, offering millions of users the chance to visit a virtual ancient Rome.image

 

image Google has reconstructed the sprawling city - inhabited by more than one million people as long ago as 320 A.D..

Users can zoom around the map to visit the Forum of Julius Caesar, stand in the center of the Colosseum or swoop over the Basilica. 

Google's site

BBC link & Associated Press link

 

 

-- Robert

A planetary snapshot

Since Copernicus showed that the Earth orbits the Sun, we've known that we're not the only planet in the universe. 20 years ago was the first discovery of an exo-planet - a planet which orbits a different star. Over 350 of them have been discovered over the years. BUT... until this week, all these discoveries were made with various techniques which detected the planet, but did not show it. This is similar to knowing that an airplane is flying near you because you can see it on radar or see it's contrail, but not ever seeing one.

Last week the Hubble Space Telescope took a picture of Fomalhaut and saw .. really saw a planet.

image

Picture courtesy Astronomy Picture of the Day

For a better articulated explanation - and information about another stunning exo-planetary discovery, click here.

 

-- Robert

Thursday, November 13, 2008

Better late than never...

Here is the link to the documentation for ITM 6.2.1

http://publib.boulder.ibm.com/infocenter/tivihelp/v15r1/index.jsp?topic=/com.ibm.itm.doc/welcome.htm, right where it belongs :)

 

-- Robert

Tuesday, November 11, 2008

The eleventh hour of the eleventh day of the eleventh month

Nothing technical in this post, it's more philosophical in nature.

The little piece of land I come from, Israel, has a chaotic history. We have numerous commemoration events for our many, many wars and our many. many fallen.

Despite this, I have always liked the symbolism of Armistice Day/Remembrance Day/Veteran's Day.
Both the symmetry of the time chosen, and the name of the War it commemorates - The War to End All Wars.

It seems like since then, every armistice is actually a temporary crease fire to reorganize for the next war.

The following poem, is probably the best known of World War I's poems:

In Flanders fields the poppies blow
Between the crosses, row on row,
That mark our place; and in the sky
The larks, still bravely singing, fly
Scarce heard amid the guns below.

We are the dead. Short days ago
We lived, felt dawn, saw sunset glow,
Loved, and were loved, and now we lie
In Flanders fields.

Take up our quarrel with the foe:
To you from failing hands we throw
The torch; be yours to hold it high.
If ye break faith with us who die
We shall not sleep, though poppies grow
In Flanders fields.

Lt.-Col. John McCrae

I do not hear it, or read it, without getting a lump in my throat.

While most of my examples will, necessarily, be local, I believe that most of what I will be writing is universal in nature. Bear with me, if you can get through the wall of text.
I have two commentaries on it I would like to share.

First, the third stanza can be read as war time propaganda. It may well have been, but since interpretation is on the part of the reader and not the writer, I prefer to interpret The torch not as the weapon used by the soldiers, but as the cause they fought for. This is a cry to the survivors - make sure that soldiers, sent to sacrifice their lives for their fellow men (and women), are fighting for a cause which is to be held up high. Do not break faith. Do not let this sacrifice be for selfish, ignoble,  low reasons.
The soldiers, laying down their lives for the greater good, deserve this courtesy - they did not die so that war could continue - they died so war could be stopped.
Here in Israel, it is common wisdom that combat soldiers who finish their army service after doing their regular conscript's time  (2-3 years) and have spent a lot of time doing "dredge work"  - 19 year olds who man roadblocks, deciding whether a woman is in labor or is hiding dynamite under here clothes, picking and choosing who shall cross the roadblock to work and who shall return with empty pockets to their homes, often leave the army as hawks - thinking that the only language their adversaries understand is violence and shows of strength. How can they think otherwise when their mind has been dragged in the mud for years?
Contrariwise, senior officers, when they leave, often seem more dovish - thinking that there is only so much that can be done with shows of strength and understand that violence can only contain violence from the other side. It cannot "cure" it. Only diplomacy can do this.

To my mind, those who choose to continue the status-quo with violent means without seeking a proper, diplomatic solution simultaneously are guilty of breaking the faith with those who laying in their countries equivalent of Flanders' Field.

My second comment is an observation. Poppies grow well in Flanders' Field because the ground is rich in humanity. The grounds around Nazi Death Camps, where millions of people (especially Jews) were cruelly tortured, executed and cremated is likewise rich in beautiful flowers.
If there is a God, the transformation between the ugliness of death and the beauty of nature must be an omen of some kind.

 

--Robert

Monday, November 10, 2008

ITM ODBC Universal Agent tips

As you know, (or don't know,) Tivoli Monitoring has a quick-and-simple way of extracting data from databases on windows machines. By creating a Universal Agent of the type ODBC, you can simply write your select into the mdl file and go from there. On Unixes you need to use a script UA and do a little more work.

Two things which I've dealt with in the past week:

  • There is a limit to how many lines the UA will pull out of the database. So if your select results in hundreds of lines, only the first 100 will actually be displayed in the portal or will cause situations to fire. You can change this maximum in the ENV file, by setting the parameter KUMP_ODBC_MAX_ROWS to whatever you need.
  • The SQL query in the mdl file must be on one line. I had a nicely formatted looong SQL which ran along a number of lines. The results were... not what I wanted (although the mdl compiled properly and there were no SQL errors). I suppose the newline character did some mischief with the SQL parser during runtime and it's not used by the mdl compiler.

Anyway, hope this helps someone :)

--Robert

Sunday, November 9, 2008

New versions...

I guess it's just that time of the year again!

TBSM 4.2 came out recently, as did Impact 5.1.

Yesterday I saw both TADDM 7.1.2 and ITM 6.2.1 in passport advantage.

Here's a brief list of TADDM changes from the release notes:

TADDM 7.1.2 gives you the rich details of configuration items with automated, agentless discovery of the assets and their application dependencies, as well as a Discovery Library technology to help leverage data from other sources.

TADDM is a configuration management tool that helps IT operations personnel ensure and improve application availability in application environments. The operational staff gets a top-down view of applications so the staff can quickly understand the structure, status, configuration, and change history of their business-critical applications. This view immediately isolates issues in times of performance or availability problems and enables more effective planning for application change without disruption. An agent-free creation and maintenance of a Configuration Management Database (TADDM database) is delivered without requiring custom infrastructure modeling. TADDM also provides complete cross-tier dependency maps, topological views, change tracking, event propagation, and detailed reports and analytics.

The following list includes the functionality that was added for the TADDM 7.1.2:

  • BIRT Report Infrastructure
  • Limited IPV6 Capability
  • Console Installation Capability
  • Improved View Performance
  • Improved Details Performance
  • Improved ECMDB synchronization times
  • Improved API query performance
  • Improved post-discovery processing performance
  • Improved TBSM Integration
  • Drill Down Capability for Business Applications
  • Comparison Report From Domain Manager
  • Cross-Domain Comparison reports from ECMDB
  • Additional MQ Cluster Information for zOS
  • Reduced WAN traffic during anchor usage
  • Upgraded first failure data capture tools
  • Weblogic 9.x and 10.x sensor support
  • Simplified migration from previous releases
  • Windows 2008 Support
  • AIX 6.1 Support
  • Bug Fixes

Updated documentation is here.

ITM 6.2.1 doesn't seem to have updated the documentation yet, but here's a list I have of it's changes:

    • Adaptive Monitoring
    • TEPS Changes
      • Event Slot Customization - replaces my older post!
      • Managed node search bar
      • Zoom in charts
      • SSO with Java Webstart
    • SPB bundles for TCM/TPM
    • More CLI abilities
      • Replace wadminep function (getfile, put file, list dir, execfile)
      • CLI for historical data configuration collection
      • Remotely invoke pdcollect tool
      • Expand tacmd createsit (display item, consecutive samples, state)
    • Agent Builder
      • Support 100+ connections for remote monitoring
      • Browser for logfile/script monitors
      • Add CIM provider
    • Out of the box Agentless OS monitoring packages
    • Infrastructure improvements
      • 64-bit zLinux and AIX support
      • Support TDW on zOS
      • Support TEC events from z Hub
      • Manage agent fail-over
      • Asynchronous Deployment
      • Support 64 bit counters
      • Agent Manager Services - an extra agentlet who manages the regular agents
    • Improved TADDM integration

Of those, the Adaptive Monitoring and Event Slots seem extremely interesting and I really want to try them out!

-- Robert

Edit: forgot a few things in ITM...

Tuesday, October 21, 2008

Ancient Greek Technology

An exhibition on ancient Greek technology titled "Greece and Technology: a perspective through time" will be soon be hosted at the premises of the "Teloglion Foundation of Art" in Thessaloniki, organized by the University of Thessaloniki (Faculty of Sciences).

 

Antikythera Mechanism
The exhibition will open on November 12 and will run through January 11, 2009. The purpose of the exhibition is to highlight the recent scientific findings which show that ancient Greeks were technologically more advanced that it was previously thought.
Within the framework of the exhibition a series of lectures has been announced to take place within 2008. 
Among the lectures delivered, one will focus on the famous Antikythera Mechanism , a device which could predict eclipses decades in advance and was also used to record the four-yearly cycle of the original Olympic Games.

 

Visit the co-organizing bodies: Thessaloniki Science Center and Technology Museum (in Greek)
and the Society for Ancient Greek Technology Studies; Ancient Greece OnLine

 

-- Robert

Wednesday, October 15, 2008

How shall I TADDM the network, if I don't know what it's like?

TADDM, which I've written before, is IBM's detective. It sniffs out and find everything that's connected to the network, interrogates them to find out what's inside and maps out the relationships (who's talking to whom and and who's ignoring whom).

Now, the first time I have to remove the dewy-eyed look from users is when I inform them that, yes, TADDM can discover their unique 3rd-party/in-house applications, BUT... we have to tell TADDM what these products look like so that it can "tag" them correctly. They want TADDM to be able to "guess" or even divine which of the thousands of processes and files scattered around the network are related to which business service they run. TADDM can do that, but it need at least a little help!

The other thing they don't like is when I have to feed TADDM the TCP/IP address scopes and user/passwords of their servers. They say "Why do I need to enter all these things if TADDM is supposed to discover everything by itself?". I must then reassure them that they do not want TADDM to be able to hack into their secure systems without the right credentials!
OK, so TADDM requires the users/passwords for the servers (it can also get the passwords from the organizations LDAP repository) but why does it need me to enter the IP addresses?

For two good reasons: (1) So that  you can give each IP list (scope in TADDM jargon) it's own set of credentials, i.e. IP 200.100.10.1 through 200.100.10.255 uses a certain user/password and a another scope uses a different one. (2) So that you can schedule discoveries by scope, and that way you're not doing the whole net each time.

But... what happens when an organization doesn't know how to split up it's IP range into separate environments? Say there are 200 servers, split into development, test, production and DRP environments all overlapping in the same IP scope. If I tried running discovery, I'd get tons of errors for using wrong user/passwords and I'd get a lot of unneeded devices when all I want is the production environment, unless I matched up IP to environment first.

Of course, the whole point of TADDM is that you don't necessarily know your network ahead of time. So what do you do?

The solution is a bit iterative, but you're not running into errors on the way and you don't need to feed TADDM any knowledge about the way the network is mapped ahead of time. What happens is that TADDM creates something called Logical Connections between devices when it detects that one uses the other. Logical Connections can be between application servers and databases, web servers and storage area network devices, switches and ... you get the idea). Now, once TADDM has completed a discovery, it maps out the Logical Connections between items which lie within it's scope. LC which go beyond the scope are listed, but not displayed on the map.

To leverage this, what we do is get our nose under the tent - we discover a few servers we know are in the right environment, find out which servers they are connected to, add them to the scope and continue till we have discovered everything in the environment we are interested in.

There are two ways of listing Logical Connections outside of the TADDM GUI:

  1. ./api.sh -u username-p password find LogicalConnection
    api.bat for Windows users.
  2. Connect to the database and run select distinct fromip_x, toip_x from logcconn

The first command will create an XML file with all the data, the second regular SQL. I used the second command (slightly modified to ignore 127.0.0.1 and output the data nicely) to create a script file which runs loadscope after the select and then I get an ever expanding scope which contains items which are talking to each other.

Don't forget that loadscope looks for a file formatted like this:

IP_Address/range/subnet, Exceptions, Description 
IP_Address/range/subnet, Exceptions, Description 
IP_Address/range/subnet, Exceptions, Description

Thanks to Byron for the help :)

Hmph.... This post seems a little too long for what I wanted to say... I hope I was clear in the end.

-- Robert

Tuesday, October 14, 2008

Hannibal - The Webcomic

Many people's first exposure to the ancient world of Rome is through the books they read as children. I first encountered Julius Caesar in reading the legendary comic book series Asterix. Mixing the old world with new technologies means that web-comic interpretations of the classical world  were just a matter of time:

From <http://newsok.com/hannibals-epic-campaign-comes-to-web-based-comic/article/3309191>:
=============================================================================
Hannibal's epic campaign comes to Web-based comic
WORD BALLOONS
BY MATTHEW PRICE
Published: October 10, 2008
Most have heard the story of the Carthaginian general Hannibal leading elephants across the Alps to face the Romans. Writer Brendan McGinley wants you to see it.
"There's already plenty of good prose about Hannibal, (but) no good visual medium for a story that crackles with so many unforgettable images, like elephants on the Alps or Mago Barca spilling dead Romans' rings on the Senate floor," he said. "Maybe Vin Diesel's long-stalled film will change that; Victor Mature's sure didn't."
McGinley and artist Mauro Vargas, along with colorist Andres Carranza, bring the Hannibal story to life — with some humorous asides — re-enacting the second Punic War on the Shadowline Web comics page, <http://www.shadowlinecomics.com/webcomics/#/hannibalgoestorome/>.

Vargas "really defines and expresses his characters; you need that where history meets comedy," McGinley said. McGinley said the trickiest part of creating "Hannibal Goes to Rome" is sorting which Carthaginian did what.
"There are so many Hannos, Hannibals, Hasdrubals and Giscos!" McGinley meshes historical accounts to create the tale, which he then passes on to Vargas to draw. "The historians and artist make it easy for me; all I have to do is throw a little observational humor into the mouths of the poor schlubs caught up in events," he said.
"Hannibal Goes to Rome" was first a candidate on DC Comics' Zuda site (www.zudacomics.com). Zuda is a site created to seek fresh talent.
After competing on Zuda, McGinley hooked up with Shadowline's Jim Valentino, who was looking to launch some Web comics.

Saturday, September 20, 2008

Reports

It's all very well to have a display of what is going on in your system at the moment - but what's been happening during the course of last month? Can you compare last year to today? How can I prove that whatever-change-was-just-made has (or has not) made a difference?


Sure, you can hack together an SQL routine or Perl script to get the raw data out of the monitoring system, but then what about showing your conclusions to someone who doesn't speak your type of jargon? You need something which creates reports which have been made for human eyes - not man/machine hybrids.

In other words, you need reports so you can translate your technical knowledge into business knowledge and in that way share your IT information with the decision making sections of your company/organization.

 

image 

TCR1

image

One of the nicer ideas in Tivoli at the moment is the gradual merging of all the various reporting routines in the myriad Tivoli products.

IBM has taken the standard BIRT reporting system and wrapped it up as Tivoli Common Reporting (TCR) - all the cooler newer versions of the Tivoli family have their reports in this new standard. The site I linked to has a list of all the TCR offerings. More and more of them are published on OPAL all the time. ITM6.2 reports have just had an update, for example.

Using BIRT means that the reporting engine is (a) free and (b) easily customizable - for those who know what they're doing with it. Alas, I'm not yet quite good enough with BIRT to create my own extra-special reports.

The next version of TADDM will use these reports and I'm curious as how to go about creating a "mashup" of a report which merges CMDB data with monitoring events - for example, how about a report which shows Number of Failures as a function of Number of Configuration Changes across the organization?

-- Robert

Friday, September 12, 2008

Flush the buffer

A recent conversation in the Developerworks ITM 6.x forum dealt with an unusual problem with Universal Agents.
A few rows were showing up cropped - only the first part of the line was making it's way from the UA to the TEMS/TEPS database.

The root of the problem turned out to be the UA's "unflushed buffer". What is a buffer and why should it be flushed?
A computer program, be it a simple "hello world" application or a complex missile control system, can often be summarized like this:

Get Input -> Do Something -> Write Output and repeat.

Now, things get complicated when we try to be more efficient. Say we've got a script which is checking a series of files/disks/servers/anything. If it wrote the result of each check immediately then the hard disk writing heads would constantly be starting and stopping - which is not efficient. What happens (behind the scenes) is that the operating system creates a Buffer of information which holds the lines temporarily. Once enough lines have been written into the buffer, the buffer is written (flushed) to the disk. This translates as much less starting and stopping of the disk heads. If you run the script yourself then you'll see everything displayed on the screen because the operating system will flush the buffer at the end of the script - at the latest.

Now, I don't know what the exact reason for the UA losing parts of lines, but I assume that the way the script UA works is reading the buffer that the script writes. If the UA reads the buffer BEFORE the operating system flushes the buffer then the UA will only get part of the information. This will not affect all UAs, but it might come and bite a few.

There is a full solution in the works, but a good workaround (for Perl) in the meantime is to add the following line to the beginning of the script:

BEGIN { $| = 1; }

This will make sure that the operating system flushes the buffer at the end of every output operation and that guarantees that the script and the UA are synchronized. If you're using other script languages, you'll have to find the equivalent function.

This also happened to me way-back-when when I was writing DCL scripts for the OpenVMS operating system. Just goes to show that what comes around, goes around! It also demonstrates that we Tivoli types need a good background in general computer science knowledge to help us solve fiddly little problems.

-- Robert

Thursday, July 31, 2008

TADDM logs and logging tips

A good TADDM technote has been published. It lists the various logs and their meanings.
The logs are located in $COLLATION_HOME\log. I've bolded the more useful ones.

control.log - contains messages from the start script

cdm.log - web portal logs are located here

discover.log - contains messages from the Discover jini service

discover-admin.log - contains messages from the DiscoverAdmin jini service

error.log - contains serious errors for any of the TADDM/CDT services

events-core.log - contains messages from the events core jini service

l2.log - contains messages for the layer2

local-anchor.<hostname>.log - logs messages from J2EE sensors

login.log - user login audit trail

proxy.log - contains messages from the Proxy jini service

tomcat.log - contains messages from the startup sequence

topology.log - contains messages from the topology jini service

services/ApiServer.log - XML, Java and EJB interfaces to CMDB are processed here

services/ChangeManager.log - ChangeManager works with StateManager to process change events after discovery completes

services/ClientProxy.log - start here for GUI issues. The GUI talks to client proxy exclusively

services/DiscoverManager.log - contains message for Sensor and Template Matcher messages (see comment further on)

services/DiscoverObserver.log - moves completed work items from DiscoverManager to TopologyManager

services/MonitorStateManager.log - processes discovery and change events

services/ProcessFlowManager.log - event processing engine for Discovery

services/ReportsServer.log - Handles some reports tasks

services/TopologyManager.log - interface between all other components and the datastore.

services/ViewManager.log - ViewManager builds the CI navigation trees

If the setting com.collation.discover.engine.SplitSensorLog is set to TRUE in the /etc/collation.properties then each sensor will have it's own log in the directory log/sensors/<runid>/sensorName-IP.log. this is VERY useful in debugging discovery errors. If the value is set to FALSE then the DiscoveryManager will contain all the messages running together. I always make sure the SplitSensor is set to TRUE.

Here are some more log file settings which are defined in the /etc/collation.properties file

  • com.collation.log.level - Logging level. Default is INFO, I set it to DEBUG whenever I need to see why a discovery failed. At DEBUG level you'll see the precise taddmtool command which was run and the server's response.
  • com.collation.deploy.dynamic.logging.enabled - If true, you don't have to restart TADDM when you change logging settings. I always make sure this is true, the (slight) performance drop you (might) get due to the constant rechecking is worth it when you want to debug a discovery.
  • com.collation.log.filesize - Controls the maximum size of each log file. Default is 20 Megabytes. When is limit is reached, the file is renamed and a new file is started.
  • com.collation.log.filecount - Maximum number of log files created (older ones are deleted). Default is 3.

-- Robert

Tuesday, July 29, 2008

Simpler than I thought

OK, Here's the situation:
I've got an ITM/TBSM environment where the tech guys look at ITM screens and the helpdesk and managers look at TBSM screens.

I've got a custom canvas or two for eye-candy on the TBSM. The problem is that when the helpdesk or managers looks at the messages coming over from ITM - they get a heart attack! A simple "no room on disk" turns into : NT_Disk_Full [(Free_Megabytes < 1000000) ON "Primary:AlphaServer:NT" ON D: (Free_Megabytes = 114)]

What I want to do is just change the main text which is sent from ITM to TBSM. Sounds simple?

Now, there are three basic ways in which you can find how to do something in Tivoli:

  1. You can read the basic documentation. However, some things are written in a comprehensive, rather than simple fashion:
    I defy anyone who is not an expert to make use of Chapter 6 of the Admin's guide : Customizing event integration with Tivoli Netcool/Omnibus!
  2. You can go online to a number of forii (plural of forum) and places and ask. However, you probably won't get a cook-book answer - unless you're pointed to somewhere else.
  3. The third option are the how-to guides which are periodically published. The most well known are the Redbooks - but I didn't find what I'm looking for there.
    I did find Coding an event mapping file for ITM TEC Event Forwarder - but it's got too much TEC specific hay which hides the needle I'm looking for.
    I also found Enriching IBM Tivoli Monitoring (ITM) Events For IBM Tivoli Business Service Manager (TBSM) in the TBSM Wiki. This is NEARLY what I'm looking for, except that it's got some BSM "hay" and modifies much too many files or databases to be "simple" enough for my needs.

I did all of this, came to the conclusion that it's complicated, and left it alone for a few months. Till last week when I HAD to do it :)

I did, however, get enough out of all sources (which are excellent sources - especially the last one, which talks about adding important information to the situation data en-route to TBSM) to do it myself and discover that the beast wasn't as bad as I had feared. I could even create this simple how-to which I will share with you.

The secret lies in what are called "mapping files". These mysterious configuration files lie in the directory C:\IBM\ITM\CMS\TECLIB (replace C:\IBM\ITM with whatever's relevant to you) and defines what changes, if any, ITM makes to the various parameters it passes to TEC or Omnibus through the EIF adapter.

Open one up and you'll see a thick wall of XML code.

The good thing is that you can ignore ALL the *.map files which already exist - they're used for integration with ITM5 and DM3.7 (as far as I can tell)

I created a new file called qnt.map 

The first lines I just copied/pasted from an existing map file and then then I changed the <id> from the original file
Then I added my first original material - the situation I'm interested in. The mapAllAttributes tell ITM to send all the attributes, including those I haven't changed.
The information between dollars comes from the attributes which are relevant to the situation. Edit your situation and click the "add conditions" buttons to see the what items you can use.

Note the use of $hostname$ for the server which triggered the situation.

<itmEventMapping:agent                                                         
    xmlns:itmEventMapping="
http://www.ibm.com/tivoli/itm/agentEventMapping"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.ibm.com/tivoli/itm/agentEventMapping agentEventMap.xsd">

    <id>99</id>                                                                
    <version>6.2.0</version>                                                   
    <event_mapping>              

         <situation name="NT_Logical_Disk_Space_Critical" mapAllAttributes="Y">
         <class name="NT"/>
             <slot slotName="msg">

                 <literalString value="There is only $NT_Logical_Disk.%_Free$ percent / $NT_Logical_Disk.Free_Megabytes$ Megabytes free on server $hostname$ $NT_Logical_Disk.Timestamp.TIMESTAMP$"/>
             </slot>
         </situation>

         <situation name="NT_Services_Automatic_Start" mapAllAttributes="Y">
         <class name="NT"/>
             <slot slotName="msg">
                 <literalString value="The Service $NT_Services.Service_Name$ is down on server $hostname$ $NT_Logical_Disk.Timestamp.TIMESTAMP$"/>
             </slot>
         </situation>

    </event_mapping>
</itmEventMapping:agent>

After you have your file, run the command tacmd -t all so that ITM will load the new mapping file.

THAT'S IT!

Triggering those situations will lead to Omnibus messages which look like this:

Normal Event Text

 

instead of the cryptic formula which we had before.

Just goes to show - sometimes things are simpler than I think!

-- Robert

Sunday, July 20, 2008

A Man on the Moon

I'll write a longer post tomorrow of the next day, but I've got to put something up now. 39 years ago, at 02:56 GMT 21st of July, 1969 a man, Neil Armstrong, stepped on the Moon.

"That's one small step for [a] man, one giant leap for mankind"

If thinking about that doesn't make you pause, then think about it again.

Read more about the mission here on Kennedy Space Center's site and Wikipedia.

During the last few days there have been some amazing results from some newer missions:
The EPOXI mission has video showing the Moon orbiting the Earth. I know that we all know this logically, but here you can actually SEE the moon moving!


For more details, see the Bad Astronomy Blog - which is actually very good.

 

Another space probe, called SELENE, has taken pictures of the moon which show debris from a later moon landing, Apollo 15.

Last link for now - VERY high resolution images of Tycho, one the largest craters on the Moon taken by SELENE,

 

Think about it again when you look up at the moon. 39 years ago there was someone there!

-- Robert

Friday, July 18, 2008

TBSM tips

Due to a few bureaucratic problems. I found myself installing TADDM and TBSM about 6 times over the last few days!

 

The first good news is that everything works.
The second good news is that I've got a list of problems and solution which I can share.

 

Most of these have solutions in the documentation, but it's not always clear.
All my installations were on Windows 2003, but I assume the problems are pretty platform agnostic.

 

  1. The Omnibus service stops after a while / Error 500 in the TBSM default screen.
    For some reason, on two of the servers, the Omnibus service kept dying. This is apparently a known bug in the version of Omnibus which is shipped with TBSM 4.1.1. You can solve this problem by upgrading the Omnibus to a more current version.
    SOLUTION : Add the parameter -regexplib TRE to the startup configuration of the Omnibus server (and upgrade when you get the chance)

  2. XMLToolkit service does not start. The Tivoli Discovery Library Reader service is the component of TBSM which loads DLA files or TADDM data into TBSM, This way you don't have to build the Lines Of Business yourself, rather you can load them from somewhere where they have already been defined.
    The service wouldn't start and kept giving the message "The Tivoli BSM CCMDB Discovery Library Reader service started on Local Computer and then stopped".
    SOLUTION : Copying the file mscvr71.dll from %SystemRoot%\System32 to the toolkit's \bin directory solved the problem.


  3. TBSM starts with incorrect/blank main display screen. The other symptom is seeing the following message in the browser's java console:
    Sorry, there has been a problem responding to your request. Database may be unavailable. Please report this to the server administrator: Error rendering Velocity template: layouts/ngf-default.vm: Unable to find resource 'layouts/ngf-default.vm' not found
    at javax.xml.parsers.DocumentBuilderFactory.newInstance(Unknown Source)
    Now, if you're just reading this line, then you might figure out the solution for yourself. However, the problem is that the line is buried between many others.
    SOLUTION : Copy %NCHOME%\guifoundation\webapps\desktop\WEB-INF\system-templates\vm\layouts\html\ngf-default.vm to the directory %NCHOME%\guifoundation\webapps\dNesktop\WEB-INF\system-templates\vm\layouts


  4. The biggest problem I had was quite bizarre: The Service Component Repository was not initialized properly.
    The SCR is the repository where all the various objects (Servers, Databases, Services, etc) are kept. One of the automatic post-installation steps is the running of a script called tbsmdefaultimport. You should then see the following tab in the Service Administration screen: 
Good_SCR Unfortunately, what I saw was this : Bad_SCR

The garbled entries make it impossible to import data into TBSM, because the tree does not contain the proper entries.

SOLUTION: My solution was uninstalling/reinstalling. On the THIRD attempt, the TBSM installed correctly. Since then, Doug McClure has given me the following undocumented procedure to reset the SCR without needing to reinstall:

UNIX :
run "setdbschema -U <dbuserid> -f a". This will drop and recreate all of the tables associated with the SCR. After you have done this, you should invalidate the "Imported Business Service" and the "Component Registry". That should delete everything.

Windows:
run (using psql) the following files (found in .../XMLtoolkit/sql):
scc_staging_schema_deletes.sql
scc_schema_deletes.sql
scc_schema_setup.sql
scc_staging_schema_index_setup.sql
scc_staging_schema_setup.sql
Then you should invalidate the "Imported Business Service" and the "Component Registry"

I hope I've saved some of you some time...

-- Robert

Friday, June 27, 2008

Troubleshooting ITM OS agent on Windows

One of the most common tasks a Tivoli admin has to do is installing an OS agent (TEMA) on a server.
From my experience, it's a reasonably trouble free task, with few gotchas.
First, I'm talking mostly about local installation.
Second, the solutions mostly modify the registry - care must be used when doing so and obviously, I take no responsibility for any problems :)
Here's my list of common problems/solutions :
  1. Install from a local disk, not a network drive - i.e. no \\ in the installation directory.

  2. Simple directory names.
    The most common problems I've had are after installing Java and GSKit, the installation suddenly quits with no warning.
    This is either because:
      1. The TEMP/TMP environment variables point to a "complex" directory - i.e. one with spaces or is longer than 8 characters.
      2. The installation directory is a "complex" directory
      3. The target directory is a "complex" directory
    This is because the installation program is looking for the 8.3 format of the file (not C:\Program Files, but C:\PROGRA~1). When the registry setting HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Filesystem/NtfsDisable8dot3NameCreation is set to 0, then windows will create both filenames. If it doesn't exist, or is set to 1, then only the complex name is found and the installation fails.
    Another way of checking is running a dir /x command in a DOS box.
    <Caution>
    You must reboot the server for the new setting to be active. I find it's easier to just use simple directory names. The TEMP/TMP environment variables are changed in the Advanced settings of System Properties.
    IBM link : Setup program suddenly terminates after JRE and GSKit installation
  3. Cannot install because a reboot is pending.
    Often when I try to install ITM on a server that hasn't been rebooted in a long time, I'll get that error.
    A reboot will solve the problem, but from then on you'll have a tough time convincing people that ITM doesn't require a reboot!
    The registry key HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\PendingFileRenameOperations (PendingFileRename for Windows 2000) holds the list of filenames which have been marked as changed and are waiting for a reboot. Check them, if they're harmless (I often see adobe files) then just remove them from the registry (export them to a backup file first) and run the installation again. Import the files back to the registry if you like.

    Note: Since ITM6.1 Fixpack 5 Interim Fix 2, the setup ignores most of the files so this should occur less.
    IBM Link: Windows agent reboot pending to rename locked files

  4. GSKit errors in general
    GSKit is something required for ITM and it is installed by the setup program before the ITM agent itself.
    However, sometimes you'll encounter problems with GSKIT and you'll want to uninstall it. There is no built-in uninstallation for a damaged GSKit.
    Here is a step-by-step uninstall routine : http://www-1.ibm.com/support/docview.wss?uid=swg21258721
    There's also a link to ITMRemoveAll in the link - a fast and dirty uninstall for ITM.  

  5. Another option for GSKit problems is this:
    1. Manually copy Windows\InsGSKit\setup.iss to the desired hard-drive in a directory of choice. 
    2. Alter the szDir=C:\Candle\GSK7 statement to use the desired drive letter  (Since Candle management agent was running)
    3. From command line execute:  setup.exe ITM61 --logfile=D:\GSKitTemp\GSKit.log -z -s                
    -SMS -f1"D:\GSKitTemp\setup.iss"

    This will install the GSKit. Once it is completed run the setup.exe of the Agent media. This will install the agent successfully.
These are the most common problems I've had with installing ITM. They're all easily avoidable once you know about them - but are a bit voodoo-like if you don't.
Drop me a line / add a comment if you think there's something I've forgotten.
-- Robert

Wednesday, June 25, 2008

Getting the date of an ancient date

There have recently been a few studies of the ancient world which have been aided by astronomy:

Dating Julius Caesar's invasion of Britain through tides (effects of the moon) 
http://www.txstate.edu/news/news_releases/news_archive/2008/06/Caesar062308.html

Dating Odysseus's Return from the Trojan War through a (suspected) Solar Eclipse
http://www.breitbart.com/article.php?id=2008-06-23_D91G27MO0&show_article=1&cat=breaking
http://www.sciam.com/article.cfm?id=homers-odyssey-may-document-eclipse

And Thale's eclipse which I blogged about before.

A lot of this stuff I get from Rogueclassicism.

-- Robert

Using Extended Attributes in TADDM with the TADDM API

As I've mentioned before, TADDM is the heart of IBM's CMDB solution.

Now, each Configuration Item (CI) in the CMDB has a very long list of attributes; For a computer it's the computer's name, IP address, amount of memory and so on. For a database it's the list of schemas, physical files and so on.

Now, TADDM is smart and can extract just about everything possible about a system. However, there's no way in the world it can know about outside information - such as the name of the person in charge of the specific server. That's why there are a number of attributes which are not discovered automatically, but are entered manually. These are called administration attributes are mainly names, phone-numbers and so on.

Now, you may have a use for information of this sort that does not appear as one of the administration attributes. The classic example is the physical location of the server. To solve this problem, TADDM has Extended Attributes which you can create and add to any type of CI. You could add a PhysicalLocation field to every ComputerSystem and a NeedsToBeBackedUp field to every database.

The only problem is that the default reports will not show you your Extended Attributes.

There are two solutions at the moment (I understand that the default reporting options should improve by the end of this year).

The smart solution is to download the TADDM connector for TDI which will enable you to manipulate your TADDM database easily. (After you've gone through the learning curve, of course)

The simple(r) solution is to write a short Java program which will extract the information for you.

I recommend you do both - and see what works best for you. You'll certainly learn more about TADDM this way.

Here is a short Java program which will demonstrate how to use the Java API to get data out of TADDM


----- Begin ShowAttributes.java

// I don't think you need ALL these includes for this specific program to run, but they never hurt...
import com.collation.platform.model.Guid;
import com.collation.platform.model.AttributeNotSetException;
import com.collation.platform.model.ModelObject;
import com.collation.platform.model.topology.extattrib.UserData;
import com.collation.platform.model.topology.meta.UserDataAttributeMeta;
import com.collation.platform.model.topology.meta.UserDataMeta;
import com.collation.platform.model.topology.sys.ComputerSystem;
import com.collation.platform.model.topology.sys.OperatingSystem;
import com.collation.platform.model.topology.sys.windows.WindowsOperatingSystem;
import com.collation.platform.util.ModelFactory;
import com.collation.proxy.api.client.ApiConnection;
import com.collation.proxy.api.client.ApiException;
import com.collation.proxy.api.client.ApiSession;
import com.collation.proxy.api.client.CMDBApi;
import com.collation.proxy.api.common.AttrNameValue;
import com.ibm.cdb.api.ApiFactory;
import java.io.*;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.util.Vector;

public class ShowAttributes{

        String usage = "Usage: ShowAttributes <hostname> <port> <username> <password> <condition>";
        if (args.length < 6) {
            System.out.println(usage);
            System.exit(1);
        }
        String hostname = args[0];
        int port = Integer.parseInt(args[1]);
        String username = args[2];
        String password = args[3];
        String condition = args[4];
        String extendedAttribute = args[5];

        //We've got our initial arguments. Lets access the TADDM database!
        CMDBApi Api= null;
        ApiSession Session = null;
        ApiConnection Conn = ApiFactory.getInstance().getApiConnection(hostname, port, null, false);
        Session = ApiFactory.getInstance().getSession(Conn, username, password, ApiSession.DEFAULT_VERSION);
        Api = Session.createCMDBApi();

        //We'll extract a list of ComputerSystems
        Query = "SELECT * FROM ComputerSystem where fqdn contains '" + condition + "'";            
        ModelObject mo[] = Api.find(Query, -1, null, null);
        System.out.println("Found " + String.valueOf(mo.length) + " items."); 
       
        //Loop over the list of computers
        for (int j=0; j<mo.length; j++) {   

              //Print out the computer's name
              ComputerSystem computer = (ComputerSystem) mo[j];
              System.out.println(computer.getDisplayName()); 
                                          
              //Extract the list of Extended Attributes for our specific computer
              Guid guid = mo[j].getGuid();
              AttrNameValue[] attrNameValGet = api.getExtendedAttributes(guid);
              //Loop over the list of Extended Attributes  
              for (int jj=0; jj<attrNameValGet.length; jj++) { 
                    
                          System.out.println(">" + attrNameValGet[jj].name + "," + attrNameValGet[jj].value + ","); 

               }

         } 
}

---- End ShowAttributes.java

(This has been cut & pasted without re-double-triple-checking, so please tell me if there are problems)

Now, the problems don't end just with writing the program. How do you compile and run it?
Java being Java, you need a ton of parameters so that the right jar files will be found.
Here's a batch file which compiles our program and runs it.

---- Begin ShowAttributes.bat

@echo off
rem You must set these two to suit your environment.
set COLLATION_HOME=D:\IBM\cmdb\dist
set JAVA_HOME=%COLLATION_HOME%\external\jdk-1.5.0-Windows-i386

rem We will now set TADDM's environment so we can compile java
set path=%path%;%JAVA_HOME%\bin
set TADDM_SDK_HOME=%COLLATION_HOME%\sdk
call %TADDM_SDK_HOME%\bin\setTaddmEnv.bat

echo Compiling ShowAttributes.java
javac -Xlint:deprecation -cp %TADDM_CLASSPATH% -d . ShowAttributes.java
if %errorlevel% neq 0 exit /b
Rem Continue if there were no compiler errors

java -Dcom.collation.home=%COLLATION_HOME% -cp %COLLATION_HOME%\lib\api-client.jar;%COLLATION_HOME%\lib\api-dep.jar;%COLLATION_HOME%\lib\platform-model.jar;. ShowAttributes %1 %2 %3 %4 %5 %6 %7 %8

pause

---- End ShowAttributes.bat

Read more about the TADDM API and other TADDM tricks and tips with the new Redbooks which have just been published.

IBM Tivoli Application Dependency Discovery Manager Capabilities and Best Practices

Deployment Guide Series: IBM Tivoli Application Dependency Discovery Manager V7.1

Have fun!

Thursday, June 5, 2008

Getting on with Greek

This week was the 37th annual conference of The Israel Society for the Promotion of Classical Studies (ISPCS)

My bosses had other ideas about my being there, however.

I only managed to sign up as a member of the ISPCS and purchase a few books to help me with my Greek.
I bought the Joint Association of Classical Teacher's (JAST) series of Reading Greek textbooks.

(There are so many complicated acronyms in the last paragraph that you'd think it was about something in hightech...)

I bought the Grammar, the Reader and the Independent Study guide. I linked to Amazon because the official JACT site is strangely silent about the books. (at least, I haven't found anything)

Anyway, it's now official - I'm spending too much time BUYING Greek books instead of LEARNING Greek!

I've got an exam next Friday - it's a good thing that it's a long weekend here in Israel.

A Fistful of Tools...

Here are two more excellent ITM tools

GBSCMD is a command line tool which was developed in house by Gulfsoft which provides functionality which does not exist in ITM. ITM 6.2 and 6.2FP1 have added more options to tacmd, but GBSCMD is a high bar to reach.

ITMSUPER is a new OPAL offering which allows the user to view managed system data, debug situations, and correct environment configurations.
It basically collects and improves on the existing ITM tools in OPAL which I mentioned here.

You may be able to do your work without these tools, but you're certainly handicapping yourself if you don't take the time to download them and give them a spin!

Monday, June 2, 2008

From Rocket Science to Superstitions...

Here's a cute summary of some superstitions held by those who seem like the most rational people possible - Astronauts and Cosmonauts.

Of course, now I must send you to a site which debunks and refutes every space related superstition.

 

Robert

Sunday, June 1, 2008

Listing Situations and their distributions

If you're like me then you've got customers who want to know "Exactly what is being monitored".
They don't want to go to the portal and check for themselves, nor will they use any of the Tools and Scripts which are available.

They just want the list! And they want it now!
What to do, what to do?
ITM has a very nifty feature in which you can extract data from the system using SOAP web services.

I found the exact commands I needed in the Gulfbreeze Blog and in the OrbData site (All the heavy lifting was done by them).

However, the type of person who needs to display this information is probably rather new to ITM and, lets face it, you've got more important things to do right now than learn a few new out-of-the-way features of ITM.

Gulfbreeze and Orbdata assume you know what you're doing. They also give you the data unformatted - i.e. nothing than can be shown to anyone without a lot of massaging of the information.

I'm going to show the simple, cut & paste way of doing it.
(Appendix A of the ITM Administrator's guide goes into all the gory details.)

  1. In order to run a SOAP request, you need two files
    1. In the bin directory of the TEMS server, create a file called URL.txt which contains the text:
      http://TEMSServerName:1920///cms/soap
    2. In the same directory, create a file called SoapRequest.txt and insert the following text:
      (change userid and password to taste)
    3. <CT_Export>
      <filename>data.xml</filename>
      <request>
      <attach>header-data.xml</attach>
      </request>
      <request>
      <CT_Get>
      <userid>sysadmin</userid><password>mypassword</password>
      <table>O4SRV.LOCALTIME</table>
      <sql>
      SELECT TOBJACCL.OBJNAME,TNODELST.NODE
      FROM O4SRV.TNODELST,O4SRV.TOBJACCL
      WHERE TNODELST.NODELIST=TOBJACCL.NODEL AND TNODELST.NODETYPE="V"
      </sql>
      </CT_Get>
      </request>
      </CT_Export>

  2. In order to see the XML data nicely, you need so insert a reference to an XSL file. Add the file header-data.xml into the cms/html directory with the following content:

    <?xml version="1.0" encoding="ISO-8859-1"?>
    <?xml-stylesheet type="text/xsl" href="kshrpt.xsl"?>
  3. From the bin directory, run the command kshsoap SoapRequest.txt URL.txt (or  CandleSOAPClient on *nix)
  4. You should then find a data.xml file in the cms\html directory. Open it in a web browser and you'll get a nicely formatted table of all the situations and the agents they're associated with.

So what did we do?

We used a CT_Get call to extract the information we wanted. (See the documentation and the other blogs for more details as to what exactly the SELECT does).

We wrapped it in a CT_Export so that we would get an XML file.

We added an attachment to the beginning of the XML file so that we could use the formatting file (which comes with ITM)  to present the information as a proper table and not as an odd looking string.

As I said, the hard part is knowing what SELECT to use, but I hope this little entry will help people.

Thursday, May 29, 2008

Thale's Eclipse

More than 2,500 years ago, Thales, one of the first Greek philosopher-scientists, predicted an solar eclipse.
Without the Internet, with no computers, not even decent pen and paper for a scratch pad he managed to use science to predict what, till then, was deemed to be the work of a god.

The eclipse duly took place as he predicted - probably on the 28th of May 585 BC

Here are some links about Thales and his eclipse.

Learning Greek 1

Well, another reason I'm writing this blog is my studies of Greek. I want to learn Ancient Greek because it interests me and I think as as long as I'm studying the Classics, I may as well be able to read the language. Unfortunately, I seem to have some mental blocks...

So, As I review the stuff I should already know, I'll post it here.
I'll start with the Greek Alphabet.

Upper Case Lower case Letter Name English equivalent
Α α Alpha a
Β β Beta b
Γ γ Gamma g
Δ δ Delta d
Ε ε Epsilon e
Ζ ζ Zeta z
Η η Eta e
Θ θ Theta th
Ι ι Iota i
Κ κ Kappa k
Λ λ Lambda l
Μ μ Mu m
Ν ν Nu n
Ξ ξ Xi x / ks
Ο ο Omicron o
Π π Pi p
Ρ ρ Rho r
Σ σ or ς Sigma s
Τ τ Taf t
Υ υ Upsilon u / y
Φ φ Phi ph
Χ χ Chi ch
Ψ ψ Psi ps
Ω ω Omega o


Note : Sigma is written σ in the middle of a word and ς at the end.
SOS would be σος

Obviously, Wikipedia has a big page about this.

It there is some problem and the Greek letters don't appear properly, please send me a note...

PULSE for those who missed it...

PULSE, for those who don't know, was a giant Tivoli conference which took place last week in Orlando, Florida.

Lets start with the crunch : The presentations.

Here's the PULSE Blog.

Here's a new IBM initiative : A Web 2.0 Tivoli Community

The new community space looks interesting. It's still very much a work in progress, but go there and look around.

A day in the life of a Tivoli implementer...

Yesterday I installed a small ITM PoC (Proof of Concept) at a customer.

I arrived at their office at about 8:45... and waited at the entrance till 9:30 before the guy I was supposed to meet was located. I should have taken this as an omen.

How long should it take to copy a 4 Giga DVD to the customer's server? About 20-25 minutes I guess.
40 minutes after the copying started, I got a corruption-error on the DVD.

Signing dramatically, I sat down to burn a new DVD as the in-house DBAs started installing the database I had requested to be installed the day before. They couldn't even start the installation because the drive was hardened. Aha! Could that explain my copying misery?

They started a conference call with the system guys to remove the hardening.
It was now about 11:30.
I gave the customer my (newly burned) DVD told him to copy it to the server, unzip it and call me.

I fully expected to wait till next week for that call...

However...

At 13:30 I get a call - the DB is installed and the files have been copied.

I go back and what do you know?
Everything went swimmingly from there on...
By 15:30 I have installed the Tivoli Monitoring server and 5 agents are being monitored.

The biggest problem I had with the installation was the lack of an Adobe Acrobat reader so I could show the customer the documentation.

Just goes to show, what starts out as a bad day just might turn out ok :)

Robert

Monday, May 26, 2008

Phoenix Lands On Mars !

The Phoenix space probe has landed on Mars!

Here are a few links:

The next few weeks will be very interesting...

ITM Tools and scripts

ITM 6.x is a pretty simple system and day-to-day, I don't feel that it needs too much hand holding.
Of course, we never leave the poor thing alone and we're constantly upgrading the system, adding agents and changing situations :)

So, every now and then a problem appears.
There is an excellent presentation which summarizes basic troubleshooting and where to look for problems.
(Logs, trace levels, debugging, process flow and much much more)

ITM 6.1 Problem Determination Tools and Best Practices

It also has links to a series of scripts in OPAL which will enable you to see what's going on in your ITM environment in a simpler way.

Simpler for tech people of course, don't let managers see these scripts :)

for the scripts, go to the OPAL catalog

Enjoy :)

Saturday, May 24, 2008

New to Tivoli Application Dependency Discovery Manager (TADDM)?

This application from IBM is really a mouthful!

Pity, because it's (in my opinion) one of the new additions to Tivoli over the last few years.
TADDM is an application which maps out your network, getting full information about each and every element (Application Discovery) and finds out the relationships between each (Application Dependency).

So, for example, TADDM will find out that application A runs on Server B is accessed by Web Servers C and D while application A accesses  Database E which is on server F. It also keeps  a full history of the parameters and information of each element so you can see what changes have occurred.

TADDM works centrally, no need to install anything on any other server (unless you need to cross firewalls and then you need an SSH server for each section). It works by scanning the network and running Sensors on each device it finds. If it find a computer, it will use a generic sensor to find out what kind it is. It will then use the relevant Windows, UNIX,etc sensor. Once it knows what applications, Databases, etc are on the server, it will use the relevant sensors too.

Those of you familiar with ITIL will realize that TADDM is IBM's system for building the organization's CMDB.

TADDM

TADDM Links:
Documentation
IBM Support
TADDM Redbook (For a slightly earlier version, but 90%+  is still relevant)
Developerworks Wiki

My TADDM Tips:

  • After the initial installation, be prepared to wait a LONG time for the initial database to be built - I've seen the installation take, say, half an hour and then wait another 20 minutes for it to start for the first time.
  • Despite this, it's quite common for the initial startup to fail for some reason. The documentation has a specific "Initial startup troubleshooting" section. I've found that running the support script make_db2_db.bat solved my problems.
  • Familiarize yourself with the /etc/collation.properties file.The number of configuration items is immense and just by going over them you'll learn a lot abut how TADDM works. (Chapter five of the admin guide)
  • The TADDM logs are excellent! Make sure you're set the configuration com.collation.discover.engine.SplitSensorLog=true so that you get a separate log for each sensor.
  • If the logging level is set com.collation.log.level=DEBUG you will see the script which is run to activate each sensor. You can now run this exact script with the same parameters for yourself to debug any errors! How often do you have an application which tell you precisely what it's doing and lets you do that same action for yourself?

Robert

Sunday, May 18, 2008

What on Earth is Ἀρετή?

I’m very fond of metaphors and idiomatic expressions and I try to use them when ever I can.

The reason I called this blog Ἀρετή (an ancient Greek word pronounced Arete) - Excellence is slightly complicated.
I wanted something that would merge both my professional life (Software Engineering) and my non-professional life (Studies of the Classics, Astronomy, History and Science).

At the cost of being pretentious, I have found that this wonderful word - Ἀρετή - encompasses a lot of my personal philosophy of life.

The word means excellence as a value - living up to your potential, “Being all you can and should be”.

Other expressions I like are:

  • Do unto others as you would have them do unto you.
  • It’s not whether you win or lose, but how you play the game.
  • The Golden Mean
  • Never attribute to malice that which can be adequately explained by stupidity

I have found that in the long term, co-operation and mutual aid has helped me advance my goals faster and more efficiently than had I just blundered forward without any regard towards my co-workers.

I don’t pretend that I live a blameless life or that I am a perfect role-model, however, I do make an effort to go through life realizing that it’s a team sport…

I would be happy if this site helps others solve problems they have encountered, broadens their horizons and teaches them something new or even if it just lets a few slow minutes pass enjoyably.

Robert

Saturday, May 17, 2008

IBM Tivoli Monitoring 6.2 Fixpack 1 - ITM6.2FP1

Well, ITM6.2 FP1 has been released.
ftp://ftp.software.ibm.com/software/tivoli_support/patches/patches_6.2.0/6.2.0-TIV-ITM-FP0001

You can read the release notes here:
ftp://ftp.software.ibm.com/software/tivoli_support/patches/patches_6.2.0/6.2.0-TIV-ITM-FP0001/6.2.0-TIV-ITM-FP0001.README

There are a couple of pretty nifty things about this Fixpack which should come in handy.
Here are some of the items which I know I'm going to be using...

  • CLI for Historical Data Collection Configuration : Today, just getting a list of what historical data I'm keeping is painful. Even if I only use this for reporting and not for managing, it will be very useful.
  •  Provide CLI for Maintenance Mode : No more situation floods during upgrades or backup downtime.
  • Improved DLA file export : There is a new utility to create an XML file for feeding to TADDM - hopefully this will have all the bugs ironed out :)
  • Regular expressions in situation rules - Need I say more?

Not all of these are found in the README, go through the documentation too...
http://publib.boulder.ibm.com/infocenter/tivihelp/v15r1/index.jsp?topic=/com.ibm.itm.doc/welcome.htm

Read the "new in this version" that's at the top of every book.

I'll update the Blog with my experiences with this FixPack.

Enjoy :)

Friday, May 16, 2008

Back again

Well, I think I'll be sticking with Blogspot after all.

I like Wordpress and it is certainly friendlier to start things with.

Also, I really do like the static pages which Wordpress has and Blogspot lacks. However, the fact is that Wordpress is more limited from the point of view of template design and I prefer the Blogspot widgets.

So, at least for now... I'm back on Blogspot.

I'll have to make up my mind before I start telling people about my Blog ;)

That Didn't Hurt...

Well, if all went according to plan, this message should arrive in my new blog on Wordpress...

Sunday, May 11, 2008

Changing Already?

I've done some research and perhaps I should change my blog to Wordpress?

Well, the whole point of this exercise is to try out new things, so I've created a Wordpress blog and I'll try transferring this blog from Blogger to Wordpress.

 

We'll see if it works...

 

Oh, I'm also using Windows Live Writer to write this instead of doing it in the browser.

Wish me luck!

Buying Books

Bought a few books today...
The links I've given have all been from Amazon, but that's just because Amazon has the most information about books on their site.
I use www.bookfinder.com to find cheap copies of books (both old and new)

I especially like it because it includes the postage and handling in the price AND converts to shekels for me.

I've just noticed that even the Asterix book has an astronmical connection ;)

Saturday, May 10, 2008

The Mythical Man-Month

I ran across a copy of "The Mythical Man-Month" in a second hand book shop yesterday.

Despite being written back in 1975, the book is a still Delphic oracle of software engineering. I credit it (and the friend who introduced me to it) with starting the boost me from a code-monkey-programmer to a software engineer.

The largest theme of the book is that adding manpower to a late software project makes it later.
i.e. if you're behind schedule, adding a newbie is NOT going to help.

Sounds like a truism in these days of XP/Agile/Scrum and so on, but it was revolutionary back then.

Mouse 1 : Scientists 0

I don't often visit the news satire The Onion.

But this article had me crying with laughter...

Son of a bitch mouse solves maze

New to Tivoli Monitoring?

Lets get some content onto this blog.

I'll assume you're a new recruit to your IT company and you now must start working with a product called IBM Tivoli Monitoring (ITM).

Where to start? What to do?

In a (very brief) nutshell, ITM is one of a series of Tivoli products. The entire Tivoli suite is designed to help companies manage and understand the various pieces of computer technology they use. ITM manages the servers and applications that the company uses. Remember Mission control in the movie Apollo 13? Well, they were using NASA specific systems, but the analogy holds - they were using a product which monitors and controls the spacecraft, just like ITM does to the servers.

First day on the job, someone has given you a welcome speech, shown you your chair and you've scribbled your user/password on a note.
What now? How to find information about ITM?

There are three types of websites which will help you
1. IBM documentation
2. Forums
3. Personal / Company websites

The first places you should go are
There are two main public forums for ITM
And here are some websites/blogs by a few people and consultancy companies that supply Tivoli services.
I don't represent any of them, nor should my linking to them constitute endorsement of any kind by myself or my employer (IBM).
But you will pick up a few tips, ideas and help from them which vary from good tips to excellent ones.
By alphabetical order:
All of the sites I've referenced here have RSS options so you don't need to check them daily.

I'm sure I've forgotten any number of other sites, so just drop me a line / add a comment if you think I should add/change anything.

Good luck with your new job ;)

Robert