IBM Support

Viewing the Universal Message Console (UMC) in ITM 6.x

Technote (FAQ)


Question

How to capture the UMC contents from ITM processes

Answer

Most ITM processes have an internal table called the UMC. Certain TEMS messages are automatically placed in it. These are the messages stored in the event log - kdsmain.msg for Windows and hostname_ms_timestamp.log for unix/linux. [The Portal client is one exception.] For policy and situation development, it is often useful to view and capture the UMC contents. This document shows how to do that.

The Portal Client can view the UMC via a workspace view which is populated with the universal message icon




Just click on the selector, move the mouse to a workspace view and it looks like this


the Local Time attribute group.




and an action command that looks like this



the message is written into the UMC. In this case the situation will be true and false every 30 seconds and it will record the above message every time it goes true. The UMC looks like this.



Incidentally, the test for Time in the flipper situation is required so it can be used in the attributes substituted in the universal message. Normally you don't have to worry about that, but if you just use seconds then Time is always blank--a small quirk related to the "cost" of attributes.

When you develop situations, this gives fast feedback. You can do the same thing with workflow policies. One of the policy activities is a Take Action which is very much like situation action tab. One difference is that you can execute the system command or the universal message write to any managed system. A good technique in workflow policy development is to add progress universal messages and have them execute at the hub TEMS for easy reference.

Some aspects of the UMC that are limiting: 1) The TEPS GUI does not have an export function for the UMC; 2) You can only see the hub UMC, when in fact every remote TEMS and TEMA has one; 3) The UMC is quite small, defaulting to 256 lines and only allowing 20 lines to be retrieved at one time. The remainder of this note shows how to get around these limitations.

First the size limitations. The ITM process can use the following environment variables for size of the UMC and the amount retrievable at one time. If unspecified, the defaults are

KGL_MSG_BUFFER_LIMIT=256
CTIRA_MAX_MESG_HIST=20

In my testing I increased each size to 1024. For TEMS these would be in <installdir>\cms\kbbenv for Windows, <installdir>/tables/temsname/KBBENV for Linux/Unix, and in RKANPAR(KDSENV) for zOS TEMS. You can also put these in the environment variables for Agents, which depends on platform and agents. The process has to be recycled before it takes effect.

The following uses kdstsns to retrieve the table. It uses a driver file in the current directory and the SQL saved to a file within a subdirectory sqllib. I usually prefer to do this display via a workspace view on the table with a custom SQL query, but a CLI method works as well. The driver for hub retrieval looks like this:

ip.pipe
<name/ip of server running TEMS>
1918
showum.sql
end

The SQL script (saved in a *.sql file within the ..\cms\sqllib directory) looks like this:

SELECT TIMESTAMP, MESSAGE, SEVERITY, CATEGORY, ORIGINNODE
FROM O4SRV.KRAMESG WHERE (ORIGINNODE = 'HUB_NMP180')
AND SYSTEM.PARMA( 'SITNAME', '_KCJ1090305034312001', 200);

The ORIGINNODE must be specified. The SYSPARMA value relates to the oldest timestamp to be retrieved and the last value is of unknown purpose. This was determined by tracing what SQL the TEMS used when retrieving the information and some experiments.

Second, here is the method for retrieving UMC contents from a remote TEMS. The driver looks like this:

ip.pipe
<name/ip of server running TEMS>
1918
showum2.sql
end

And the SQL looks like this:

SELECT TIMESTAMP, MESSAGE, SEVERITY, CATEGORY, ORIGINNODE
FROM O4SRV.KRAMESG WHERE (ORIGINNODE = 'REM_TEMSNAME')
AND SYSTEM.PARMA( 'SITNAME', '_KCJ1090305034312001', 200);

Typical use of kdstsns, in windows would be:

kdstsns <script> <target_tems>

In Linux/Unix the driver and SQL files would get stored in a convenient directory like /temp/data. Locate kdstsns and run like this

then two commands

export SQLLIB=/temp/data

kdstsns <script> <target_tems>

Search: For additional Technotes search: IBM ITM ITM6 Technote

Document information

More support for: IBM Tivoli Monitoring V6
ITM Tivoli Enterprise Mgmt Server V6

Software version: All Versions

Operating system(s): AIX, HP-UX, IBM i, Linux, Solaris, Windows, z/OS

Software edition: All Editions

Reference #: 1377737

Modified date: 07 March 2011