IBM Tivoli Universal Agent User Guide_EN
IBM Tivoli Universal Agent User Guide_EN
Version 6.1.0
User’s Guide
SC32-9459-00
Tivoli IBM Tivoli Universal Agent
®
Version 6.1.0
User’s Guide
SC32-9459-00
Note
Before using this information and the product it supports, read the information Appendix J, “Notices,” on page 233.
Contents v
Parameters . . . . . . . . . . . . . 195 Setting the working directory . . . . . . . 210
Usage . . . . . . . . . . . . . . . 195 IBM Tivoli Universal Agent and data provider
SET. . . . . . . . . . . . . . . . . 196 environment variables . . . . . . . . . . 210
Syntax . . . . . . . . . . . . . . . 196
Parameters . . . . . . . . . . . . . 196 Appendix F. Migration . . . . . . . . 221
SHOW . . . . . . . . . . . . . . . 197 Migrating to version 6.1.0 of the IBM Tivoli
Syntax . . . . . . . . . . . . . . . 197 Universal Agent . . . . . . . . . . . . 221
Parameters . . . . . . . . . . . . . 197 Migration process . . . . . . . . . . . 221
Messages . . . . . . . . . . . . . . 197
SHUTDOWN . . . . . . . . . . . . . 198
Appendix G. Starting data providers
Syntax . . . . . . . . . . . . . . . 198
Parameters . . . . . . . . . . . . . 198 as separate processes . . . . . . . 223
TRAPCNFG . . . . . . . . . . . . . . 199 Starting data providers . . . . . . . . . . 223
Syntax . . . . . . . . . . . . . . . 199 Startup programs . . . . . . . . . . . 223
Parameters . . . . . . . . . . . . . 199 Execution environment . . . . . . . . . 223
UNPACK . . . . . . . . . . . . . . . 200 Connecting to the IBM Tivoli Universal Agent 224
Syntax . . . . . . . . . . . . . . . 200 Starting sequence . . . . . . . . . . . 225
Parameters . . . . . . . . . . . . . 200 Stopping data providers . . . . . . . . . . 226
VALIDATE . . . . . . . . . . . . . . 201 The SHUTDOWN command . . . . . . . 226
Syntax . . . . . . . . . . . . . . . 201 Termination delays . . . . . . . . . . 226
Parameters . . . . . . . . . . . . . 201 Managed system offline . . . . . . . . . 226
This guide is intended to provide the information you need to use the IBM Tivoli
Universal Agent and IBM Tivoli Monitoring to monitor user-defined data. It is
designed to complement the Tivoli Enterprise Portal online help provided with the
IBM Tivoli Universal Agent and Tivoli Enterprise Portal, and the topics covered in
the Tivoli Enterprise Portal Administrator’s Guide.
Publications
This section lists publications in the IBM Tivoli Universal Agent library. It also
describes how to access Tivoli publications online and how to order Tivoli
publications.
http://publib.boulder.ibm.com/tividd/glossary/tivoliglossarymst.htm
The IBM Terminology Web site consolidates the terminology from IBM product
libraries in one convenient location. You can access the Terminology Web site at the
following Web address:
http://www.ibm.com/ibm/terminology
http://www.ibm.com/software/tivoli/library/
Click the Tivoli product manuals link. In the Tivoli Technical Product Documents
Alphabetical Listing window, click M to access all of the IBM Tivoli Monitoring
product manuals.
The IBM Software Support Web site provides the latest information about known
product limitations and workarounds in the form of technotes for your product.
You can view this information at the following Web site:
http://www.ibm.com/software/support
Ordering publications
You can order many Tivoli publications online at the following Web site:
http://www.elink.ibmlink.ibm.com/public/applications/
publications/cgibin/pbi.cgi
Accessibility
Accessibility features help users with a physical disability, such as restricted
mobility or limited vision, to use software products successfully. With this product,
you can use assistive technologies to hear and navigate the interface. You can also
use the keyboard instead of the mouse to operate most features of the graphical
user interface.
For additional information, see the Accessibility Appendix in the user’s guide for
this product.
http://www.ibm.com/software/tivoli/education/
Support information
Appendix I, “Support information,” on page 229 describes the following options
for obtaining support for IBM products:
v “Searching knowledge bases” on page 229
v “Obtaining fixes” on page 229
v “Contacting IBM Software Support” on page 230
In addition to the special characters, Tivoli command syntax uses the typeface
conventions described in “Typeface conventions.” The following examples illustrate
the typeface conventions used in Tivoli command syntax:
v wcrtpr [–a admin]... [–s region] [–m resource]... name
The IBM Tivoli Universal Agent extends the performance and availability
management capabilities of IBM Tivoli Monitoring to applications and operating
systems not otherwise covered by other IBM Tivoli Monitoring agents. It gives you
a single point of management for all your enterprise resources and protects your
investment in applications and resources.
You create data definitions that describe the source and structure of the data
supplied by the data providers. You store the data definitions in metafiles. The data
providers relay the monitoring data and the metafile statements to the IBM Tivoli
Universal Agent, which then sends the monitoring data to the Tivoli Enterprise
Monitoring Server. The IBM Tivoli Universal Agent uses the metafile statements to
dynamically generate and upload application definition files, that represent the
definitions you supplied in the metafile, to the Tivoli Enterprise Monitoring Server
and the Tivoli Enterprise Portal. By dynamically generating application definition
files, the IBM Tivoli Universal Agent allows you to create your own monitoring
solutions that function just like regular IBM Tivoli Monitoring agents.
Table 1 lists the data providers currently available with the IBM Tivoli Universal
Agent. Figure 1 on page 3 illustrates the relationship between data providers, IBM
Tivoli Universal Agents, the Tivoli Enterprise Monitoring Server, and the Tivoli
Enterprise Portal.
Table 1. IBM Tivoli Universal Agent data providers
Type Description
API Server Enables you to collect data from resources on remote
machines where the IBM Tivoli Universal Agent API
client software is supported. See “API Server Data
Provider” on page 37 for additional information.
API, Socket, File, Script (ASFS) Consolidates four types of data providers into one
package, which is started as a single thread to save
resource usage. This is the default data provider
when you install the IBM Tivoli Universal Agent.
File Monitors sequential files, such as system or message
logs. Provides the most direct, simplest method of
collecting data. See “File Data Provider” on page 40
for additional information.
HTTP Allows monitoring of Internet URLs for availability
and response time. You can specify URLs to monitor
in a startup configuration file or within Tivoli
Enterprise Portal situations. See “HTTP Data
Provider” on page 45 for additional information.
ODBC Allows data collection from ODBC-compliant
databases using SQL Select statements and stored
procedures. See “ODBC Data Provider” on page 50
for additional information.
Post TCP/IP socket application with predefined data.
Enables you to send ad hoc notifications such as
messages, alerts, and status. See “Post Data Provider”
on page 54 for additional information.
Script Allows data collection from any script or program
that sends results to standard output. See “Script
Data Provider” on page 59 for additional information.
SNMP Provides the functionality of an SNMP manager,
including network discovery, trap monitoring, and
MIB data collection. See “SNMP Data Provider” on
page 64 for additional information.
Socket Listens on a TCP/IP socket for data sent using
program-to-program communication. Enables you to
collect data from remote devices or machines for
which no IBM Tivoli Universal Agent API support is
available. See “Socket Data Provider” on page 88 for
additional information.
network
Data
Source
A
File Data
Provider Socket Data
Provider
Universal
Agent
API Data
Provider
Data network
Source
C Data
Source
D
Figure 1. How the IBM Tivoli Universal Agent works. In this illustration, Data Source A is a
log file, monitored by a File Data Provider. Data Source B is a program on a remote host that
supplies data through a TCP/IP socket to the Socket Data Provider. Data Source C uses the
IBM Tivoli Universal Agent APIs to send data to the API Server Data Provider, as does Data
Source D on a remote host.
However, if you decide to use either an API Server or a Socket Data Provider to
monitor your data, you can create a program to issue IBM Tivoli Universal Agent
API calls to forward data directly to the API Server Data Provider, or create a
program that sends the data over a socket to the Socket Data Provider.
Because you can configure the Windows FTP Service to create a log file, you
decide that the simplest solution would be to use the File Data Provider.
Or use the file name pattern feature as described in “Dynamic file name support”
on page 42 to change the name of the data source in the SOURCE statement of
your data definition metafile every month as the name of the log file changes.
Figure 2. NTLOG.MDL
In the metafile, you name the application NTLOG and specify the source of the
attribute data as a file named IN0204.LOG, located in C:\WINNT\SYSTEM32\LOGFILES.
You define one attribute group, named FTPLOGFILE, and specify the monitoring
method as E, for event. You supply the names and characteristics of the 14
attributes you want to monitor. See Chapter 3, “Creating an application,” on page
15 and Appendix A, “Data definition control statements,” on page 115 for
information about creating metafiles.
Place the metafile in the IBM Tivoli Universal Agent metafiles directory on
NTSRV1. Now you are ready to start the IBM Tivoli Universal Agent.
When the IBM Tivoli Universal Agent is running, you can import the
NTLOG.MDL metafile. Importing a metafile is the process of activating a metafile
application inside a running IBM Tivoli Universal Agent. To accomplish this task,
you can either use the IBM Tivoli Universal Agent provided Import console
command or the Tivoli Enterprise Portal Take Action, Control Import window. See
“Activating metafiles” on page 19 for information about loading metafiles. See the
IBM Tivoli Monitoring Installation and Setup Guide for instructions for starting
and stopping a Tivoli Enterprise Monitoring Agent.
One of the managed systems that is displayed in the navigator has the name
NTSRV1:NTLOG00, reflecting the application you defined in the APPL statement in
the metafile. You also see a physical mapping of the system within the Tivoli
Enterprise Portal navigator with the name NTLOG00. See “IBM Tivoli Universal
Agent managed systems” on page 99 and Chapter 5, “Monitoring applications,” on
page 99 for information on the naming of managed systems, Customer
workspaces, and attributes. When you open this item representing the application,
you see a workspace entry named FTPLOGFILE, representing the attribute group.
Click the item to access the workspace. The columns of the workspace correspond
to the attributes you defined in the metafile. See “Application workspaces” on
page 101 for information on viewing workspaces.
Using the Tivoli Enterprise Portal Situation editor, you use the attribute
BytesReceived to create the following situation, which you distribute to NTSRV1:
NTLFTPLOGFILE00.BytesReceived *GE 10,000,000
Now, whenever a user tries to upload a file of 10MB or more, this situation fires.
Next you create a policy named FTPLimit, which waits for the situation to fire and
then
1. Sends a message to the user uploading the file (ClientName) that the file
exceeds FTP limits and that the Service is being terminated.
2. Performs the action ″Net stop ″FTP Publishing Service″ to stop the FTP Service.
3. Notifies the operator on the Tivoli Enterprise Portal that the FTP Publishing
Service has been stopped.
4. Restarts the Service if the operator does not take action within 5 minutes.
Introduction
Implementing the IBM Tivoli Universal Agent involves the following three
procedures:
v Setting up and configuring the IBM Tivoli Universal Agent
v Defining IBM Tivoli Universal Agent applications
v Monitoring data on the Tivoli Enterprise Portal
Even if your data is not already in a sequential file, you can create an extraction
program to export the data from the native source to a sequential file, or to modify
your application to redirect data to a sequential file, and still use a File Data
Provider solution.
If your data cannot be easily exported to a sequential file, or the data source is on
an operating system that the IBM Tivoli Universal Agent does not support, you
can use the Socket Data Provider or API Data Provider. If you are monitoring
SNMP traps or the status of SNMP-enabled resources, you can use the SNMP Data
Provider.
The File Data Provider must reside on the same operating system as the file it
monitors, or be capable of logically mapping to the file across the network as if the
file were local. Even when data resides in a sequential file, you cannot use a File
Data Provider to monitor it if it is located on an operating system that the IBM
Tivoli Universal Agent does not support.
To use the IBM Tivoli Universal Agent APIs, you need to install the IBM Tivoli
Universal Agent API dynamic link library for the operating system you plan to
develop on. This run-time library, which is part of what is called the API client
package, is not available on all operating systems. Your operating system must
have a TCP/IP stack with a socket interface if you want to use the Socket Data
Provider.
A File Data Provider must start on a system where your files are available locally.
Therefore, if you want to monitor application log files on 20 different machines,
you need to install 20 IBM Tivoli Universal Agents. You need to install one on each
host unless the remote files are available through networking software such as NFS
or Samba.
The Script Data Provider must execute on a system where the script is running
because the stdout messages produced by the script are piped on the local system
to the Script Data Provider.
The Post, Socket, API Server, HTTP, ODBC, and SNMP Data Providers are
distributed data providers. That is, they do not have to start in the same location
as their data sources. So if you plan to monitor data that is not accessible from a
file, you can start just one IBM Tivoli Universal Agent, which can receive data sent
from any system in your enterprise. You can use more than one IBM Tivoli
Universal Agent to limit network traffic or allow different IBM Tivoli Universal
Agents to monitor data about resources managed by different departments.
Determining how many data providers I can start with one IBM
Tivoli Universal Agent
When you start the IBM Tivoli Universal Agent, by default it starts the ASFS Data
Provider. You can override the default startup configuration by specifying any or
all of the data providers as arguments of the startup command. For startup
command and arguments, consult the installation guide for your operating system.
You can also change the default startup using the environment variable
KUMA_STARTUP_DP.
By default, when you start the IBM Tivoli Universal Agent, the consolidated
(ASFS) Data Provider is activated. Specify different or additional data providers to
activate when you start the IBM Tivoli Universal Agent by changing the
environment variable, KUMA_STARTUP_DP.
For example, if you specify the following, the consolidated API, Socket, File, and
Script Data Providers and SNMP Data Provider are activated when you start the
IBM Tivoli Universal Agent.
KUMA_STARTUP_DP=ASFS,SNMP
The startup parameters you specify using this window are not persistent; they do
not remain in effect when the agent is restarted.
If you are manually starting the HTTP Data Provider on a previously configured
alternate instance of the IBM Tivoli Universal Agent named Test, enter the
following command string:
itmcmd agent -o HTTP -p Test start um
This chapter also explains how version numbers are assigned to metafiles and how
the version numbers of metafiles affect the naming of managed systems,
workspaces, and attributes on the Tivoli Enterprise Portal.
Note: You do not need to create applications if you are using the SNMP Data
Provider. IBM Tivoli Monitoring creates them for you from standard MIBs or
from any MIB that you supply.
The key to creating useful IBM Tivoli Universal Agent applications is placing
related attributes into groups and placing related groups of attributes into
individual IBM Tivoli Universal Agent applications.
You can use any text editor to create a metafile. Appendix A, “Data definition
control statements,” on page 115 contains the definitions and syntax of the metafile
statements. If a metafile contains any non-English text, you must save the metafile
as UTF-8. Other file encodings, such as UTF-16 or UTF-32, are not supported.
Examples of non-English text in a metafile are help text, delimiter characters, and
captions.
//NAME
//SOURCE
TCPIOQ.MDL
Figure 3. Create a data definition metafile to define the attributes that you want to monitor. In
the metafile, name the application and attribute data groups to which the attributes belong.
Identify the sources of the data, specify what type of data you are monitoring, and define the
help text fro your application, attribute groups, and attributes.
Naming metafiles
By convention, IBM Tivoli Universal Agent metafiles end with an .mdl extension,
but there are no restrictions on the names of metafiles. You can use any name
supported by the operating system on which the file resides. It is good practice to
give the file the same name as the application.
Storing metafiles
By default, the IBM Tivoli Universal Agent looks for metafiles in the directory
indicated in Table 3.
Table 3. Default location of metafiles
Operating system Location
Windows IBM\ITM\TMAITM6\metafiles
UNIX <install_dir>/$ARCH/um/metafiles
You can change the location using the variable KUMP_META_PATH. For example,
if you want to store all of your metafiles in a special directory that is outside the
IBM Tivoli Monitoring installation directory structure, use the KUMP_META_PATH
environment variable to redirect the metafile search from the default directory to
an alternate location.
If you are using an IBM Tivoli Universal Agent console command against a
metafile and the metafile is not in the default metafiles directory, you can specify
the fully qualified metafile name. For example, if you use the console command
VALIDATE to syntax check a metafile, you can enter the following on the
command line:
kumpcon validate c:\ua\test\my_metafile.mdl
If you have many metafiles, you can create subdirectories in the directory
designated by KUMP_META_PATH. When you use a console command that refers
to a metafile in one of the subdirectories, you can use a relative path when you
specify the metafile name. For example:
kumpcon validate .\subdirectory_name\mymetafile.mdl
Backing up metafiles
Always regularly back up your metafiles since they represent an important part of
your enterprise management system. Although many metafiles are simple, some
are as complex as small programs if you utilize the various metafile language
features. In these cases, it is not easy to recreate a metafile if it is deleted by
mistake. Treat metafiles as an important corporate asset, back them up, and protect
them from alteration or loss as you would any other source code in your
enterprise.
Note: For UNIX operating systems, you cannot run the kumpcon program directly.
Instead, use the um_console shell script, which allows you to run the
metafile validation program. See “Invoking the console command interface
on UNIX operating systems” on page 181 for more information on the
um_console script.
Activating metafiles
To manage application data correctly, the IBM Tivoli Universal Agent must activate
the appropriate metafiles. You can activate metafiles in any of the following three
ways:
v Dynamically through a console command
v Dynamically through a Take Action command in the Tivoli Enterprise Portal
v Through a configuration file update and an IBM Tivoli Universal Agent restart
At startup, the IBM Tivoli Universal Agent checks to see if any metafiles are
specified in the KUMPCNFG configuration file. If so, the IBM Tivoli Universal
Agent loads the appropriate metafiles from the path names specified in
KUMPCNFG, or if fully qualified names were not specified, from the metafiles
directory. You can also use the IMPORT and REFRESH console commands to
import new and revised metafiles at any time.
Universal
Agent
//APPL
//NAME
//SOURCE
//ATTRIBUTES
TCPIOQ.MDL
Perform the following steps to select the IBM Tivoli Universal Agent Take Action
commands from the Tivoli Enterprise Portal:
1. From any location in the Tivoli Enterprise Portal navigator tree under
Universal Data Provider, select a leaf in the navigator tree.
2. Right-click on the leaf and select Take Action... → Select.... The Take Action
window is displayed.
Note: Always distribute the Take Action command to the destination system
whose data provider type matches the data provider type of the metafile
that you import.
7. Click OK. The Action Status window is displayed and indicates whether the
action was successful.
Every data provider loads all the metafiles specified in KUMPCNFG, but each data
provider only begins monitoring metafiles belonging to its defined data type and
ignores the others. For example, a File Data Provider does not start to monitor
in-bound socket connections, and an API Server Data Provider does not spawn
threads for monitoring log files. Similarly, the SNMP Data Provider only loads
SNMP MIB metafiles, and non-SNMP Data Providers only load non-SNMP
metafiles. Consequently, aside from the extra storage allocated to each data
provider for the internal data definition control blocks, there is no danger of
management conflicts among data providers. If you start the API, Socket, File, and
Script (ASFS) Data Providers, all applicable monitoring for each data provider type
starts at the same time.
For example, the Engineering department might designate an IBM Tivoli Universal
Agent running on system ENG1 as the metafile server. The Finance department
selects system FIN4 as the metafile server. All the IBM Tivoli Universal Agents in
the Engineering department download required metafiles from the IBM Tivoli
Universal Agent on ENG1, while all the IBM Tivoli Universal Agents in the
Finance department retrieve necessary metafiles from the IBM Tivoli Universal
Agent on FIN4. You can set up other IBM Tivoli Universal Agents to use the
metafile server running on MIS9.
The presence of the environment variable indicates to the IBM Tivoli Universal
Agent that it should use a centralized metafile server. If this environment variable
is not set, the IBM Tivoli Universal Agent operates in standalone mode and looks
for its required metafiles locally. If the host name specified by kump_meta_server
cannot be resolved to a TCP/IP address, the metafile server feature is disabled and
the data provider loads metafiles from the local metafile location.
If the connection is successful, the IBM Tivoli Universal Agent sets up the
necessary internal management structure and continues startup processing. If the
connection is unsuccessful, either because of network problems or because the IBM
Communication between metafile client and server can be disrupted during normal
operation for a variety of system or network reasons. If communication is
disrupted, the client automatically falls back to standalone mode and schedules
periodic retries until the connection to the server is re-established. Log messages
are issued that clearly identify the status of the metafile service. You can monitor
the messages in the DPLOG workspaces. See “UAGENT workspaces” on page 103
for additional information.
Versioning of metafiles
Versioning of metafiles makes it possible for you to identify the level of your
metafile. It also allows you to run different versions of a metafile on different
machines. For example, you might want to install a new version of an operating
system on your test system and monitor data that the older version of the
operating system does not provide. You can modify your metafile to monitor the
new system statistics and run the new version on the test system while still using
the older version on your other machines.
Version numbers changes are considered major because you cannot simply restart
situations distributed to a previous version of a managed system. You must create
new situations or modify the old ones to use the new attribute group names, then
distribute the situations to the new versions of the managed systems or the
managed system list. You also need to update any existing policies to reference the
new version number.
These scripts do not affect the actual metafiles. The next time the metafiles are
imported or activated, their applications come back online, but all versions will be
0.
Before you run either of these scripts, you must shut down the IBM Tivoli
Universal Agent and manually delete the existing IBM Tivoli Universal Agent
managed systems from the Tivoli Enterprise Portal Managed System Status
workspace.
After you run the cleanup script, you must recycle the Tivoli Enterprise Monitoring
Server and the Tivoli Enterprise Monitoring Server and then restart the IBM Tivoli
Universal Agent to activate the new 00 version suffixes.
Note: The Tivoli Enterprise Portal Server uses the CNPS directory name and the
Tivoli Enterprise Monitoring Server uses the CMS directory name.
To run the cleanup script, enter the following in a command window on the
appropriate system:
um_cleanup home_directory component [work_directory]
where:
home_directory The base directory where your IBM Tivoli
components are installed. For example, IBM\ITM
component One of three values:
Metafile names
SNMP metafile names take the form:
vendorname__enterprise.mdl
where:
vendorname
Specifies the RFC number for IETF standard MIBs or a vendor name for a
vendor-specific MIB.
enterprise
Specifies the MIB enterprise name. For example, the metafile for the
industry standard mib-2 is RFC1213_mib-2.mdl, and the one for Cisco’s
interface MIB is Cisco_linterfaces.mdl.
On UNIX operating systems, non-SNMP Data Provider metafiles are located in the
following directory:
<install_dir>/$BINARCH/um/metafiles
SNMP metafiles are located in the following subdirectories. You are not required to
store the provided SNMP metafiles or your customized metafiles in these
specialized subdirectories, but you can use them to organize your SNMP metafiles.
Converted vendor MIB metafiles provided by IBM Tivoli Monitoring
<install_dir>/$BINARCH/um/metafiles/SNMP/vendor
Converted RFC* industry standard MIB metafiles provided by IBM Tivoli
Monitoring
<install_dir>/$BINARCH/um/metafiles/SNMP/standard
Custom SNMP metafiles
<install_dir>/$BINARCH/um/metafiles/CUSTOMIZED
trapcnfg_* metafiles
<install_dir>/$BINARCH/um/metafiles/TRAPCNFG
Versioning of applications
The initial version number of all SNMP applications is 00. The version number of
an application, and therefore the version numbers of all managed systems,
workspaces, and attribute groups based on it, is incremented each time you load
an updated definition (metafile) of the application.
This command produces a metafile_name.txt file in the same directory as the .mdl
file.
You can also use the VALIDATE console command to view MIB metafile contents
in an unencrypted format:
When you run the validate command, it produces a report file ending in .rpt
which contains, among other things, information about the attributes. See
Chapter 3, “Creating an application,” on page 15 for additional information on the
validate command.
You can get around these limitations by constructing your own SNMP MIB-based
applications, derived from the ones that IBM Tivoli Monitoring provides. In these
custom applications you can use attributes from different groups and even from
different MIBs.
The following sections outline the steps you perform to create your own
applications.
To prevent you from entering the additional directory levels, you can set the
environment variable, KUMP_META_PATH, to the directory where the SNMP MIB
metafile is located. Using the following example, you would enter the following
two commands in a Windows DOS prompt:
C:\IBM\ITM\TMAITM6>set KUMP_META_PATH=C:\IBM\Omeagamon\TMAITM6
\metafiles\SNMP\standard
C:\IBM\ITM\TMAITM6>kumpcon unpack RFC1213_mib-2.mdl
Note the form of the attributes or copy them to the metafile in which you are
going to define the custom SNMP application. You can place all scalar attributes
into one or more attribute groups.
Group the selected attributes into one or more attribute groups as appropriate to
your own management scenarios. Remember that you cannot use attributes from
different groups in a single situation, but you can assign attributes to more than
one attribute group.
Data
Source
A
Universal
Data Data Provider Agent
Source
C
//APPLA //APPLB
//NAME //NAME
Data //SOURCE //SOURCE
Source //ATTRIBUTES //ATTRIBUTES
B
Instance names
For each data provider that comes online, a primary, or non-instance, copy of IBM
Tivoli Universal Agent generates a managed system name of the form:
hostnameDPTYPEdp:UAGENT00. To run multiple instances of the same data
provider type on the same system, the resulting IBM Tivoli Universal Agent
generated managed system name uses an instance name parameter as a prefix to
guarantee uniqueness.
The instance name is suffixed to all configuration and run-time files in the IBM
Tivoli Universal Agent work directory. For example, KUMPCNFG_TEST,
KUMATBLS_INST1 or KUMPURLS_PROD.
The configuration and run-time files for the primary IBM Tivoli Universal Agent
remain as before, without a suffix. The primary IBM Tivoli Universal Agent does
not have an instance name prefix in its managed system names, nor does it have
an instance name suffix in its configuration files.
There can only be one primary copy of IBM Tivoli Universal Agent configured and
active at a time. However, multiple additional copies, each with a unique instance
name, can run concurrently with or without the primary IBM Tivoli Universal
Agent active.
A note on truncation
Manage Tivoli Enterprise Monitoring Services offers a context menu-driven
window where you can use an instance name of 1-20 characters. However, IBM
Tivoli Universal Agent limits an entire managed system name (instance prefix +
host name + application name + version suffix) to 32 characters. To preserve the
integrity of the managed system name, the instance name prefix gets truncated
from the left. For example, if the instance name ABCDEFGHIJKLMNOP is used
and the resulting managed system name is 35 characters, the actual registered
managed system appears as:
DEFGHIJKLMNOP_hostname:appnameVV
Therefore, choose short instance names to avoid managed system name truncation.
By default, the target IBM Tivoli Universal Agent is the primary and uses console
port 7700. To prevent you from issuing commands against the wrong IBM Tivoli
Universal Agent when a non-primary IBM Tivoli Universal Agent is accessed
through the console interface, the prompt for the target data provider displays the
Instance Name next to each data provider.
The Take Action interface does not have this ambiguity problem. When
distributing an action such as URL Add or Manage Start, the list of available
managed system names includes the Instance Name prefix.
Note: If you use an alternate instance of the IBM Tivoli Universal Agent as your
SNMP trap receiver, copy or rename the trapcnfg file in the work directory
so that it has the instance name suffix. For example, if your alternate
instance is called ″SNMP″, then copy trapcnfg to trapcnfg_SNMP.
See the IBM Tivoli Universal Agent API and Command Programming Reference Guide
for complete information on the IBM Tivoli Universal Agent APIs and supported
commands.
The client package was developed in standard C language and requires only a
common C runtime environment and TCP/IP with a socket interface. It does not
create added programming complexity or dependency for the calling program.
API
Data Source Runtime
Dynamic
Library
Calling programs
C/C++ calling programs instrumented with the IBM Tivoli Universal Agent APIs
rely upon API services provided by the runtime dynamic library. The programs
can reside locally with the API Server Data Provider or they can start at a remote
location. These calling programs are commonly referred to as API clients because
they depend on the API client package and they follow a client-server paradigm in
their connections to the API Server Data Provider. You can also think of API clients
as data collectors because their primary purpose is to perform some type of data
collection and send the collected data to the API Server Data Provider.
The IBM Tivoli Universal Agent API and Command Programming Reference Guide
contains the minimum program requirements and procedures for implementing the
API functions and provides descriptions, syntax, and return status codes for the
API calls, as well as a sample API client program.
The IBM Tivoli Universal Agent API and Command Programming Reference Guide
contains descriptions of the console commands.
Specifying the listening port for the API Server Data Provider
The default listening port for the APIS Data Provider is 7600. If this port is already
in use, or you would prefer that a different port be used, you can set the
environment variable KUMP_API_DPAPI_PORT to the preferred port. If you set this
variable for the APIS Data Provider, or if this variable was automatically
reassigned as a result of starting an alternate instance of the IBM Tivoli Universal
Agent, you must set the same variable on the API client side. You can check the
APIS Data Provider UAGENT DPLOG report to verify the correct listening port
number.
Hostname:ApplNameVV
where:
Hostname
The host where the API client program is running.
Note: This host is different from the host where the IBM Tivoli Universal
Agent is running if the API client is connecting from a remote
system.
ApplName
The name value specified to the API metafile application.
VV The two-digit version suffix.
You can customize the Hostname portion of the managed system name with the
dp_SetSourceName API. See the IBM Tivoli Universal Agent API and Command
Programming Reference Guide for additional information.
Note: The managed system for an API metafile application does not come online
in the Tivoli Enterprise Portal Navigator until the API client program has
connected to the APIS Data Provider.
If the File Data Provider is monitoring a file on a remote system through the use of
logical drive mapping, the userid/account associated with the IBM Tivoli Universal
Agent must have sufficient authority to open and read the file on the remote
system. In some cases this can require, for example, reconfiguring the IBM Tivoli
Universal Agent Windows service with something other than the default
"LocalSystem" account. The Windows Control Panel Services applet allows you to
configure a different account for a particular service. In this scenario, you could
change the IBM Tivoli Universal Agent account from "LocalSystem" to an
Administrator ID that is authorized on your LAN to access files on the remote
system.
where:
LocalHostname
The host where the IBM Tivoli Universal Agent is running.
ApplName
The name value specified on the metafile //APPL statement. See “APPL
statement” on page 117 for additional information.
VV The two-digit version suffix. See “Versioning of metafiles” on page 24 for
additional information.
You can customize the LocalHostname portion of the managed system name with
the ManagedSystemName parameter on the metafile //SOURCE statement. See
“SOURCE statement” on page 126 for additional information.
The maximum default sample frequency is 5 minutes (300 seconds). You can
override this default using the KUMP_DP_SAMPLE_FACTOR variable. For example, if a
metafile specifies the TTL as 3600 seconds, the sampling frequency is 3600 divided
by 5, or 720 seconds. The sample frequency actually enforced is 300, the default
maximum. However, if you specify the KUMP_DP_SAMPLE_FACTOR as 10, the sample
frequency is 360. The maximum override takes place only if no user specification is
defined.
The File Data Provider also enforces a minimum sampling frequency. The
minimum default sampling frequency of 30 seconds is substituted if the TTL
divided by the sampling factor results in a sampling frequency of less than 1
second. For example, in the case of a TTL equal to 180 and a
KUMP_DP_SAMPLE_FACTOR equal to 360, the file is actually sampled every 30 seconds.
If the specified frequency is overridden, a metafile definition validation warning
message is issued which identifies the minimum sample interval in effect.
For example, the Windows Event Log cannot be read easily as a sequential file.
However, you can develop an extractor program using the Win32 Event Log APIs
to access Event Log records. The program would obtain the records through the
appropriate APIs, then write the records to a sequential file monitored by the File
Data Provider.
You can define record sets consisting of a fixed number of records, or of a variable
number of records identified by a delimiter pattern. See “RECORDSET statement”
on page 135 for details.
instead of the actual file name. The File Data Provider inspects all files in the
designated path location, seeking files that match the defined pattern. The File
Data Provider always manages the most current matching file, based on whichever
matching file has the highest number or date/time value. The appropriate file is
determined by file name, instead of by file creation or modification date. The
pound sign (#) sign defines the position of the numeric character within the file
name.
Note: The file name and pattern are case-sensitive on a case-sensitive operating
system.
To precisely specify a file name consisting of date components (year, month, and
day), use the capital letters Y, M, and D. This naming convention enables IBM
Tivoli Universal Agent to determine the candidate file without errors. Y, M, and D
must be displayed within braces; otherwise they are treated as literals.
Examples include:
{YYYYMMDD}.log Specifies candidate files with names such as
20050930.log or 20051015.log.
{MMDDYY}.log Specifies files with names such as 101105.log or
110105.log.
{DDMMYYYY}.log Specifies possible files with names such as
01092005.log. or 15082005.log.
MY{YYDDD}.log Specifies files with names such as MY05202.log,
MY05010.log or MY04350.log.
The File Data Provider periodically checks for new files that match the defined file
pattern in the target path location. When a newer file that matches the pattern is
detected, the File Data Provider automatically switches application monitoring to
the new file. The File Data Provider searches for the best matching file when:
v The File Data Provider first starts up.
v The currently managed file no longer exists due to possible renaming or
deleting.
v The existing file contents have changed due to possible rewriting.
v The check interval expired. The default interval is 10 minutes. You can change
the interval to a longer or shorter interval value by specifying the environment
variable
KUMP_DP_FILE_SWITCH_CHECK_INTERVAL=seconds
The File Data Provider issues a DPLOG message notifying you that the active
monitored file has switched from the current file to the new file.
Chapter 4. About data providers 43
Some applications use a pair of related log files that switch between being active
and inactive. In many cases, the inactive one is cleared out and the active one
gradually increases in size until the next switch occurs. You can use the pattern
matching feature for the File Data Provider to monitor a pair of files based on
relative file size.
//SOURCE FILE file-name-pattern-spec tail CompareBySize
The CompareBySize keyword means that of the two files that match the pattern
criteria, the bigger file will be monitored. The CompareBySize feature only works if
there are two or fewer files in the directory that match the pattern criteria. If there
are more than two matching files, the default name-based pattern matching is in
effect. This restriction was implemented to prevent the scenario where multiple
matching files are changing in size at irregular rates, which could lead to frequent
file switching. Do not use CompareBySize with two files that are both being
updated at the same time because of the possibility of frequent file switches. Either
case causes monitoring to restart at the beginning of the file. Use CompareBySize
when there are two matching files, but only one is being updated at any given
time.
The common technique of tailing a file by examining the end-of-file file record
pointer location for newly added records becomes ineffective because the
end-of-file pointer location does not change. The file size remains unchanged until
the application program allocates the next file space increment. Using the common
file I/O function to read a file record also proves problematic because it always
returns a valid file record pointer until reaching the pre-allocated file size.
instructs the File Data Provider to use a special method in handling the managed
file. The File Data Provider tracks physical file records in a pre-allocated file and
examines the record contents for validity. In this case, the File Data Provider is
monitoring a file’s logical EOF instead of its physical EOF for newly added file
records.
Note: You can specify the tailbyrecord keyword for all files including “non”
pre-allocated file space files. However, this is less efficient than the standard
approach of simply monitoring the file location pointers.
In the next example, the KUMA_STARTUP_DP parameter starts the HTTP Data
Provider in conjunction with the ASFS and SNMP Data Providers.
KUMA_STARTUP_DP=ASFS,SNMP,HTTP
and one for the HTTP Data Provider with the following name:
host-nameHTTPdp:UAGENT00
Note: You cannot create metafiles for the HTTP Data Provider. Therefore, you
cannot use any applications other than INTERNET with this data provider.
Monitoring a URL
Start monitoring any URL in one of three ways:
v Include the target URLs in the data provider startup URL initialization file
KUMPURLS.
v Create IBM Tivoli Monitoring situations based on the INTERNET table.
v Use the URL Add Take Action option.
The Test_Yahoo situation interval defines the URL monitoring sample frequency. If
the Test_Yahoo situation interval is less than 60 seconds, it is reset in the Managed
URLs table to 60 because that is the minimum sampling interval allowed for URLs.
Stopping the situation stops the specific target URL monitoring.
If multiple URLs are monitored as a result of IBM Tivoli Monitoring situations and
those situations are activated all at the same time, then you might see User ID
values of _Z_INT36863000 substituted for one or more of your situation-started
URLs. The _Z_INT36863000 substitution results from the Tivoli Enterprise
Monitoring Server ″DUPER″ feature which optimizes the activation of multiple
situations that have the same sampling interval. If this User ID substitution has
occurred for a URL and you are attempting to remove the URL through the URL
Remove window, specify _Z_INT36863000 in the window. To avoid situation name
substitution, you must disable the Tivoli Enterprise Monitoring Server DUPER
feature. You can accomplish this by specifying the CMS_DUPER=N environment
variable in your Tivoli Enterprise Monitoring Server KBBENV file.
Take Action
You can also specify URLs to monitor through a Take Action option called URL
Add. When this option is selected, a window allowing you to specify the following
parameter displays:
URL A required parameter representing the URL itself. You can type this
parameter with or without the http:// prefix. If this parameter is not filled
in, the Alias Name defaults to blank, the Status Interval defaults to 300
seconds, the User ID defaults to TAKE_ACTION, and the Cache Percentage
defaults to 0%.
URLaliasName
An optional parameter that you can specify to associate a more meaningful
name to a URL.
StatusInterval
An optional parameter representing the elapsed time in seconds between
samples, the sampling interval. If you are monitoring multiple URLs, you
can specify a different status interval for each URL.
ID An optional parameter representing the user who started monitoring the
URL. The following rules apply for the User ID:
v For URLs monitored as a result of a IBM Tivoli Monitoring situation, the
User ID is the situation name.
v For URLs specified in KUMPURLS, the default User ID is INITCNFG.
v For URLs specified in this Take Action window, the default User ID is
TAKE_ACTION. However, you can also specify a different User ID
value. The User ID in this context is also referred to as the URL owner.
ObjCache%
An optional parameter that you can use to refine response time
measurements. If you know roughly what percentage of your Web pages
are cached, then specify that value for ObjCache%. The HTTP Data
Provider factors the cache percentage into its calculations of URL response
time. For example, if you specify 50% for ObjCache% and there are 20
After you fill in the information and close the window, assign the URL Add action
to the destination managed system associated with the IBM Tivoli Universal Agent
INTERNET application. Monitoring begins immediately for the new URL.
Availability and response time data for the URL becomes viewable in Tivoli
Enterprise Portal client as soon as the new URL’s Status Interval time period has
elapsed. The URL is also added to the KUMPURLS configuration file so that it
continues to be monitored across IBM Tivoli Universal Agent restarts.
URL attributes
The IBM Tivoli Universal Agent HTTP Data Provider automatically registers the
INTERNET application. This application contains the Managed URLs and URL
Objects table definitions that are displayed in the INTERNET reports.
Managed URLs
The Managed URLs table includes the following attributes, which are available to
IBM Tivoli Monitoring situations using URL monitoring:
Table 5. URL attributes
Attribute name Type Size Description
Average Response Time Integer Long The average observed managed URL
response time in milliseconds.
Current® Response Time Integer Long The current observed managed URL
response time in milliseconds.
HTTP Version Character 8 The HTTP version (HTTP 1.0 or 1.1)
of the Web server for the target URL
Web site.
ISP_Name Character 64 The name of the Internet Service
Provider (ISP).
Maximum Response Time Integer Long The maximum observed managed
URL response time in milliseconds.
Page Objects Integer Long The total number of additional
objects associated with the
monitored page.
Page Size Integer Long The page size, in bytes, of the
received URL page.
Page Title UTF-8 256 The page title of the received URL
page.
Server Type Character 64 The type of Web server used at the
target URL Web site.
Status Character 64 The current managed URL status
(OK or status description).
The sample set size is determined by a URL’s Status Interval value. A small Status
Interval leads to a big sample set, and a large Status Interval leads to a small
sample set. Sample sets can range anywhere from 3 to 15 (3 if the Status Interval is
5 minutes, and 15 if the Status Interval is 1 minute), but they are always based on
the last 15 minutes of sampling data.
You can specify the ISP name in a text file called ISP.ID located in the IBM Tivoli
Universal Agent product installation WORK directory. If the file does not exist, a
default ISP value of ″LAN″ is used.
URL objects
The second INTERNET table, URL Objects, includes the following attributes:
Table 6. URL objects
Attribute name Type Size Description
Object Name UTF-8 512 The name of the page object within
target URL.
Object Size Integer Long The size of page object within target
URL.
URL UTF-8 512 The target managed URL You must
use the format, http://.
The URL Objects table contains a separate URL entry for each embedded object,
such as the .eps and .eps files that might be used in the Web site listed in the
48 IBM Tivoli Universal Agent: User’s Guide
Managed URLs report. When you need to monitor the response time and
availability of specific objects within a Web site, review the contents of the URL
Objects table.
The ODBC Data Provider runs as separate data provider. It is only available on
Windows operating systems. You specify the ODBC data source, tables, and SQL
Select information through parameters and statements in IBM Tivoli Universal
Agent metafiles. The tables and columns in the ODBC data source become
attribute groups and attributes in the associated metafile. Any valid SQL Select
statement or stored procedure that retrieves column data from one or more tables
or views can be specified in an ODBC metafile.
ODBC allows you to collect data from a remote data source without having to
install any additional software on the remote system. The ODBC driver software
handles all of the network connectivity issues. As a result, the ODBC Data
Provider can run on one box while it’s simultaneously collecting data from
multiple remote database systems in your network. Any ODBC data source that
you can configure on the Windows operating systems where the ODBC Data
Provider is running is eligible for monitoring.
Example 1
//APPL NWIND
//NAME EMPLOYEES K 300 Interval=60
//SOURCE ODBC nwind
//SQL select * from employees
//ATTRIBUTES
EmployeeID N 8 KEY ATOMIC
LastName D 32
FirstName D 32
Title D 32
TitleOfCourtesy D 16
BirthDate D 24
HireDate D 24
Address D 32
City D 32
Region D 32
PostalCode D 32
Country D 32
HomePhone D 32
Extension D 16
Notes D 128
ReportsTo N 4
//SOURCE statement
The //SOURCE statement supports an ″ODBC″ parameter to specify that it is an
ODBC metafile. This is a required parameter for all ODBC metafiles. The presence
of this parameter means that other data providers bypass loading the metafile and
only the ODBC Data Provider loads and activates it. Following the ″ODBC″
parameter, you must include the ODBC data source name, ″nwind″ in this
example. It is the same name that you configured in the ODBC Data Sources
applet. You must configure this data source because it is not automatically
configured by the ODBC Data Provider. If the data source is not accessible across
the network or if the ODBC Data Provider cannot connect to it because of missing
or incorrect userid/password credentials, the associated managed system does not
come online. If the data source name contains any embedded blanks, it must be
surrounded by single quotation marks.
//SQL statement
Each ODBC metafile requires a valid //SQL statement for every //NAME
statement. You can use an SQL Select statement or a stored procedure name. In the
example above, all columns and rows are being selected from the Employees table
in the Microsoft Access Northwind database, which has been configured as
″nwind″. This metafile specifies that every 60 seconds, the ″select * from
employees″ SQL statement is started against the nwind database.
//ATTRIBUTES statement
In ODBC metafiles, the attributes listed under the //ATTRIBUTES statement must
match column names defined in the ODBC table that is being accessed. You do not
need to include an attribute for every column in the table. You also do not need to
list the attributes in the same sequence as the columns are displayed in the ODBC
table. However, the attributes that you do include must have a matching column
name. This is not case sensitive. You cannot rename an attribute in the metafile so
that it no longer matches its corresponding column. You are free to add derived
attributes and other IBM Tivoli Universal Agent specific attributes, such as a
LocalTimeStamp.
Example 2
Here is another example to illustrate additional features of ODBC metafiles:
//APPL CNPS
//NAME spt_server_info K 300 AddTimeStamp
//SOURCE ODBC cnps user=sa pswd= maxrows=50
//SQL select * from spt_server_info where attribute_id > 2
//ATTRIBUTES
attribute_id N 8 KEY ATOMIC
attribute_name D 64
attribute_value D 64
*
//NAME sp_helpdb K 300
//SOURCE ODBC cnps user=sa pswd=
//SQL proc=sp_helpdb master
//ATTRIBUTES
name D 32 KEY ATOMIC
db_size D 32
owner D 32
dbid C 999999
created D 20
status D 64
//NAME statement
The absence of the Interval= parameter indicates that these two tables use
demand-driven data collection. The spt_server_info table includes an
″AddTimeStamp″ parameter, which inserts a LocalTimeStamp column in the
spt_server_info report.
//SOURCE statement
The SQL Server ″cnps″ data source requires a userid/password combination to
connect. So both of these //SOURCE statements include ″user=″ and ″pswd=″
parameters. The ″sa″ userid does not have an associated password, so the ″pswd=″
parameter value is left blank.
By default, a maximum of 100 rows are returned for each ODBC table in a
metafile. To increase or decrease this value for a particular table, you can include a
maxrows=nn override on the //SOURCE statement. You can globally change the
default with the KUMP_ODBC_MAX_ROWS environment variable. The maxrows=50
specified for the spt_server_info table means that if more than 50 rows are
returned from the Select statement, only the first 50 rows is used for reporting and
situation evaluation.
The sp_helpdb table in Example 2 illustrates the use of stored procedures. Instead
of a Select statement, the //SQL statement can specify the name of a stored
procedure, which must be preceded by the ″proc=″ keyword. If there are any input
parameters to the stored procedure, they must be blank-separated tokens after the
stored procedure name. In this example, ″master″ is the only parameter being
supplied to the sp_helpdb procedure.
The two metafile examples above assume a one-to-one relationship between IBM
Tivoli Universal Agent attribute groups and SQL tables, but this is not a
requirement. SQL joins are supported. An //SQL statement could select columns
from 10 different tables and store the retrieved values in attributes belonging to a
single IBM Tivoli Universal Agent attribute group. The only requirement is that the
retrieved columns have matching attribute names; however, the columns do not all
have to come from the same table.
Default configuration
The default characteristics of the Post Data Provider are defined in the data
definition metafile KUMPOST shown in Figure 9 on page 54.
//APPL MAS
//NAME dpPost S 3600
//ATTRIBUTES ’;’
Post_Time T 16
Post_Origin D 32
Post_Ack_Stamp D 26
Post_Text U 512
Post_Category D 16
Acknowledgment stamp
The Post Data Provider generates an acknowledgment stamp to uniquely identify
each message received from an application. The stamp is returned to the sending
application only if the application is connected to the Post Data Provider by a
connection-oriented TCP socket. For UDP sockets, the stamp is internally
associated with the received message, but it is not returned. Using the
acknowledgment stamp, you can quickly track and identify all Post Data Provider
messages while in the system.
The stamp
AAAAAAAATTTTTTTTTTTTCSSSSS
You can specify an application name, attribute group name, data type, and
time-to-live that are most appropriate to your site and you can define additional
attributes after the mandatory first three. However, the KUMPSEND program works
For example, you can find that the Post Data Provider satisfies most of your
requirements. However, you would like the name of the data provider managed
system to reflect your specific area of interest. You can override the application and
attribute group names using the variables KUMP_POST_APPL_NAME and
KUMP_POST_GROUP_NAME:
KUMP_POST_APPL_NAME=SYSTEM
KUMP_POST_GROUP_NAME=HelpDesk
The names of the managed system and the Application workspace entry now
become sourcename:SYSTEM00 and SYSTEM00, and the name of the report becomes
HelpDesk for easy identification and grouping of alerts and messages. See
Chapter 5, “Monitoring applications,” on page 99 for information on naming of
managed systems and workspaces.
You might also start another Post Data Provider with a different set of
specifications:
KUMP_POST_APPL_TTL=7200
KUMP_POST_APPL_NAME=BOB
KUMP_POST_GROUP_NAME=GENERAL
You can also add to, redefine, or remove the default category definitions. A
maximum of 16 message categories is possible. For example:
KUMP_POST_CATEGORY=(X=Experimental)
removes category D.
KUMP_POST_CATEGORY=(X=Experimental,P=Programming,D=)
For example, the data stream received by a Post Data Provider sent by an irate
user to the help desk might consist of only an inquiry, listed as critical:
Please help! System has been down for over an hour and I can’t do any work;c
where:
msg The message sent to the data provider, enclosed in double
quotation marks (““). Globalized input is accepted in this
parameter.
cat The category of the message. The default categories are shown in
Table 8 on page 55.
dp The host name of the data provider. The default is the local host.
port The port on which the target data provider is listening. The default
is 7575.
ack Indicates that an acknowledgment is required from the data
provider. The default is N.
For example, to send the information status message, “Hello World! I am ready
to go.” to the Post Data Provider at ENG1 without requesting an
acknowledgment, enter:
KUMPSEND msg="Hello World! I am ready to go." dp=ENG1
Enter a question mark (?) with the command to get help for keywords. For
example,
KUMPSEND ?
The Script Data Provider is the final S in the consolidated ASFS Data Provider. If
you activate the ASFS Data Provider, which is the IBM Tivoli Universal Agent
installation default, you can import and use script metafiles.
Script metafiles
A script metafile requires a //SOURCE statement for every //NAME statement.
The //SOURCE statement must point to a path location on the local system where
a script file can be found. You must enclose the path name or script name in single
quotation marks if it contains embedded blanks.
Note: The script can reside on a network drive mapped to the local system as long
as the drive is accessible to the IBM Tivoli Universal Agent process and
drive access permissions have been granted.
Scripts of any type are eligible for monitoring provided that the appropriate script
interpreter is accessible to the Script Data Provider. Some examples of scripts
are:VBScript, shell script, Perl script, bat file, JavaScript™, and Rexx script. If
needed, the script interpreter command name must precede the script name on the
//SOURCE statement. For example:
//SOURCE SCRIPT c:\tools\perl.exe myscript.pl “arg1 arg2”
If you do not include the script interpreter command name, the system interprets
and reports the first value on the SOURCE line as the script.
Although it is called the Script Data Provider, you can specify in the script metafile
any program that writes messages to stdout. Additionally, you must provide the
full path name if the path to the script interpreter is not known to the calling IBM
Tivoli Universal Agent process. Although it is called the Script Data Provider, you
can specify any program that outputs messages to stdout in the script metafile.
You must place any arguments passed to the script inside double quotation marks
after the script name on the //SOURCE statement. You must be able to run the
script as an independent command. It cannot have dependencies on a larger
framework or subsystem that would prevent the script from being called from a
command line.
Because many scripts need environment variables set to run properly, the Script
Data Provider supports an envfile=<xxxx> parameter on the //SOURCE SCRIPT
statement. This envfile must contain a series of variable=<value>statements, one
per line. You must enclose the path to the envfile in single quotation marks if it
contains embedded blanks. Whenever a script is about to be launched, the Script
Data Provider sets every environment variable specified in the envfile and passes
that environment to the called script process. If the envfile size or last modification
date changes, indicating that the envfile has been updated, the contents of the file
are re-processed. Otherwise, the same environment variable settings will be in
effect for each script invocation.
To remain compatible with scripts or programs used for IBM Tivoli Distributed
Monitoring, certain environment variables are generated if they are not already
within a specified environment file. Not all values that IBM Tivoli Distributed
Monitoring uses are generated. The following table provides the generated value
name and default value:
Table 10. Generated environment variables
Value name Default value
MONITOR_ID The hash of the script to run, the arguments, and
the PROFILE_OID and ENDPOINT_OID
environment values if present in the
environment.
PROBE_ID The hash of the script to run, the arguments, and
the PROFILE_OID and ENDPOINT_OID
environment values if present in the
environment. Same as MONITOR_ID.
HOSTNAME The host name of the monitored system.
INTERP The supported values are: aix4-r1, solaris2,
linux-ix86, and hpux10.
MONITOR The script or program to run.
PROBE_ARG The argument string.
PROBE The script or program to run. Same as
MONITOR.
PREV_VALUE The last output from the script or program.
LASTSTAMP The timestamp when the last output was
obtained.
The Script Data Provider supports both interval-driven and demand-driven data
collection. If the INTERVAL=<nn>parameter is present on the metafile //NAME
statement, the script is launched whenever <nn> number of seconds has elapsed. If
the INTERVAL parameter is omitted, demand-driven data collection is in effect,
Scripts directory
When you install the IBM Tivoli Universal Agent, a scripts directory is created a
the same level as the metafiles and work directories. Store all of your script files in
this scripts directory so that you do not need to provide the scripts fully qualified
path name on the //SOURCE SCRIPT statement. When the Script Data Provider
processes a metafile that contains an unqualified script file, it automatically
searches for the file in the scripts directory.
where:
LocalHostname
The host where the IBM Tivoli Universal Agent is running,
ApplName
The name value specified on the metafile //APPL statement. See “APPL
statement” on page 117 for additional information.
VV The two-digit version suffix. See “Versioning of metafiles” on page 24
If the script file is not accessible at startup, the corresponding managed system
does not come online. Similarly, if the script file is renamed or deleted after
startup, its managed system goes offline. In both cases, the Script Data Provider
enters a wait/retry loop to periodically check whether the script has become
available. When that occurs, the managed system is brought online.
Like the File and Socket Data Providers, the Script Data Provider supports the
ManagedSystemName=xxxxxx parameter on the //SOURCE statement, which
allows the LocalHostname portion of the managed system name to be customized.
The ManagedSystemName parameter enables multiple related scripts that all have
the same attribute layout to be grouped under one //NAME statement, for
example:
//APPL MyAppl
//NAME AttrData K 300 AddTimeStamp Interval=60
//SOURCE SCRIPT c:\wmi\resmodel1.vbs “arg1” ManagedSystemName=ResModel1
//SOURCE SCRIPT c:\wmi\resmodel2.vbs “arg1” ManagedSystemName=ResModel2
//SOURCE SCRIPT c:\wmi\resmodel3.vbs “arg1” ManagedSystemName=ResModel3
//ATTRIBUTES ’;’
Attr1 R 512 Key @Attr1 help text
If this metafile were activated and all three scripts were accessible to the Script
Data Provider, the following three managed systems would be registered with the
Tivoli Enterprise Monitoring Server and inserted in the Tivoli Enterprise Portal
navigator:
ResModel1:MyAppl00, ResModel2:MyAppl00, ResModel3:MyAppl00
Script authentication
A common script requirement is that a specially authorized user ID must run the
script to give the script access to protected resources. By default, every launched
script inherits the user ID of the IBM Tivoli Universal Agent process. On Windows
operating systems, the Windows Service "LocalSystem" account user ID is used. On
UNIX operating systems, the user ID that started IBM Tivoli Universal Agent is
used. If a script requires special authentication, you must supply a User= and
Pswd= parameter on the //SOURCE statement. If present, these values are used
by the Script Data Provider as the authorization credentials when launching the
script. The user indicated must be defined to the system and have execute
authority on the script that is going to run. If not present, you receive an error and
the script is launched with the user ID associated with the IBM Tivoli Universal
Agent process.
Another strategy for authenticating scripts is to configure the IBM Tivoli Universal
Agent so that its owning user ID has the necessary authority to run all scripts. On
Windows operating systems, reconfigure the IBM Tivoli Universal Agent service
through the Control Panel → Administrative Tools → Services applet. Change
"LocalSystem" to an actual user ID in the local domain. Similarly, on UNIX
operating systems, start the IBM Tivoli Universal Agent with a user ID that has the
required script run-time authority.
The unqualified name, listdrives.vbs, means that the listdrives.vbs script file is
located in the IBM Tivoli Universal Agent scripts directory.
This sample script metafile invokes the Windows Script Host program, cscript.exe,
which commonly writes the following two header statements at the top of its
stdout:
v Microsoft (R) Windows Script Host Version 5.6
v Copyright (C) Microsoft Corporation 1996-2001. All rights reserved
To prevent these two data rows from appearing in the Tivoli Enterprise Portal
workspace, the first attribute in the script metafile includes a -FILTER parameter
that scans for the first 4 characters of those two data rows.
Note: Only the first 4 characters are specified because the DriveLetter attribute has
a maximum size of 4.
See “Filtering attributes” on page 162 for additional information on the FILTER
parameter.
Key attributes
If a script runs at regular intervals and generates the same basic data rows, the
Tivoli Enterprise Portal workspace shows these rows accumulating at each data
collection interval unless you designate one or more attributes as KEY in the script
metafile. Additionally, you must mark the attribute group with a ‘K’ to indicate
that it is a KEY table. For script metafiles, use KEY tables to prevent the same
retrieved rows from being added multiple times whenever the script executes.
When the Script Data Provider collects a new data row for an attribute group, it
checks if there are any KEY attributes and, if so, if they have the same values as a
previously collected data row. If that is the case, the new collected data row
replaces the previous row with the matching KEY values. The use of KEY
attributes provides a data correlation capability. To implement a script metafile
with KEY attributes, first analyze sample script output to determine if there are
any values which can logically be treated as indexes or keys.
Through the SNMP Data Provider, the IBM Tivoli Universal Agent can monitor
any industry standard MIB or any MIB you supply. IBM Tivoli Monitoring creates
IBM Tivoli Universal Agent applications for you by converting the MIBs into data
definition metafiles. You can then monitor any MIB variable as an attribute. You
can also create your own customized SNMP applications to monitor multiple
attribute tables and multiple MIBs.
Through the SNMP Data Provider, the IBM Tivoli Universal Agent can monitor
any variable in an SNMP Management Information Base (MIB) as an IBM Tivoli
Monitoring attribute. This allows you to:
v View real time and historical workspaces showing values for all your MIB
variables on Tivoli Enterprise Portal.
v Create situations to monitor for and alert you to exception conditions.
v Create policies to automate responses to network alerts.
For example, for the MIB-2 metafile application, the corresponding managed
system name is <Hostname>:MIB-200.
The exceptions to this format are the managed system names for the NETWORK
and MANAGED-NODES, or hotlist, workspaces. See “NETWORK workspace” on
page 75 for additional information.Table 11 summarizes the formats for managed
systems.
Table 11. Managed system name formats
Managed system name Used for viewing...
host name:SNMP-MANAGERVV NETSUMMARY, ROUTER, TRAP, MIBSTATUS,
and MIBNODATA workspaces
hotListName:SNMP-MANAGERVV MANAGED-NODES workspaces
networkName:SNMP-MANAGERVV NETWORK workspaces
The same managed system names are used when you distribute a situation. For
example, if you create a situation which includes attributes from the
MANAGED-NODES group, you must distribute it to hotListName:SNMP-
MANAGERVV. If you create a situation which includes attributes from the
NETWORK group, you must distribute it to networkName:SNMP-MANAGERVV.
User-customizable applications
You do not create metafiles for SNMP applications as you do applications created
for use with other data providers. IBM Tivoli Monitoring creates them for you by
converting MIBs into metafiles. You can use the metafiles IBM Tivoli Monitoring
provides as the basis for customized applications. Include only the attributes you
are interested in and create your own attribute groupings, so you can track and
analyze problems in a single workspace window and create situations without
embedding.
During the MIB data collection, the data provider resolves the community name in
the following order:
v If a community name is specified in the &AgentData field for the Take Action →
Monitor Start operation the specified name is used. See “Managed system names
of SNMP Data Provider applications” on page 64) for additional information.
v If no community name is specified for &AgentData, but a name is specified in
the KUMSCOMM file for the particular host or device, that name is used.
v If no name is specified in either the &AgentData field or the KUMSCOMM file,
the data provider uses the default specified by
KUMP_SNMP_NET_COMMUNITY.
v If no default is specified, the default public is used.
For example:
alpha tiger
beta.tivoli.com osprey
10.10.32.1 yellowtail
The SNMP Data Provider reads the community name table at startup. But you can
add, change, or delete entries at any time, then activate the table using the console
command LOADCOMM:
kumpcon loadcomm
To specify symbolic names for your networks, create a list of dotted decimal IP
network addresses, followed by their symbolic names:
10.10.18.0 LA-TEST
198.210.36.0 Chicago-DEV
10.10.32.0 Chicago-FIN
Observe the following conventions when you create the list of names:
v The trailing zero of the network address is optional
v The symbolic network name must be unique
v The names can contain only alphanumeric characters, dashes, and underscores
SNMP-MANAGER application
The SNMP-MANAGER application is comprised of the following seven attribute
groups:
v MANAGED-NODES
v MIBNODATA
v MIBSTATUS
v NETSUMMARY
v NETWORK
v ROUTER
v TRAP
This command starts the SNMP Data Provider even if a different data provider or
a set of data providers have been previously configured.
If more than one data provider is running, the program prompts you to specify
which type you want to stop. The IBM Tivoli Universal Agent stops when all its
data providers are stopped through the console interface. This command is also
available from the Take Action interface.
You can create and monitor hot lists that contain only specific devices or agents
that are critical to you. See “Using managed node lists (Hot Lists)” on page 79 for
additional information.
You can use the attributes defined in each application to create situations that alert
you to problems with monitored devices or to received traps or exception
conditions. See “Creating situations with SNMP application attributes” on page 83
for details specific to creating situations that you want to use with the SNMP Data
Provider.
Note: The data collection interval in effect is the shortest interval entered for all
Take Action data collection requests and IBM Tivoli Monitoring situation
sampling intervals for a particular attribute group. This is because a
common execution thread serves all requests for the group. The attribute
data is collected only once and shared by all outstanding requests.
Starting data collection: Use the following steps to use the Take Action feature to
start collecting MIB data:
1. Select the Navigator item associated with the application or system on which
you want to start the command.
2. Right-click the Navigator item or a row in a table view.
3. Select Take Action from the pop-up menu.
4. Select Monitor Start from the Name list.
The Edit Argument Values window is displayed.
5. In the Edit Argument Values window:
v For AgentData, specify the host names or dotted decimal addresses of the
SNMP agents you want to monitor and, optionally, a community name.
If you do not specify a community name, the default is used. See “Specifying
community names” on page 65 for information on specifying community
names.
If you do specify a community name, enclose the pair of host name or IP
address and community name in braces. For example:
Mars, Venus, {Jupiter viewx}, Pluto, {198.210.57.37 co98x}
As you can see in this example, with one Take Action request you can
specify a series of SNMP agents to query and you can use combinations of
host name, IP addresses, and community names.
If you want to poll an agent using a port other than 161, the default port,
indicate the target port within brackets immediately following the host name
or dotted decimal address.
Tip: To collect data for all SNMP agents within a given network, specify the
network portion of the IP address instead of the host address. For
example, if your network is a class C network and you specify
198.210.57, the data provider starts data collection for all appropriate
SNMP agents on hosts in the 198.210.57 network. If you have specified
a symbolic name for the network, you can use that name instead. See
“Assigning network symbolic names” on page 67 for additional
information.
To use this form of specification, the network must already have been
discovered by the data provider. The network address is ignored if it
has not been discovered or you have turned off network discovery
(KUMP_SNMP_NET_DISCOVERY=NO).
v For Interval, specify the interval, in seconds, at which you want the SNMP
Data Provider to poll the SNMP agent.
v For attrGroup (optional), specify the name of the attribute group for which
you want to collect data.
If you do not specify a particular attribute group, collection takes place for
all attribute groups in the selected MIB application.
Tip: To stop collecting data for all SNMP agents within a given network, you
can specify the network portion of the IP address instead of the host
address. For example, if your network is a class C network and you
specify 198.210.57, the SNMP Data Provider stops data collection for all
appropriate SNMP agents on hosts in the 198.210.57 network. If you
have specified a symbolic name for the network, you can use that name
instead See “Assigning network symbolic names” on page 67 for
additional information.
v For attrGroup (optional), specify the name of the attribute for which you
want to stop data collection.
If you do not specify a particular attribute group, collection is stopped for all
attribute groups in the selected MIB application.
6. Click OK.
7. In the Take Action window, select the system or systems whose name contains
the MIB application you want to stop monitoring, then click OK.
You will receive a confirmation message box indicating that data collection has
been stopped for the selected managed systems.
You can browse the SNMP-MANAGER MIBSTATUS workspace at any time to
see a list of the applications and attribute groups for which data is being
collected on a particular host.
SNMP MIB data collection from non-standard ports: Certain vendor SNMP
agents can feature special requirements, such as using ports other than the default
in the AgentData field of the Monitor Start window. The bracket-deliimited port
specification also works in the AgentData field of the Monitor Stop Take Action
window, as well as in the TargetAgentAddr field of the SNMP Set window.
The automatic MIB collection applies to managed node list resources. You can
manually add these resources to the list, or automatically add during the discovery
process by IBM Tivoli Universal Agent.
You must pre-load the corresponding vendor MIBs. The MIB metafiles, vendor or
standard RFCs, are loaded to collect data. Only the required MIB metafiles are
included in the IBM Tivoli Universal Agent startup initialization file KUMPCNFG
to control the amount of data collection.
When a network resource is added to or activated from the managed node list, the
SNMP Manager first retrieves the resource’s identity and determines the
manufacturer’s enterprise OID. The IBM Tivoli Universal Agent then checks all
loaded MIB metafiles that belong under the vendor enterprise OID tree. Data
collections are automatically started for this node for all attribute groups of all
applicable MIB metafiles.
MIB II data collection environment variables: All SNMP agents support RFC 1213
MIB II attributes. Therefore, these attributes can be collected for all agents
regardless of their enterprise OID. You can control MIB II automatic data collection
by setting the environment variable
KUMP_SNMP_AUTOSTART_COLLECTION_MIB2. The default is No, which
means no MIB II agent data is automatically collected.
The following sections give descriptions of these workspaces. See “Using managed
node lists (Hot Lists)” on page 79 for more information on hot lists. See “SNMP
attributes” on page 166 for full descriptions of the SNMP-MANAGER attributes.
MIBSTATUS workspace: This workspace enables you to tell at any point what
SNMP MIBs and attribute groups you are collecting data for and from which
SNMP agents. It also shows the currently active monitor interval and the last time
the data sample was collected.
Anytime you perform a Take Action → Monitor Start or a Take Action → Monitor
Stop, the information is updated in this workspace.
Table 14. MIBSTATUS workspace columns
Column Description
Attribute Group The name of the attribute group for which data is being
collected.
Enterprise The enterprise name of the MIB on which the monitored
application is based.
Monitor Agent Info A list target SNMP agent nodes and their corresponding
SNMP community name.
Monitor Interval The currently active data collection interval. This is the
shortest interval of all outstanding data collection requests.
Last Sample Timestamp The timestamp of the MIB attribute data set that is currently
available.
The managed system names take the following forms if you define the network
name in the KUMSNAME configuration file:
ip_address:SNMP-MANAGERnn
or
netname:SNMP-MANAGERnn
When you select a managed system, the detailed workspace you see has
information particular to that network.
Table 16 lists the columns in the NETWORK workspace and their descriptions.
Table 16. NETWORK workspace columns
Column Descriptions
Address The Internet network address of a node within a
managed network.
Description The description of the node characteristics as defined
by a network administrator or device manufacturer.
This attribute value corresponds to the RFC 1213
System Group sysDescr MIB variable specification.
Location The node location information as defined by a
network administrator. This attribute value
corresponds to the RFC 1213 System Group
sysLocation MIB variable specification.
Table 17 lists the columns in the ROUTER workspace and their descriptions.
Table 17. ROUTER workspace columns
Column Description
Destination Networks A list of network addresses known to this router.
Route Count The total number of routable subnetworks defined to
this router.
Router Address The IP address of the discovered router.
Router Description A description of the router characteristics, as defined
by device manufacturer. This value corresponds to
the RFC 1213 System Group sysDescr MIB variable
specification.
Router Name The host name of a discovered router. If the address
of a router cannot be resolved through DNS, then the
dotted decimal IP address is shown.
Router Status The current status of the discovered router. The
possible statuses are:
Verify the SNMP Data Provider is in the
process of verifying router status.
On-line the router is active and operational
Off-line the router is not operational
Passive the router is a daemon and it is not
actively participating in network
operation
The SNMP Data Provider uses a configuration file named trapcnfg to render trap
information in a more easily readable form and to assign categories, severities,
status, and source IDs to traps. You can modify this file or use a different
configuration file. See Appendix D, “SNMP trap configuration,” on page 203 for
more information. Table 18 lists the columns in the TRAP workspace.
Table 18. TRAP workspace columns
Column Description
Alert Name The trap name as specified in the definition in the trap
configuration file.
Category The trap category as specified in the definition in the trap
configuration file.
Description The trap description as specified in the definition in the trap
configuration file. The maximum description length is 256
characters.
Enterprise Name The trap Enterprise name as specified in the trap configuration
file and looked up through the trap object identifier.
Generic Trap The generic trap number extracted from the received trap.
Possible values are:
0 ColdStart
1 WarmStart
2 LinkDown
3 LinkUp
4 Authentication Failure
5 EGPNeighborLoss
Object ID The SNMP object identifier that uniquely identifies the trap in
the MIB. The object ID is extracted from the received trap.
Severity The trap severity as specified in the definition in the trap
configuration file.
Source Name The host name or IP address of the SNMP agent that sent the
trap.
Source Status The status of the agent that originated the trap after sending it
as specified in the trap definition in the trap configuration file.
Source Type The type of the agent that originated the trap as specified in
the trap definition in the trap configuration file.
Specific Trap The enterprise-specific trap number extracted from the
received trap. Applies only when Generic_Trap = 6.
Time Stamp The date and time when the trap occurred. The timestamp
format is, CYYMMDDHHMMSSmmm.
Value List The variable binding (VarBind) data received in the trap
protocol data unit (PDU). The VarBind elements are converted
to their IBM Tivoli Monitoring attribute names if the
corresponding MIB metafile is loaded. Otherwise, they are
shown as Object ID.
Stopping network discovery: To end collection of network data, use the Take
Action option, Manage Stop. By default, the local network where IBM Tivoli
Universal Agent is running will always be managed whenever the SNMP Data
Provider is active. Management of this network can be manually stopped by
issuing the Take Action → Manage Stop command, but you must issue this
command after each IBM Tivoli Universal Agent restart.
Note: If this environment variable is not present, local network management is the
default setting.
To stop discovery:
1. Select the Navigator item associated with the application or system on which
you want to start the command.
2. Right-click the Navigator item or a row in a table view.
Excluding a network from discovery: You can exclude certain networks from
discovery, perhaps because they are backup networks or because you do not want
to burden them with network discovery inquiries. In this case, use Take Action
option Manage Exclude to exclude a particular network.
Note: Networks that are accessed through dial-up serial line interfaces such as ppp
or slip are automatically excluded. If you want to manage these networks,
you must manually issue Take Action → Monitor Start requests for them.
When a network is being actively managed, it will not be excluded.
To exclude a network:
1. Select the Navigator item associated with the application or system on which
you want to start the command.
2. Right-click the Navigator item or a row in a table view.
3. Select Take Action from the pop-up menu.
4. Select Manage Exclude from the Name list.
The Edit Argument Values window is displayed.
5. Type then network address in the SNMP field.
6. In the Yes/No field, type Yes to exclude the selected network or No to reset a
previously excluded network.
7. In the Destination Systems list, select the SNMP-MANANGER managed
system, then click OK.
You receive a confirmation notification for the managed system with the
selected network address. If the network is actively managed at the time you
make this request, you see that its managed system goes offline in the Tivoli
Enterprise Portal Navigator tree.
From your managed node list, you can view workspaces, define situations,
perform reflex actions, and run automation policies, just as you can for any other
Creating a managed node list: A managed node list is a text file containing a list
name definition (optional) and a list of device and host names:
LISTNAME=TivoliWeb
www.tivoli.com
mercury[4500]
us07 ishtar
List name definition
The defined list name becomes part of the managed system name for the
node list. For example, the list name for the example above would be
TivoliWeb:SNMP-MANAGER00. If no list name is defined, the name of the
managed node list file is used. A managed system name cannot be longer
than 32 characters, so if your list name is longer than 17 characters, it will
be truncated from the right.
If the list name is displayed, the list name definition must take the
following form:
LISTNAME=listname
The list name specification does not need to be the first record of the
managed node list definition. However, if the list name is defined more
than once in the definition, the last specification is used as the name of the
managed node list.
Device and host names:
There is no limit to the number of network devices and hosts that can be
included in a managed node list. However, including too many entries
defeats the purpose of having a targeted list of critical devices and it
increases the overall workload.
One or more network devices can be specified in each record. To monitor
only a specific application running on a network node, specify the
application port enclosed in square brackets, as in the example above
mercury[4500].
Location of managed node list file: You must store the managed node list file in
the working directory. This is the directory in which the IBM Tivoli Universal
Agent configuration files are located as specified in the KUM_WORK_PATH
environment variable. On Windows operating systems, the default directory is
IBM\ITM\TMAITM6\work.
Activating a managed node list: You activate a managed node list using the
console command LOADLIST:
kumpcon loadlist managed_node_list_filename
or with the Take Action → Control LoadList command. The IBM Tivoli Universal
Agent keeps track of managed node lists by putting their file names in a file
named KUMSLIST. At startup, the IBM Tivoli Universal Agent reads KUMSLIST
and activates all the lists in it, so you have to activate each list only once.
Deactivating a managed node list: You can deactivate a managed node list by
editing KUMSLIST, which resides in the working directory. The SNMP Data
Provider checks KUMSLIST only at startup. To deactivate a managed node list
dynamically, create a file which has the same list name but contains no device
names, and then upload that file with the LOADLIST command.
For example, a managed node list could contain the identities of all network
resources belonging to a department, a financial application system, a geographical
location, or a group of network servers that support business operations. There can
be as many managed node lists defined as are required to manage the network
effectively.
In the managed node list file, instead of entering an itemized list of network
resources, you can define a resource filter. You are only allowed one resource filter
per managed node list file. Using the filter, IBM Tivoli Universal Agent
automatically includes discovered network resources in the managed node list.
NAME [*]string[*] – Filter on network resource names that match or include the
defined character string.
*string Match names that end with the character string.
String* Match names that begin with the character string.
*string* Scan names that contain the character string.
DESC string - Scan for the defined character string in agent’s SNMP MIB II
SysDescr attribute reply.
TYPE type – Look for network resources of the defined type. Valid types are:
A – Applications
B – Bridges
G – Gateways
H – Hosts
R – Routers
EOID oid-string – Select the network resource of the defined enterprise OID from
the agent’s SNMP MIB II sysObjectID attribute reply.
The following four examples illustrate the managed node list filter usage.
The discovered network resources and the managed node list contents persist
across IBM Tivoli Universal Agent SNMP Data Provider restarts. You can use the
managed node list filter for a short period of time, to build the list of matching
network device names, and then remove or comment out the filter definition and
use the managed node list “as is”.
You can dynamically manipulate the managed node list contents with Take Action
requests. The Take Action request MNL Add Node adds a network resource to the
managed node list. The MNL Remove Node Take Action request removes a
network resource from the list.
The SNMP Manager tracks removed devices. A removed network resource is not
added back to the list during the discovery process. However, you can re-add the
removed network resource by using a MNL Add Node Take Action request.
Note: This is valid only for networks that are being managed, that is, the locally
connected network and any networks for which you have issued a Take
Action Manage Start request.
v Change in status of any host or device in a Managed Node list.
You can change which traps are forwarded, or turn off reporting altogether.
Disabling UMC reporting: To turn off reporting to the UMC altogether, set the
variable kum_umc to No:
KUM_UMC=No
Special purpose attribute, Agent_Name: Each MIB attribute group has a special
purpose KEY attribute, named Agent_Name. Since you can specify more than one
host from which you want to collect MIB data, you can receive multiple rows of
the same attribute data, but each row coming from a different SNMP agent host.
The Agent_Name attribute is used to identify the originating host name for a
particular row of data. Agent_Name is useful in cases where you have initiated
data collection for multiple hosts, but want your situation evaluated for one
particular host.
For example, if you initiate MIB data collection and specify a network address to
collect data for all the hosts in a network, but you want your situation to only
evaluate data from host athens, include:
*SCAN MIB-2IFTABLE.Agent_Name *EQ athens
The Tivoli Enterprise Portal presents a set of workspaces for every MIB application
you monitor. Each workspace corresponds to an attribute group. In the workspaces
you see information from SNMP agents for which you have initiated data
collection. The Agent_Name column identifies the particular host that the row of
data pertains to.
All SNMP application attribute groups have a time to live (TTL) of 3600 seconds (1
hour). This means that MIB data remains available for workspaces and situation
evaluation for one hour from the time at which it was received from SNMP agents.
Your situation interval must be less than 1 hour, or it never becomes true. See the
IBM Tivoli Universal Agent User’s Guide for more information on TTL.
Predefined SNMP situations: The SNMP Data Provider offers a set of predefined
situations that address some of the most common network exception conditions.
You can use these situations to begin exception monitoring almost immediately or
as templates for creating your own situations.
Table 19 on page 84 provides the names, descriptions, logic, and comparison values
for the product-provided situations.
Table 19. Product-provided situations
Name Description, Logic, and Values
MB2_interfaceDown A network interface is down
MIB-2IFTABLE00.ifOperStatus *EQ 2
MB2_interfaceInError Either the number of inbound packets that contained
errors which prevented them from being deliverable to
a higher-layer protocol was 20 or more, or the number
of inbound packets which were chosen to be discarded
even though no errors had been detected was 100 or
more.
MIB-2IFTABLE00.ifInErrors *GE 20 OR
MIB-2IFTABLE00.ifInDiscards *GE 100
MB2_interfaceOutError Either the number of outbound packets that could not
be transmitted because of errors is 20 or more or the
number of outbound packets which were chosen to be
discarded is 100 or more
MIB-2IFTABLE00.ifOutErrors *GE 20 OR
MIB-2IFTABLE00.ifOutDiscards *GE 100
MB2_ipInError This situation monitors three types of inbound IP
datagrams errors:
v The number of input datagrams discarded due to
errors in their IP headers is 5 or more.
v The number of locally-addressed datagrams received
successfully but discarded because of an unknown or
unsupported protocol 20 or more
v The number of input IP datagrams for which no
problems were encountered to prevent their
continued processing, but which were discarded, is
20 or more
MIB-2IP00.ipInHdrErrors *GE 5 OR
MIB-2IP00.ipInUnknownProtos *GE 20 OR
MIB-2IP00.ipInDiscards *GE 20
For the SET operation to succeed, the SNMP metafile that defines the MIB variable
must be currently activated, the MIB definition of the variable must allow write
access, and the SNMP agent must be programmed to handle SET operations on
that variable. The ACCESS read-write statement for the ipForwarding MIB variable
in the following figure is an example of an MIB definition of a variable allowing
write access.
ipForwarding OBJECT-TYPE
SYNTAX INTEGER {
forwarding (1), -- acting as a gateway
not-forwarding (2) -- NOT acting as a gateway
}
ACCESS read-write
STATUS mandatory
DESCRIPTION
"The indication of whether this entity is acting
as an IP gateway in respect to the forwarding of
datagrams received by, but not addressed to, this
entity. IP gateways forward datagrams. IP hosts
Tip: To determine the exact spelling and case for the attribute, run the console
command KUMPCON VALIDATE against the MIB to create an output
report file. In the report file you will see the exact name used by the IBM
Tivoli Universal Agent for the attribute.
6. Click OK to return to the Take Action window.
7. Select the managed system corresponding to the MIB application in which the
variable is displayed.
Note: Remember that you can always check the UAGENT ACTION workspace
for detailed information on any Take Action command you issue.
8. Click OK.
Open System A
Data
Source
Open System B
Data
Data
Source
Source TCP/IP
Data
Source
Open System D
Data
Source
Note: Most scripting languages, such as REXX and Perl, offer socket APIs for
collecting and sending data, so you can implement the sending program in a
wide variety of ways, not just in a high-level language like C++ or Java.
You can check the Socket Data Provider’s UAGENT DPLOG report after the Socket
Data Provider has started to verify that the status message clearly identifies the
appropriate listening port number for TCP, UDP, or both.
When a socket client first connects to the Socket Data Provider, there is a potential
ambiguity in determining which metafile to associate the incoming data with. At
the time of the connection, the Socket Data Provider only knows the IP address
and port number of the client program. If only one socket metafile is activated,
then the Socket Data Provider clearly knows which metafile to use. But if multiple
socket metafiles are active, the Socket Data Provider relies on one of the following
methods to associate the client program with its metafile:
v Metafile SOURCE statement
v Explicit metafile specification
Note: You cannot list multiple host names on the same //SOURCE SOCK
statement.
When a client program connects and the Socket Data Provider has determined the
IP address and port number of the connecting program, the data provider scans
the host name values on all of the metafile //SOURCE SOCK statements that are
activated. The first matching //SOURCE SOCK host name statement is assumed to
be the correct metafile to associate with the client program.
The host name parameter of the //SOURCE SOCK statement indicates the origin
of the sending program in the form of an Internet dotted decimal address or a
resolvable host name, followed optionally by a port number. For example,
FIN1[4500] identifies data originating from host FIN1 at port 4500. If the specified
host name cannot be resolved to an IP address, the SOURCE statement is ignored.
If the port number is omitted, data originating from any port on that host is
acceptable. Specifying only the address 198.210.37.147 permits a program bound to
any port on host 198.210.37.147 to connect and send data to the Socket Data
Provider. You can also specify //SOURCE SOCK localhost as a way of indicating
that the socket client program is running on the same host system as the Socket
Data Provider.
Socket metafiles with one attribute group: The port number parameter is only
required to resolve ambiguity if the Socket Data Provider is managing multiple
socket client programs and multiple applications from the same host. The
application NCARPT has only one attribute group and it is the only active
application supplying data to the Socket Data Provider in the following example:
//APPL NCARPT
//NAME Overview P 900
//SOURCE SOCK JOHN
//SOURCE SOCK BOB
//ATTRIBUTES ';'
.
.
.
A socket client program from either host JOHN or host BOB can connect and send
data. In this scenario, there is no need to specify port numbers since no ambiguity
can arise.
However, when multiple socket metafile applications are known to the Socket Data
Provider and input from different client programs is possible from the same host,
port numbers help associate incoming data with particular applications, as
illustrated in the example below:
//APPL NCASYS
//NAME Process P 300
//SOURCE SOCK ENG1[4500]
//SOURCE SOCK ENG2[4500]
//SOURCE SOCK MIS2[4500]
//ATTRIBUTES '@'
.
.
.
A socket client program bound to port 4500 on its local host system (ENG1, ENG2,
or MIS2) that connects to the Socket Data Provider is automatically associated with
the NCASYS application. Similarly, a client program bound to port 3301 is
associated with the NCANET application. If this example did not use port number
specifications and a client program bound to any port on, ENG2, for example,
connected to the Socket Data Provider, the wrong metafile application could get
selected for the input data.
Socket metafiles with multiple attribute groups: If a socket metafile has multiple
attribute groups, and one or more socket client programs from the same host
supplies data for these attribute groups, another form of ambiguity can arise. The
Socket Data Provider needs a way of knowing which attribute group each
incoming data record belongs to. There are two ways to resolve the ambiguity:
Port number parameter
Extending the previous example, if the application NCARPT includes more
than one attribute group, port number specifications can clarify which
attribute group each data record belongs to:
//APPL NCARPT
//NAME Overview S 900
//SOURCE SOCK JOHN
//SOURCE SOCK BOB
//ATTRIBUTES ' '
.
.
.
//NAME RedEvent E 3600
//SOURCE SOCK JOHN[1001]
//SOURCE SOCK BOB[2001]
//ATTRIBUTES ' '
.
.
.
//NAME RunStat S 120
//SOURCE SOCK JOHN[1002]
//SOURCE SOCK BOB[2002]
//ATTRIBUTES ' '
.
.
.
In this example, input data for the attribute group, Overview, is accepted
from any port on host JOHN or BOB as in the previous example. Input
data for the attribute group RedEvent, however, can only be received from
a connecting client program bound to port 1001 from host JOHN or port
2001 from host BOB. Similarly, input data for attribute group RunStat can
be received from programs bound to port 1002 and 2002 on hosts JOHN
and BOB, respectively.
where:
xxxx The name value specifed on the metafile //APPL statement.
yyyy The name value specified on the metafile //NAME statement.
If the Socket Data Provider receives a data row that begins with this
header, it searchs for a matching application and attribute group in its
in-storage list of online applications. If it finds a match, the Socket Data
Provider associates the received data row with that attribute group.
Therefore, you do not need to specify a [port#] parameter on the
//SOURCE SOCK statement. If you decide to use this data record
prefixing feature, use it for every data row that your socket client program
sends.
For example, if your metafile has three attributes, your sending buffer should have
the value for the first attribute as the first token in the buffer, the value for the
second attribute as the second token, and the value for the third attribute as the
third token. If your ATTRIBUTE statement specifies a delimiter of ″;″, your sending
buffer must place a semicolon (;) between each value token.
Timing out
UDP communication provides no state information to either sender or receiver.
When UDP communication is used, the Socket Data Provider employs the
following rules for determining the state of the sending program:
v For polled, sampled, and keyed data, the Socket Data Provider times out the
sending program after five TTL intervals without receiving data and notifies
IBM Tivoli Monitoring that the managed system is off-line.
v For Event data, the Socket Data Provider waits indefinitely for program input.
The receipt of this record causes the Socket Data Provider to route any automation
commands to the destination system of the socket client program.
End of input
At the conclusion of a data input session, the sending program can choose one of
two ways of ending the session and allowing the data provider to indicate off-line
status to IBM Tivoli Monitoring:
v The program sends the data provider the transaction end message shown below as
a single record, indicating the normal end of a session:
//END-DP-INPUT
v The program closes the TCP socket, which results in detection of connection
termination by the data provider.
Programs that use a UDP socket but omit sending the transaction end message,
time out after five TTL intervals, as discussed above. Programs that send Event
type data must send the transaction end message or they remain on-line to IBM
Tivoli Monitoring until system shutdown or until the program contacts the data
provider again.
Note: If the client program platform is EBCDIC but the program is sending UTF-8
data for a globalized application, do not include the E parameter.
See “SOURCE statement” on page 126 for information on using the LOCALE and
CODEPAGE parameters.
If you do not use explicit metafile association, you must make sure that the correct
code type for the host of the sending program is specified in the SOURCE
statement or make certain that the program and the Socket Data Provider run on
machines of like architecture.
where:
Hostname
The host where the socket client program is running. This host is different
from the host where the IBM Tivoli Universal Agent is running if the
socket client is connecting from a remote system.
ApplName
The name value specified on the metafile application.
VV The two-digit version suffix.
Note: The managed system for a socket metafile application does not come online
in the Tivoli Enterprise Portal navigator until the socket client program has
connected to the Socket Data Provider.
You can customize the Hostname portion of the managed system name with the
//SETSOURCENAME record. You can utilize this feature if a socket application
collects data from a series of application servers, and it would be more meaningful
if the application server name were part of the managed system name, rather than
the host name where the socket client program is running.
The following two steps are required to enable the SETSOURCENAME feature:
The default value for this variable is 180 seconds. This enables the IBM Tivoli
Universal Agent to detect any connecting session outage within a three-minute
window.
UDP programming is simpler than TCP. However, keep the following points in
mind in choosing UDP or TCP because the choice effects overall recoverability,
error detection, and delay in notifying IBM Tivoli Monitoring.
Use of TCP enables both the application and the data provider to detect
connectivity problems immediately and to initiate a problem recovery procedure.
With UDP, the parties can rely only upon problem time-outs for status.
where:
hostname
The name of the host on which the IBM Tivoli Universal Agent was
started. Each monitored IBM Tivoli Universal Agent application is
displayed in the Tivoli Enterprise Portal Navigator view as:
instname_sourcename:applnameVV
where:
instname Specifies the instance name of the IBM Tivoli Universal
Agent if a non-primary copy of the IBM Tivoli Universal
Agent is being started.
For example, if a File Data Provider is running on system FIN1 supporting an IBM
Tivoli Universal Agent application and attribute group defined as
//APPL LOGS
//NAME SYSLOG E
//SOURCE FILE /syslog
and this is the first version of the metafile, the name of the managed system for
the attribute group would be FIN1:LOGS00.
where:
AA The first two characters of the IBM Tivoli Universal Agent
application name.
VV The version number of the IBM Tivoli Universal Agent. The current
release is version 06.
RR The version number of the metafile.
MM The modification number of the metafile.
When the modification number (MM) of a data definition metafile changes the
following occurs:
1. Managed systems containing the previous version number go offline.
2. Managed systems containing the new version number come online.
You do not have to recreate and redistribute existing situations or policies when
the modification number changes. Change an existing situation only if you want to
use a newly added attribute as one of its predicates.
Application workspaces
The Tivoli Enterprise Portal incorporates a workspace for each attribute group
defined in a metafile application. You access IBM Tivoli Universal Agent
workspaces from the Attribute group level of the Navigator view. The Navigator
offers a high level view of your monitored enterprise. It can show the enterprise as
a physical mapping of systems and applications or as a logical view of entities,
such as the sales and payroll departments. The Physical and Logical tabs at the
bottom of the Navigator enable you to switch between these views.
Physical
The default Navigator view is Physical, with the following levels:
Enterprise
The highest level. It encompasses all the systems in your organization
where monitoring agents are installed.
Operating platform
The operating system the monitoring agent is running on, such as z/OS,
Windows, UNIX, or Linux® operating systems.
System
The name of the computer or z/OS image where monitoring agents are
installed.
Agent The monitoring agent installed on the system. If the agent name is dimmed
it means the agent is offline.
Some IBM Tivoli Monitoring products have both agents and subagents, for
example, MQSeries® and SAP R/3. In such cases another level is added to
subsume the subagents in the managing agent’s folder. Some Tivoli
Enterprise Monitoring Agents are grouped into one folder, particularly
those that have multiple agents of the same type on the same system. For
example, CICSplex, MQSeries, and IBM Tivoli Universal Agent.
Attribute group
The category of attributes the agent is monitoring. An attribute group is
Logical
The Logical view groups agents into managed objects. The managed objects and
the managed systems they represent are defined in the Tivoli Enterprise Portal.
Click the Logical tab to see the logical view. This view of the Navigator reflects the
hierarchy of managed objects. The assigned overview object is displayed as the top
level in the logical view. Any managed objects in the overview object are displayed
in the next level.
Application names
The name of the application takes the following form:
application_nameVV
where:
VV The version number of the metafile in which the application is defined.
Workspace names
The names of the Customer Workspaces correspond to the attribute groups for that
application. You select the managed system for which you want to view a
workspace when you open the workspace for that attribute group.
See the Tivoli Enterprise Portal Administrator’s Guide and the Tivoli Enterprise Portal
online help for instructions on customizing your workspaces.
See “Creating help for applications, attribute groups, and attributes” on page 17 for
additional information.
The purpose of the DPLOG attribute group is to surface status information for a
particular data provider. The purpose of the ACTION attribute group is to provide
information about the processing of automated actions from situations and policies.
Since each data provider is displayed as a managed system, you can develop
situations and policies for it, just as you can for any other managed system. This
enables you to manage all the data providers in an enterprise from the Tivoli
Enterprise Portal and achieve dynamic self-monitoring of IBM Tivoli Universal
Agent runtime operations. However, you cannot use automation or TakeAction on
the ACTION attribute group.
where:
instname The instance name of IBM Tivoli Universal Agent if a non-primary
copy is being started.
hostname The name of the host on which the data provider resides.
dpType The type of data provider. For example, FILEdp, SOCKdp,
ODBCdp, HTTPdp, or ASFSdp.
VV The version number of the metafile.
For example, the managed system name of a File Data Provider running on a
system named ENG1 is ENG1FILEdp:UAGENT00.
DPLOG workspace
The DPLOG workspace is similar to a system console log. It provides a detailed
audit trail for the data provider. The log workspace contains seven columns,
described in Table 20 on page 103.
Table 20. DPLOG workspace columns
Column name Description
DP Log Category The category of the log entry. The log categories currently
implemented are described in Table 21.
DP Log Text The detailed message text for the data provider log.
DP Name The managed system name for the data provider that issues
the log message.
DP Time The local time for the data provider log event message. The
format is, CYYMMDDHHMMSSmmm.
DP Type The type of data provider. Types include: ASFS, API Server,
Socket, File, Post, Script, SNMP, HTTP, and ODBC.
DP Version The current version number of the data provider.
ACTION workspace
The ACTION workspace contains eight columns. These columns are described in
Table 22. You can create situations and policies based on ACTION attributes just as
you can with any other workspace attributes.
Predefined situations contain attributes that check for system conditions common
to many enterprises. Using predefined situations can improve the speed with
which you can begin using the IBM Tivoli Monitoring products. You can examine
and, if necessary, change the conditions or values being monitored by a predefined
situation to those best suited to your enterprise. There are over 20 predefined
situations that are installed with the IBM Tivoli Universal Agent. All of these
situations are used with the SNMP Data Provider. See Table 19 on page 84 for the
complete list of SNMP situations.
Note: Before you modify a predefined situation, make a copy to ensure fallback if
necessary.
When you open the Situation editor, the left frame initially lists the situations
associated with the Navigator item you selected. When you click a situation name
or create a new situation, the right frame of the Situation editor opens to provide
you with the following information about the situation or to let you further define
that situation:
Condition See, add to, and edit the condition being tested
Distribution See the systems to which the situation is assigned
and assign the situation to systems
Expert Advice Write comments or instructions to be read in the
event workspace
Action Specify a command to be sent to the system.
You can also type take action commands by adding
a take action view to a workspace, selecting Take
Action from the pop-up menu for an item in the
Navigator’s physical view, or creating take action
commands and saving them for later use.
Until Reset a true situation when another situation
becomes true or a specified time interval elapses
Specify a TTL to indicate how long the data provided by data providers is
considered valid for evaluation. The TTL value you specify affects both how
situations are evaluated and what you see in the IBM Tivoli Universal Agent
application workspaces.
The IBM Tivoli Universal Agent emits data for situation evaluation as long as the
TTL has not expired. If the situation monitoring interval is shorter than the TTL,
the situation remains raised for the duration of the TTL.
A sample set is one sample of data that consists of multiple rows of data. For
example, if you are using the File Data Provider and you specify Copy mode in
your SOURCE statement, you are indicating that your samples consist of multiple
rows of data, because of the nature of Copy mode processing. That is, every time
the File Data Provider samples the log file it emits a sample set consisting of all
records in the log file.
The IBM Tivoli Universal Agent treats the sample set as one sample. This means
that the TTL you specify applies to the entire sample set. After the TTL expires,
none of the individual rows making up the sample set are available for workspaces
or for situation evaluation.
You can find information about using the Historical Data Collection function in the
Tivoli Enterprise Portal online Help and in the Tivoli Enterprise Portal
Administrator’s Guide.
The SNMP Emitter, also referred to as the SNMP Activity Agent, integrates
information from IBM Tivoli Monitoring products with data from third-party
products on a single system. It sends event data monitored by IBM Tivoli
Monitoring products to a third-party manager.
This is the preferred way of integrating best-of-breed solutions like IBM Tivoli
Monitoring into the large-scale frameworks.
The SNMP Emitter uses native operating system services to communicate events to
a designated SNMP management application running on any host. It has no
dependencies on any operating system SNMP services and can co-exist with other
operating system SNMP services. When an event occurs—that is, when the status
of a situation monitored by an IBM Tivoli Monitoring product changes from False
to True—the Tivoli Enterprise Monitoring Server collects and stores information
An SNMP trap contains an SNMP community name, which an SNMP manager can
choose to use. By default, this is the public community name. You can change this
default name to another name through environment variable
KUMP_TRAP_EMIT_COMMUNITY.
KUMP_TRAP_DESTINATION
v No default
v Defines the host names where SNMP managers are running. You must separate
multiple host names by commas.
KUMP_TRAP_EMIT_COMMUNITY
v Default is <public>
v Defines the community name for which the SNMP manager is configured.
where:
hostName
The DNS host name where the IBM Tivoli Universal Agent is
running
DPTYPE
The 4-character data provider type, followed by the dp literal.
Data provider examples include: ASFS or SNMP.
Severity
Select one of the following predefined severities:
v Cleared
v Indeterminate
v Warning (default)
v Minor_error
v Critical
v Major
By default, this severity value is only displayed in the trap variable
binding information on the receiving system. If you want the
policy-defined severity to also show up as the Severity value on the
receiving system, set the following environment variable:
KUMP_TRAP_USE_POLICY_SEVERITY=Y
Category
Select one of the following predefined categories:
v Threshold_Events (default)
This data is always in your trap’s variable binding list. What you see for the
sitAttributeList often varies and depends on which attributes you select when
editing the SNMP Emitter’s parameters in the policy editor. A complete description
of these variables is in the CANSYSSG.MIB file. This MIB file depends on the
CANBASE.MIB file, so you need both.
Use these files to integrate IBM Tivoli Monitoring into another third-party SNMP
Manager product.
Introduction
The control statements described in this appendix are used to create the data
definition metafile that defines an IBM Tivoli Universal Agent application. Some of
the statements are used only for specific data providers.
If present, you must enter the statements in the metafile in the following order:
//SNMP
//APPL
//NAME
//INTERNAL
//SOURCE
//RECORDSET
//CONFIRM
//SQL
//SUMMARY
//ATTRIBUTES
Description
This statement introduces the data definition for a customized SNMP application
and is only used for the SNMP Data Provider. It must precede the APPL statement
that names the application.
Syntax
//SNMP TEXT
Parameter
The SNMP statement must contain the parameter TEXT.
Description
The APPL statement specifies the name used by IBM Tivoli Monitoring for your
IBM Tivoli Universal Agent application. A metafile data definition always defines a
complete application and you must adhere to the following requirements:
v Only write one APPL statement per metafile.
v You must have a unique APPL name. If two different metafiles include
application definitions with the same APPL name, even though the content is
different, the second metafile is not loaded.
Syntax
//APPL <applname> [WHEN{<value>}] [@<help text>]
Parameters
<applname>
The name of the IBM Tivoli Universal Agent application you want to
monitor.
Notes:
1. An application name must contain at least 3, but not more than 20
characters. There can be no embedded blanks in the name. Only ASCII
characters are allowed, including letters, numbers, dash (-), underscore
(_), and asterisk (*). An invalid character is automatically replaced by
an underscore.
2. The first 3 characters must be unique in an enterprise. Activating two
IBM Tivoli Universal Agent metafiles with the same first 3 characters in
their //APPL statement leads to unpredictable results, such as empty
reports and frequent application version changes. For example, when
the two metafiles have different attributes or attribute groups.
3. The application name cannot start with the character K, which is
reserved for IBM Tivoli Monitoring products.
WHEN{<value>}
(optional) Indicates whether the metafile application is warehouse enabled
for the summarization and pruning agent. If the WHEN parameter is
omitted, the summarization and pruning agent does not process data for
this application once the data is placed in the warehouse.
Note: The <value> parameter inside the curly braces is a one-character tag
to indicate the warehouse enablement option, specifically, the
minimum level of data summarization found in the application
source data. The following lists valid values:
R Raw or sub-hourly
H Hourly
D Daily
W Weekly
M Monthly
Q Quarterly
Y Yearly
Description
A NAME statement defines the name of an attribute group, the data collection
method, and the period for which the data is valid.
v There must be at least one, and up to 64, NAME statements in a metafile.
v Each NAME statement must be followed by its associated SOURCE statement (if
one is required), ATTRIBUTES statement, and individual attribute definition
statements.
Syntax
//NAME <attribute-group-name> method [time-to-live] [<AddSourceName>]
[<AddTimeStamp>] [Interval=] [SkipNonNumeric=Y/N] [@<help text>]
Parameters
The attribute-group-name, method, and time-to-live parameters are positional. If
specified, you must enter them in the sequence shown above. The parameters are
separated by a space.
<attribute-group-name>
Specifies the name of an attribute group. The name identifies a set of data
definitions.
Notes:
1. An attribute group name can contain up to 32 characters. You cannot
use embedded blanks in the name. Only ASCII characters are allowed,
including letters, numbers, dash (-), underscore (_), and asterisk (*). An
invalid character is automatically replaced by an underscore.
2. This parameter is required.
<method>
Specifies the nature of the data. The following four modes are supported:
P Polled (default). Polled data becomes available periodically
and only the latest set of values is available for situation
monitoring and reporting.
S Sampled. Sampled data behaves in the same way as polled
data except that more than one set of attribute data values
can be available for use.
E Event. Event data occurs unpredictably and is reported in
asynchronous fashion as soon as the data becomes
available.
K Keyed. Keyed data behaves in the same way as sampled
data, but allows you to correlate events. You can designate
up to five attributes in each group as key attributes.
For example, an application checks system status such as CPU utilization
and network data traffic rate every 30 seconds. This is polled or sampled
data, or possibly even keyed data if any of the attributes function as
unique keys or indexes. By contrast, network alerts or console messages,
which occur at unpredictable intervals, should be defined in the metafile as
event data.
When you specify this parameter, the IBM Tivoli Universal Agent
dynamically generates at runtime a LocalTimeStamp attribute value for
each new data row collected. The following is the format for the timestamp
is CYYMMDDhhmmssuuu, where:
C Specifies the century. Use 1 for the 21st century.
As the rows of output from the monitor.sh script are processed by the
Script Data Provider, and there is a data row that has a non-numeric
character in the Attr2 attribute, the entire row will be skipped. Default
behavior for the IBM Tivoli Universal Agent is to write a zero in a numeric
attribute when non-numeric data is detected, but to not skip the entire row.
Additional features
The NAME statement provides support for invisible attribute groups. An invisible
attribute group is not part of the customer application from the Tivoli Enterprise
Monitoring Server, Tivoli Enterprise Portal, and end user perspective. By defining
an attribute group as invisible, you can hide unneeded attribute definitions and
workspaces.
The purpose of an invisible attribute group is to collect raw data, such as data
from a file or socket client program, and then redirect the data to other visible
attribute groups in the same metafile where the data is filtered, summarized, and
manipulated to provide more meaningful information. The invisible attribute
group is hidden from an external standpoint. Use this feature in conjunction with
an //INTERNAL OUTPUT statement. See “INTERNAL statement” on page 123 for
more information.
Precede the attribute group name with a tilde symbol (~) to make it invisible. For
example:
Description
Data redirection is very useful for application data that contains variable data
types, such as a transaction log file that includes several types of data records, or
for application data that is too complex to construct a single attribute group
definition to handle reliably. In addition, you can use data redirection in situations
where data is received once, but redirected to multiple targets to be manipulated
differently, such as different attribute filters, summarization intervals, or
summarization keys. The //INTERNAL statement defines the data redirection
source or target attribute groups. The redirected application data is identified by
symbolic-name, which must be unique for all currently active applications. You can
redirect application data from one application attribute group to other application
attribute groups.
Syntax
//INTERNAL [INPUT | OUTPUT] symbolic-name
Parameters
OUTPUT statement
The INTERNAL OUTPUT statement defines the source of the data redirection. You
can only identify one source attribute group per redirection by the symbolic name.
All application data sources are supported such as file, socket, or API. The
attribute group data becomes eligible for redirection after passing all defined
attribute filters.
INPUT statement
The INTERNAL INPUT statement defines the target of the data redirection. Having
multiple target attribute groups from one redirected source output is supported.
However, a target attribute group cannot itself be the source of another redirection.
The IBM Tivoli Universal Agent redirects data for an attribute group exactly as if it
arrived from a standard data source such as file, socket, API program, or SNMP
agent. All IBM Tivoli Universal Agent features and services are available, including
attribute filters.
In the following example, the claim details log file is read once. The file records are
redirected to two subsequent attribute group definitions, ClaimInquiry and
ClaimRequest, for further processing.
//NAME TransactionLog e
//SOURCE FILE /users/Claim/DETAILS.log
//INTERNAL OUTPUT ClaimDetailRec
//ATTRIBUTES ’,’
RecData R 4096
*
//NAME ClaimInquiry e AddTimeStamp
//INTERNAL INPUT ClaimDetailRec
//ATTRIBUTES ’,’
RecType D 1 -FILTER={MATCH(0,3)}
ClaimID C 9999
ClaimType C 99
CustomerSSN D 9
. . . . .
. . . . .
. . . . .
*
In the following example, the internet server log is first processed by attribute
group WEB_W3C_Log. It selects data by excluding file records without client
location or request content, or with no data transferred. The selected file records
are then passed to attribute groups Error_STAT and DataTransfer_STAT.
The Error_STAT is only interested in error codes greater than 200 and a few
selected attributes. All other attributes are defined as SKIP type so that they are not
visible to the end-user.
The DataTransfer_STAT attribute group shows the bytes exchanged between the
client and the server. It is only interested in client identity, request, and the bytes
count.
Two additional derived attributes are defined to show the total byte count and the
percentage of input data of the total data count. These derived attributes are
TotalBytes and PercentReceived.
//NAME WEB_W3C_Log e
//INTERNAL OUTPUT InternetLog
//ATTRIBUTES ’,’
ClientLocation D 32 -FILTER={MATCH(0,-)}
ClientUserName D 32
Date D 12
Time D 12
Service D 32
ComputerName K 64
ServerAddress D 32
RequestElapsedTime C 99999999
BytesReceived C 99999999 –FILTER={NUMBER<=(0,0)}
BytesSend C 99999999
ServiceStatus C 99999999
WindowsStatus C 99999999
OperationName D 32
OperationObject D 256 -FILTER={MATCH(0,-)}
RequestParameters D 256
*
//NAME Error_STAT e
//INTERNAL INPUT InternetLog
//ATTRIBUTES ’,’
ClientLocation D 32
SkipField1 K
Date D 12
Time D 12
Service D 32
SkipField2 K
SkipField3 K
SkipField4 K
SkipField5 K
SkipField6 K
ServiceStatus C 99999999 –FILTER={NUMBER=(0,200)}
WindowsStatus C 99999999
OperationName D 32
OperationObject D 256
Description
The SOURCE statement defines the location and characteristics of the data being
collected.
v When the SOURCE statement is specified, it must follow immediately after the
NAME statement.
v Each SOURCE statement specifies one source.
v The SOURCE statement is not required for API and SNMP metafiles.
v The SOURCE statement is not required for Socket metafiles that have only one
attribute group. However, if the SOURCE statement is omitted, the socket client
program must send an explicit application association record that identifies the
corresponding metafile.
v You can have only one SOURCE statement per NAME statement unless you use
the ManagedSystemName parameter to uniquely identify each of the multiple
SOURCEs that is associated with the one attribute group.
Syntax
//SOURCE <type> [<script-interpreter>] <location> [<script-args>]
[<code-type>] [<file-mode>] [<number-of-file-records>] [User=] [Pswd=]
[Database=] [Server=] [Maxrows=] [Locale=] [Codepage=] [Envfile=]
[Interval=] [SetSourceName=Y/N] [ManagedSystemName=]
Parameters
The <type>, <script-interpreter>, <location>, <script-args>, <code-type>, <file-mode>,
and <number-of-file-records> parameters are positional. If specified, they must
appear in the sequence shown above. The remaining SOURCE statement
parameters use a keyword=<value> format and they can appear in any order after
the positional parameters.
<type> Specifies the form of the data source.
FILE Indicates that the data source is a local file.
ODBC
Indicates that the data source is a relational table.
SOCK Specifies data that arrives through a TCP/IP socket. A NAME
statement can have multiple sock sources.
SCRIPT
Indicates that the data source is a local script or program.
<script-interpreter>
(optional) For sources of the type SCRIPT, specifies the script interpreter
program that is required to execute the script. Examples of script
interpreters are Perl, REXX, and VBScript. If the Script Data Provider
cannot locate the script interpreter program at runtime, then you must
provide a script interpreter parameter before entering the script file name
in the <location> field. If the full path to the script interpreter contains any
embedded blanks, enclose it in single quotation marks. For example,
//SOURCE SCRIPT ’c:\program files\ObjREXX\rexx.exe’ myscript.rex
<location>
v For sources of the type FILE, <location> is the file name.
You must double the double quotation marks if a single argument being
passed to a script contains embedded blanks, for example:
The metafile parser strips off the outer set of double quotation marks and
where:
<ApplName>
Specifies the value on the metafile //APPL statement.
<TableName>
Specifies the value on the metafile //NAME statement.
<SourceName>
Specifies the managed system name associated with the file
data source.
Every time new records are added to the monitored file and its file
size increases, the File Data Provider stores the updated size value
in the restart file, along with the file name, file creation time, and
the last time the file was modified. If file monitoring is stopped
and started for any reason, the File Data Provider compares the
current file size against the size value stored in the restart file. If
the size has increased, the File Data Provider processes the delta
between the two sizes as if the records were added through normal
tail processing.
Use TailRestart if you are monitoring a critical file, such as a
transaction or audit log, and it is vital that no file records are
missed even if the IBM Tivoli Universal Agent is recycled.
Note:
For TailRestart, every new record added to the monitored file
requires input and output to the restart the file, so TailRestart is
probably not a good choice in all file monitoring scenarios.
If more rows than the maxrows limit are returned from the metafile SQL
Select statement, only the first <nnn> rows up to that limit are used for
reporting and situation evaluation. This is an important point to remember.
If you have a situation against an ODBC table that is not firing when it
should, it could mean that the row or rows which would cause the
situation to fire happen to come after the maxrows limit. The following are
solutions to this problem:
v Increase the maxrows value for that particular table by using
maxrows=<nnn>.
v Use KUMP_ODBC_MAX_ROWS to change the maxrows value globally
so that maxrows is big enough to handle the expected number of
returned rows.
v Use a more qualified Where clause in the Select statement so that the
number of returned rows fit within the current maxrows limit.
where:
The first time a script is about to execute, the Script Data Provider reads
the contents of the envfile parameter into memory and passes the
environment variable settings to the script process
Before every subsequent script execution, the Script Data Provider checks
the last modification timestamp of the envfile parameter. If it has been
modified, the Script Data Provider re-reads the envfile parameter contents
into memory and uses the new environment variable settings for the next
script execution. Otherwise, the previously read values are used. Because
the envfile parameter is checked before each script execution, you can
change the envfile parameter while your script is active, and your changes
are included in the next script execution without needing to refresh the
metafile or recycle the IBM Tivoli Universal Agent.
Notes:
1. The envfile name is case-sensitive on some operating systems. Specify
the file name according to the requirements of the local system where
the Script Data Provider is running.
2. You can use any name or file extension for the envfile name. There is
no special naming convention that the Script Data Provider expects.
where:
<Hostname>
Specifies the host of the socket client program. Hostname in this
context is synonymous with the source name. If you want to
override this portion of the managed system name to something
more meaningful for your socket application, you must add a
SetSourceName=Y parameter on the //SOURCE SOCK statement
and then send a //SETSOURCENAME=xxxxx record to the Socket
Data Provider after your client program connects. The xxxxx will
be used when constructing and registering the managed system
ManagedSystemName=
(optional) Enables you to specify multiple sources for FILE, SOCK, ODBC,
or SCRIPT type data, uniquely identifying each data source. For example,
the following metafile definition:
//APPL MVS
//NAME SYSTEM
//SOURCE FILE /home/logs/abc.log tail ManagedSystemName=Boston
//SOURCE FILE /home/logs/xyz.log tail ManagedSystemName=Chicago
//SOURCE FILE /home/logs/mno.log tail ManagedSystemName=LosAngeles
processes three different files that all have the same attribute layout under
the SYSTEM attribute group. The metafile results in the creation of three
managed systems:
Chicago:MVS00
LosAngeles:MVS00
Under one NAME statement, you can specify a maximum of 128 SOURCE
statements with unique ManagedSystemName parameters.
Description
The RECORDSET statement, which is for File Data Provider metafiles only, enables
the File Data Provider to extract attribute data from multiple records. The
statement specifies the following:
v A delimiter pattern that indicates the end of a record set
v The maximum number of records that comprise the record set
v The maximum number of records that comprise the record set and a rule for
identifying either the beginning or end of the record set
Syntax
Format A: end-of-record delimiter pattern
//RECORDSET ‘delimiter_pattern’
Parameters
<delimiter pattern>
Specifies the pattern for the end of a record set. The delimiter must be
enclosed by single quotation marks (‘ ‘). Data exceeding the defined
attribute size is truncated to the defined size.
The end-record-set delimiter record is used only to delimit a record set and
is discarded. It should not contain valid attribute data.
Example 1 shows the definition for an attribute group named ERRORLOG,
using the record set delimiter. In this case, the data provider reads and
concatenates all file records until it encounters 1) a record containing the
specified delimiter pattern (ten dashes), or 2) the end-of-file condition.
//NAME ERRORLOG E
//SOURCE FILE c:\error.log tail
//RECORDSET ‘----------’
//ATTRIBUTES NONE
Error_Message R 2048
In Example 4, the data provider uses the attribute delimiter (a blank space)
to extract values for the seven attributes by reading file records until it
does one of the following:
v Has read four records
v Has filled all seven attributes
v Reaches the end of the file
//NAME NETALERT E
//SOURCE FILE c:\net.log tail
//RECORDSET 4
//ATTRIBUTES ’ ’
Alert_Date D 12
Alert_Time D 8
Alert_ID D 16
Alert_Type C 99
Alert_Severity C 99
Alert_Origin D 64
Alert_Text D 256
<maximum records and identification rule>
Specifies both the maximum number of records in the record set and a rule
for identifying the beginning or end of the set. The identification rule
defines the offset in a file record, the comparison operator (equal [==] or
not equal [!=]), and the comparison string. The delimiting record is treated
as part of the record set and is not discarded.
The NEW keyword indicates a rule for beginning a record set. In this case,
the data provider processes file records from the current file position up to,
but not including the record that satisfies the comparison criterion, or until
one of the following:
v The specified maximum number of records has been processed
v All attributes have been filled
v The end of the file is reached
The END keyword indicates a rule for the end of a record set. In this case,
the data provider processes records from the current file position up to and
including the file record that satisfies the comparison criterion, or until one
of the following:
Description
The CONFIRM statement provides a vehicle for specifying data acknowledgment
requirements and is for Socket Data Provider metafiles only. You must enter this
statement after the //NAME and //SOURCE statements and before the
//ATTRIBUTES statement.
Syntax
//CONFIRM confirmation_type
Parameters
<confirmation_type>
Specifies one of the following types of confirmation required:
SIZE The data provider acknowledges receipt of data by returning the
data length as a 32-bit unsigned integer, in network byte order.
SEQ The data provider acknowledges receipt of data by returning the
data record sequence number as a 32-bit unsigned integer, in
network byte order. For each new TCP connection or new UDP
exchange, the sequence number starts from one and wraps
accordingly.
X<nn> The data provider acknowledges receipt of data by sending the
specified hexadecimal character <nn>. For example, X70.
<’message’>
The data provider acknowledges receipt of data by sending the
specified message character string. You must enclose the message
in single quotation marks. For example, ‘Data received.’
If the client program and the data provider are on dissimilar
machines, the data provider translates the message into the format
of the system of the client before transmission.
Description
The SQL statement tells the ODBC Data Provider what table data to select from the
data source specified on the //SOURCE statement. One //SQL statement is
required for every //SOURCE ODBC statement.
Syntax
//SQL [Select statement] [proc=stored procedure]
Parameters
Select statement specifies an SQL Select of any type or form that is supported by
the data source being accessed, for example,
//SQL Select * from sysxlogins
Although this example uses a simple Select statement, there is nothing to prevent
you from exploiting additional SQL features, such as ORDER BY, GROUP BY,
nested Selects, built-in functions, and so on. You can select individual columns as
well as columns from multiple tables. You can use it in the ODBC metafile as long
as the ODBC driver supports the feature. In most cases, the drivers support all of
the standard SQL query syntax.
The IBM Tivoli Universal Agent metafile parser does not examine the contents of
the //SQL Select statement for possible syntax errors. The string that is contained
on the statement is passed to the ODBC driver, and it is the driver software that
does the work of parsing the statement and preparing it for run-time. One
consequence of this approach is that if there are any syntax errors in the //SQL
Select statement, they will not be detected until the ODBC metafile has been
imported and the first attempt to run the statement is made by the ODBC Data
Provider. At that time, the syntax errors are written to the UA RAS1 log. Therefore,
test the Select statement through an SQL ad hoc query tool or command-line utility
before inserting it into the metafile.
<proc=stored procedure>
Specifies a stored procedure that performs an SQL Select against the data
source being accessed.
Notes:
1. If the stored procedure name contains any embedded blanks, it must be
surrounded with single quotation marks.
2. If there are input parameters to the stored procedure, they must be
blank-separated tokens after the stored procedure name.
Description
The //SUMMARY statement defines the requirements for gathering the frequency
of data input during monitoring. At a minimum, the requirements include a
defined interval and if appropriate, defined sort keys.
The resulting output attribute group consists of timestamp, interval, key attributes,
and occurrence (total count). Attributes that are not defined as key attributes are
not included in the output attribute group.
It is helpful to use the filtering options, Accept Filters or Reject Filters, to limit the
scope of the summary. The summarization takes place after the input data is
filtered.
The application data must include the LocalTimeStamp attribute. If the data does
not include this attribute, then you can add it by specifying the AddTimeStamp
parameter on the //NAME statement. Otherwise, the IBM Tivoli Universal Agent
automatically inserts a LocalTimeStamp attribute at runtime. The LocalTimeStamp
attribute value and the interval defined in the //SUMMARY statement trigger the
summarization process.
Attributes that are not defined as key attributes are not included in the output.
This does not mean that detail application attributes are not available. You can
define an attribute group with or without filters for detail monitoring of
application data. And you can redirect the application data to one or more
additional attribute groups for summary using various attributes as sort keys.
Syntax
//SUMMARY [<interval>] [Force]
attribute-name attribute-type maximum-size SKEY=n
Parameters
<interval>
Specifies the summarization period in seconds. The minimum interval
value is 60 (1 minute) and the maximum interval value is 86400 (1 day).
The default of 300 is used if an interval is not specified.
Force (optional) Enables you to always see a summary row at every interval,
regardless of whether new data was collected during that interval. The
interval value specified on the //SUMMARY statement is used to
determine when to output a new data row to the summary attribute group.
However, if no new input data is collected during a summary interval, a
row is not added to the summary attribute group for that interval. The
This metafile syntax means that a new row will be output to the summary
attribute group every 15 minutes, even if the row contains zeroes for
Occurrences and the other summary attributes.
SKEY=<n>
Identifies an attribute as a summarization sort key. The <n> sequence
number specifies the sort order (such as 1, 2, 3 for sorting first, second, and
third).
You can make any display or numeric attribute a summarization sort key.
An attribute group can include either no sort keys or sort keys
representing all attributes in the attribute group. An attribute group without
a sort key definition is summarized by LocalTimeStamp interval only. The
output consists of one row of data per summarization interval. An attribute
group with sort keys is summarized by the LocalTimeStamp interval and
breaks on each sort key. Its output includes as many rows as there are
unique sort key combinations per summary interval.
Example 1
The following metafile specifies an hourly request summary:
//APPL eLog
//NAME ServerLog e
//INTERNAL OUTPUT InternetLog
//ATTRIBUTES
*-------------------------------------------*
* Apache Server Log Record Format Layout *
*-------------------------------------------*
ClientLocation D 256
ClientUserName D 32
Authorized_User K 32
Date_Time DL 20
Time_Zone K 5
Request D 256 DLM=’’ –FILTER={MATCH(0,-)}
ServiceStatus C 99999999
BytesReceived C 99999999
Referral D 256 DLM=’/"’
Browser D 256 DLM=’""’
Service D 32
ServerName D 256
RequestParameters D 256
BytesSent C 99999999
RequestElapsedTime C 99999999
*
//NAME RequestSummary e
//INTERNAL INPUT InternetLog
//SUMMARY 3600 Force
//ATTRIBUTES
LogRecord R 2048
The log records are redirected to the attribute group RequestSummary, which
counts the number of records per hour. Log records without request information
(signified by a - in the first position of the Request attribute) are immediately
rejected. The actual attributes that are presented for the RequestSummary attribute
group include:
Because the Force parameter is specified, a data row is output with 0 in the
Occurrences column if no qualifying records are received in the RequestSummary
attribute group in the previous hour.
Example 2
The following attribute group metafile definition shows an internet server log
summary of all requests that resulted in an error status greater than 400. Notice
that the error requests or interest (+FILTER={NUMBER>=(0,400)}) are already
filtered on input.
//NAME RequestErrorStatus e
//INTERNAL INPUT InternetLog
//SUMMARY 86400
//ATTRIBUTES
ClientLocation D 256
ClientUserName D 32
Authorized_User K 32
Date_Time DL 20
Time_Zone K 5
Request D 256 SKEY=2 DLM=’’
ServiceStatus C 99999999 SKEY=1 +FILTER={NUMBER>=(0,400)}
BytesReceived C 99999999
Referral D 256 DLM=’/"’
Browser D 256 DLM=’""’
Service D 32
ServerName D 256
RequestParameters D 256
BytesSent C 99999999
RequestElapsedTime C 99999999
*
The IBM Tivoli Universal Agent accumulates input log record data during the
summarization interval. At the end of an interval, the accumulated data is sorted
based on defined sort keys, and then summarized. The following are the output
attributes:
ServiceStatus
The input status value
Request
The input request attribute value
LocalTimeStamp
The CT timestamp indicating the beginning of a summary interval
Interval_Unit
As defined on //SUMMARY statement (86400)
Occurrences
The summary count
The output attributes of an attribute group that have been summarized always
consist of key attributes, LocalTimeStamp, Interval, and Occurrences. Attributes
that are not defined as key attributes are not included in the output.
If more input data fields are defined than attributes the IBM Tivoli Universal
Agent stops interpreting input data at the last defined attribute. A timestamp is
automatically inserted.
Example 4
In the following example, the sent and received byte counts are totaled by
ClientLocation each hour.
//NAME DataTransferByLocation e
//INTERNAL INPUT InternetLog
//SUMMARY 3600 Force
//ATTRIBUTES
ClientLocation D 256 SKEY=1
PlaceHolder1 K 4
PlaceHolder2 K 4
Date_Time DL 20
PlaceHolder3 K 4
PlaceHolder4 K 4 DLM=’’
PlaceHolder5 K 4
BytesReceived C 99999999 SKEY=SUM
PlaceHolder6 K 4 DLM=’/"’
PlaceHolder7 K 4 DLM=’""’
PlaceHolder8 K 4
PlaceHolder9 K 4
PlaceHolder10 K 4
BytesSent C 99999999 SKEY=SUM
PlaceHolder11 K 4
*
Special attribute delimiters are needed for interpretation of input data, even though
the data contents are of no consequence. The attribute group outputs the following
attributes:
ClientLocation
The location information, such as address or node name
Example 5
The following example expands the previous metafile definition by specifying
attributes for RequestsPerSecond, TotalBytesTransfer, BytesTransferPerSecond, and
BytesTransferPerRequest for each client location:
//NAME DataTransferByLocation e
//INTERNAL INPUT InternetLog
//SUMMARY 3600
//ATTRIBUTES
ClientLocation D 256 SKEY=1
PlaceHolder1 K 4
PlaceHolder2 K 4
Date_Time DL 20
PlaceHolder3 K 4
PlaceHolder4 K 4 DLM=’ ’
PlaceHolder5 K 4
BytesReceived C 99999999 SKEY=SUM
PlaceHolder6 K 4 DLM=’/"’
PlaceHolder7 K 4 DLM=’""’
PlaceHolder8 K 4
PlaceHolder9 K 4
PlaceHolder10 K 4
BytesSent C 99999999 SKEY=SUM
PlaceHolder11 K 4
*
RequestsPerSecond (_Occurrences / _Interval_Unit)
*
TotalBytesTransfer (BytesReceived + BytesSent)
*
BytesTransferPerSec (TotalBytesTransfer / _Interval_Unit)
*
BytesTransferPerReq (TotalBytesTransfer / _Occurrences)
Syntax
//ATTRIBUTES [<‘delimiter-string’>] [DLM=] [DLMSTR=] [DLMSTRBGN=] [DLMSTREND=]
Parameters
<’delimiter-string’>
Identifies optional delimiter characters that separate attribute data in input.
v You must enclose delimiter characters in single quotation marks. For
example,
//ATTRIBUTES ‘;’
Note: Do not use NONE as an attribute delimiter when using the File
Data Provider metafile to monitor a file that contains numeric
attributes defined as Counter or Gauge. The number of digits
required to represent the numeric value in the monitored file do
not necessarily match the 2 or 4 byte representation of the number
that the File Data Provider must store, so the attribute values can
end up displaying incorrectly in the Tivoli Enterprise Portal
workspace.
DLM (optional) As an alternative to the <‘delimiter-string’> format, you can also
use this keyword-based form of delimiter specification. Like the
<‘delimiter-string’> format, it supports single delimiter characters as well as
double delimiter specifications in which the two characters signify
beginning and ending delimiters. For example, you would use the
following format if you are monitoring a non-English file and want to
specify the delimiter character using the DLM= format:
//ATTRIBUTES DLM=’†’
Any delimiter character, string, or beginning and ending string that is specified at
the //ATTRIBUTES level is in effect for every individual attribute defined under
that //ATTRIBUTES statement. However, if your input data is not completely
consistent in its use of delimiters, there is provision in the IBM Tivoli Universal
Agent metafile syntax to override the delimiter value at the individual attribute
level. This feature is called attribute-specific-delimiters. See Appendix B, “Attribute
definitions,” on page 151 for additional information.
Metafile example 1
This example illustrates an APIS Data Provider application named UXstat,
comprised of one attribute group, UXsysSta. UXsysSta contains 22 attributes, using
polled data with a TTL of 150 seconds. No SOURCE statement is required in this
data definition because the data is sent using APIs.
//APPL UXstat @help text
//NAME UXsysSta p 150 @help text
//ATTRIBUTES
SystemName D 16 @help text
OSversion D 16 @help text
PendingIOwaitRate C 100000 @help text
IOstartRate C 100000 @help text
IOcompleteRate C 100000 @help text
AvgWaitThreadQueueSize C 4096 @help text
AvgRunThreadQueueSize C 4096 @help text
AvgNumbActivePageFrames C 100000 @help text
AvgNumbFreePageFrames C 100000 @help text
PageInRate C 65000 @help text
PageOutRate C 65000 @help text
DevInterruptRate C 65000 @help text
SystemCallRate C 65000 @help text
ThreadContentSwitchRate C 65000 @help text
AvgUserCPUPercent C 100 @help text
AvgSystemCPUPercent C 100 @help text
AvgIdleCPUPercent C 100 @help text
AvgWaitCPUPercent C 100 @help text
UDPpktInRate C 100000000 @help text
UDPpktOutRate C 100000000 @help text
TCPpktInRate C 100000000 @help text
TCPpktOutRate C 100000000 @help text
Metafile example 2
This second metafile example illustrates the definition of data extracted from a log
file for an application named SysEvent. It consists of a single attribute group
named ConLog, which uses Event data collected in TAIL mode.
//APPL SysEvent @help text
//NAME ConLog E @help text
//SOURCE FILE e:\system\event.log TAIL
//ATTRIBUTES
MessageID D 12
MessageNumb C 999999
MessageType D 1
ProcessNumb C 9999
TimeMonth D 3
TimeDay C 31 T
TimeYear C 9999
TimeHour C 24
TimeMinute C 60
TimeSecond C 60
MessageText D 100
Defining attributes
Description
Attribute definitions specify the name of the attribute, its type, and its maximum
size. The order of the definitions must match the sequence of the data fields in the
data record.
Syntax
<attribute-name> <attribute-type> <maximum-size> [KEY] [ATOMIC]
[CAPTION{<text>}] [SCALE{<nn>}] [PRECISION{<nn>}] [DLM=] [DLMSTR=]
[DLMSTRBGN=] [DLMSTREND=] [<attribute-specific-delimiter>]
[<aggregate-behavior>] [@<help text>]
Parameters
The <attribute-name>, <attribute-type>, <maximum-size>, KEY, and ATOMIC
parameters are positional. If specified, they must appear in the sequence shown
above. The remaining parameters use a keyword=<value> format and they can
appear in any order after the positional parameters. The <help-text> parameter is
the exception to this rule.
The delimiter in effect at the attribute group level is a single space. This
generally works to separate each attribute value in this log record, except
for the Transaction attribute value which is enclosed by double quotation
marks. You can correctly parse the Transaction value in the sample log
record (as GET/ITM05.html) by redefining the Transaction attribute with
the following attribute specific begin and end delimiter:
The types and syntax of the attribute-specific delimiter parameters that you
define at the individual attribute level are the same parameters that you
can specify on the //ATTRIBUTES statement: DLM, DLMSTR, and
DLMSTRBGN combined with DLMSTREND.
Duplication of attributes
Within an attribute group, as defined by a NAME statement, duplicate attributes
are not allowed. The following procedures handle duplicate attributes.
Attributes of same name and type. Subsequent attributes are deleted and the
validation message KUMPV15W identifies the deleted attribute. Attribute size
helps determine whether attributes are duplicates. If two attributes have the same
name and same type, but differ in size, the IBM Tivoli Universal Agent keeps the
attribute with the larger size. For example, in the following attribute definitions:
InventorySum C10000
.
.
.
InventorySum C 9999
Attributes of same name but different type. A sequence number is appended to the
duplicate attributes and the warning message KUMPV16W indicates that the
attribute name has changed. For example, the following attribute definitions:
InventorySum D 12
.
.
.
InventorySum C 10000
is modified to:
InventorySum D 12
.
.
.
InventorySum2 C 10000
Note: Unique attribute definitions can become duplicate attributes if the name is
truncated.
Invisible attributes
-attribute-name attribute-type maximum-size
You can use an attribute as an intermediary to derive other attributes. You must
define the attribute in a metafile because it is part of the input application data, or
perhaps serves as a placeholder. Removing this attribute from the output, however,
reduces attribute group complexity and simplifies its use.
results in a data value of ABCDEFGH. The same attribute defined using the left
truncation specification DL
attribute-name DL maximum-size
Enumeration support
For numeric type attributes, you can specify enumeration strings that make
reading the data values much easier. The specification
enumString(numeric_value)
can include as many numeric values as you want within the ENUM{ } block. A
blank space after the ″{″ and another before the ″}″ are required. The enumeration
must come before the ″@″ for the help text.
For example,
ifOperStatus C 999999 ENUM{ up(1) down(2) } @The interface status
If non-English enumeration strings are defined in a metafile, you must save the
metafile in UTF-8 encoding.
Deriving attributes
You can define attributes which are derived from other attributes using the
following specification:
attribute_name (attribute_1 operator attribute_2)
Both of the attributes in the formula must be numeric and either input or derived.
For example,
//APPL NewType
//NAME NewTable K 3600
//SOURCE FILE c:\test.log
//ATTRIBUTES ‘;’
Item_Name D 24 KEY
Width C 1000000
Depth C 1000000
Difference (Width - Depth)
Sum (Width + Depth)
Area (Width * Depth)
Factors (Width / Depth)
Percent (Width % Depth)
Height C 1000000
Volume (Area * Height)
Derived numeric attributes can use hard-coded numeric values. For example,
BytesSent C 999999
KilobytesSent (BytesSent/ 1024)
You can also create a derived numeric attribute from two hard-coded numeric
values.
The REAL keyword specifies that the attribute output value displays as a floating
point number with up to three decimal point precision.
Note: An attribute which uses the REAL keyword is defined to the Tivoli
Enterprise Portal as a character string and not an integer. Therefore, the
attribute is not eligible for charts or graphs.
The derived attribute feature dictates that input attributes must be numeric
attributes. The exception to this rule is character string concatenation. Both input
attributes are character type attributes joined by the plus (+) operator.
For example, if an attribute group contains the attribute Date and the attribute
Time, you can combine them into one attribute Date_Time for use. If the Date
attribute has the value “Sep 15, 2005 ” and the Time attribute contains “10:31:21”
then the resulting Date_Time attribute is
“Sep 15, 2005 10:31:21”.
Concatenated attribute strings can use literal string values. For example,
SystemName D 32
FullSystemName (SystemName + "_Prod")
You can also create a derived string attribute from two literal strings.
Derived attribute functions are IBM Tivoli Universal Agent defined functions that
operate on input attribute values. The results as derived attribute values. This
function modifies or reformats a given attribute so that its value becomes more
intuitive for display. It can also be used to reformat an unconventional format into
a standard form to improve comparisons or data correlation.
Filtering attributes
To control the amount of data you see from workspaces, you can specify criteria
for data to be included or excluded. This feature is known as “filtering” attributes.
Filtering attributes can enhance performance of your solution by reducing the
amount of data the IBM Tivoli Universal Agent processes.
Syntax
attribute-name attribute-type maximum-size +FILTER=
{filter1 OR|AND filter2 OR|AND filter3}
attribute-name attribute-type maximum-size -FILTER=
{filter1 OR|AND filter2 OR|AND filter3...}
Description
You can define a maximum of ten filters for an attribute. Attribute filters must be
logically connected entirely by OR operators or by AND operators, but not by a
combination of OR and AND operators. The first two examples
attribute-name attribute-type maximum-size +FILTER={filter1 OR filter2 OR filter3}
attribute-name attribute-type maximum-size +FILTER={filter1 AND filter2 AND filter3}
Every attribute in an attribute group can have its own filter definition. The Accept
Filter (+FILTER) specifies that the application data is accepted for input. The Reject
Filter (-FILTER) specifies that the application data is excluded. Accept filter
specifications and reject filter specifications must be enclosed by braces { }. An
accept filter and a reject filter on the same attribute is not supported.
You must capitalize the -FILTER, +FILTER, SCAN, MATCH, NUMBER, and the
logical operators OR and AND.
The filter-function consists of character string functions and number functions. The
character string functions are used for filter definition against character types of
attribute data, such as DisplayType or RecordType. The number functions work
with numeric attribute data, such as CounterType. If non-English text is specified
for any character-string filter functions, you must save the metafile in UTF-8
encoding.
Note: For the File Data Provider in COPY monitoring mode, the first record in a
file that is being monitored starts a block of records. Therefore, it always is
displayed in the report, whether or not it should have been eliminated by
the filter. For a complete description of file-mode, see“SOURCE statement” on
page 126.
Example 1
The IBM Tivoli Universal Agent File Data Provider monitors a file for customer
sign-on activities. The attribute filter performs early filtering by accepting file
records containing the character string Processing Signon or FIRST TIME SIGNON
only.
Example 2
The IBM Tivoli Universal Agent monitors application transactions. The application
program outputs a dash character whenever a customer provides a transaction
request that is not valid. The attribute filter rejects all input data with transaction
attribute “-“ to remove application records that are not valid.
//NAME Transaction_Stat e
//ATTRIBUTES ’,’
CustomerName D 256
CustomerAddress D 32
Date D 12
Time D 12
TransactionName D 256 -FILTER={MATCH(0,-)}
TransactionParameters D 256
Example 3
The IBM Tivoli Universal Agent monitors an internet server log for internet server
request status codes greater than 400®.
//NAME Status_Stat e
//SOURCE FILE ’c:\program files\WebServer\server.log’
//ATTRIBUTES
ClientLocation D 256
ClientUserName D 32
Authorized_User K 32
Date_Time DL 20
Time_Zone K 5
Request D 256
ServiceStatus C 99999999 +FILTER={NUMBER>=(0,400)}
BytesReceived C 99999999
Referral D 256
Browser D 256
Syntax
attribute-name attribute-type maximum-size SEQ=n
Description
When you define an attribute sequence, attribute definitions match the application
data as delivered to the IBM Tivoli Universal Agent. The IBM Tivoli Universal
Agent can also present a consistent attribute sequence to the CT components.
The following example represents a metafile definition for an Apache server log
and an MS IIS log. They are displayed as the same application eLog when you use
an attribute sequence definition.
//APPL eLog
//NAME ServerLog e
//SOURCE FILE d:\Apache\logs\Apache.log
//ATTRIBUTES
*-------------------------------------------*
* Apache Server Log Record Format Layout *
*-------------------------------------------*
ClientLocation D 256 SEQ=1
ClientUserName D 32 SEQ=2
Authorized_User K 32
Date_Time DL 20 SEQ=3
Time_Zone K 5
Request D 256 SEQ=9
ServiceStatus C 99999999 SEQ=8
BytesReceived C 99999999 SEQ=6
Referral D 256 SEQ=12 DLM=’/"’
Browser D 256 SEQ=13 DLM=’""’
Service D 32 SEQ=4
ServerName D 256 SEQ=5
RequestParameters D 256 SEQ=10
BytesSend C 99999999 SEQ=7
RequestElapsedTime C 99999999 SEQ=11
*
//APPL eLog
//NAME ServerLog e
//SOURCE FILE c:\Inetpub\logs\IIS.log
//ATTRIBUTES ’,’
*-------------------------------------------*
* Microsoft IIS W3C Log Record Format Layout*
*-------------------------------------------*
ClientLocation D 256 SEQ=1
ClientUserName D 32 SEQ=2
Date_Time D 20 SEQ=3
Service D 32 SEQ=4
ComputerName K 64
ServerName D 256 SEQ=5
RequestElapsedTime C 99999999 SEQ=11
BytesReceived C 99999999 SEQ=6
BytesSend C 99999999 SEQ=7
ServiceStatus C 99999999 SEQ=8
WindowsStatus K 99999999
OperationName K 8
Request D 256 SEQ=9
RequestParameters D 256 SEQ=10
PadParm2 K 8
PadParm3 K 8
PadParm4 K 8
PadParm5 K 8
Referral D 256 SEQ=12
Browser D 256 SEQ=13
An attribute that does not include a sequence definition appears after attributes
with sequence specifications in the order as defined in the metafile. In the example
above, the attribute MessageAction appears after attribute MessageOrigin and is
followed by the attribute MessageStatus.
SNMP attributes
This appendix presents information about the attributes defined in the IBM Tivoli
Universal Agent applications supported by the SNMP Data Provider. It discusses
how MIB variables are mapped to IBM Tivoli Monitoring attributes, how attribute
groups are named, and how attribute characteristics are determined. It also
provides descriptions of the attributes in the seven attribute groups associated with
the SNMP-MANAGER application.
For example, the name of the attribute group that corresponds to the
SNMP-MANAGER TRAP workspace is:
SNMP-MANAGERTRAP00
The attributes in these groups are discussed in detail in the following sections.
Address
The IP address of the managed node.
Example:
*SCAN SNMP-MANAGERMANAGED-NODES00.Address *EQ 127.0.0.0
Current_Response_Time_ms
The round trip response time for ping requests sent from the SNMP Data Provider
to the node.
Example:
*SCAN SNMP-MANAGERMANAGED-NODES00.Current_Response_Time_ms *GE 500
Name
The resolvable node name
Valid entries:
v Ttext string
v Up to 128 characters
Example:
*SCAN SNMP-MANAGERMANAGED-NODES00.Name *EQ Everest
Node_Description
The description of the node characteristics as defined by a network administrator
or device manufacturer.
Valid entries:
v Text string
v Up to 256 characters
Example:
*SCAN SNMP-MANAGERMANAGED-NODES00.Node_Description *EQ hub
Node_Status
The current operational status of the node.
Valid entries:
v On-line
v Off-line
Example:
*SCAN SNMP-MANAGERMANAGED-NODES00.Node_Status *EQ Off-line
Example:
*VALUE MANAGED-NODES00.Node_Type *EQ Gateways,Hosts,IP Node
Status_TimeStamp
The date and time the status of the node was last checked
Example:
2005/04/30 14:23:55 010
Enterprise_Module
The data collection MIB enterprise name.
Valid entries:
v Text string
v Up to 64 characters.
No_Data_Tables
A list of Enterprise tables for which the agent returns no data.
Valid entries:
v Text string
v Up to 216 characters.
Node_Name
Node name of the monitored system.
Valid entries:
v Text string
v Up to 32 characters.
Attribute_Group
The name of the attribute group for which data is being collected
Valid entries:
v Text string
v Up to 32 characters
Example:
*SCAN SNMP-MANAGERMIBSTATUS00.Attribute_Group *EQ MIB-2EGP00
Enterprise
The enterprise name of the MIB on which the monitored application is based
Valid entries:
v text string
v up to 64 characters
Monitor_Agent_Info
A string of host name–community name pairs for the hosts currently being
monitored
Valid entries:
v enclosed in braces
v separated by commas
Example:
{athens public},{sparta public}
Monitor_Interval
The currently active monitor interval
Valid entries:
v seconds
Last_Sample_TimeStamp
The data and time at which the data was last sampled
Example:
2005/04/30 14:23:55 010
Active_Nodes
The total number of network nodes that are currently active
Valid entries:
v integer
Curr_RespTime_ms
The current response time, in milliseconds, for data packets from the SNMP Data
Provider to nodes located in this network
Valid entries:
v integer
Inactive_Nodes
Total number of network nodes that are inactive, including available unoccupied
network addresses on this network
Valid entries:
v integer
Managed
Indicates whether a particular network is being managed
Valid entries:
v Yes
v No
Max_RespTime_ms
The maximum observed response time, in milliseconds, for data packets from the
SNMP Manager to nodes located in this network
Valid entries:
v integer
Min_RespTime_ms
The minimum observed response time, in milliseconds, for data packets from the
SNMP Data Provider to nodes located in this network
Valid entries:
v integer
Network_Address
The TCP/IP network subnet 32-bit Internet address
Valid entries:
v dotted decimal format
Example:
127.0.0.0
Valid entries:
v dotted decimal format
Example:
127.0.0.0
Network_Routers
A list of routers serving this network
Valid entries:
v up to 256 characters
v separated by commas
Example:
smbb7k-s23,wlbbags-s3,198.210.36.1
Address
The Internet network address of a node within a managed network
Valid entries:
v dotted decimal address
Description
The description of the node characteristics as defined by a network administrator
or device manufacturer. This attribute value corresponds to the RFC 1213 System
Group sysDescr MIB variable specification.
Valid entries:
v up to 256 characters
Location
The node location information as defined by a network administrator. This
attribute value corresponds to the RFC 1213 System Group sysLocation MIB
variable specification.
Valid entries:
v up to 128 characters
Name
The name assigned to this node
Valid entries:
v up to 128 characters
SNMP_Enabled
Indicates whether an SNMP MIB-2 agent is active on the network node
Valid entries:
v Yes
v No
Status
The current operational status of the network node
Type
The network type, as defined by the Internet standard RFC 1213 System group
sysServices MIB variable specification
Example:
Applications,Hosts,Gateways,Bridges
Destination_Networks
A list of the network addresses serviced by a router
Valid entries:
v dotted decimal addresses
v comma delimited
Example:
127.0.0.0, 127.0.0.1
Route_Count
The total number of routable subnetworks defined to this router
Valid entries:
v integers
Router_Address
The Internet network address of the router
Valid entries:
v dotted decimal format
Example:
127.0.0.0
Router_Description
A description of the router characteristics, as defined by the device manufacturer.
This attribute value corresponds to the RFC 1213 System Group sysDescr MIB
variable specification.
Valid entries:
v up to 256 characters
Router_Name
The name assigned to this router
Valid entries:
v up to 64 characters
Router_Status
The current router status
Alert_Name
The alert name associated with an SNMP trap as defined in the trap configuration
file
Valid entries:
v up to 32 characters
Category
The category of the event that caused the trap as defined in the trap configuration
file
Description
The trap description as defined in the trap configuration file
Valid entries:
v up to 256 characters
Enterprise_Name
The abbreviated texual form of the enterprise object ID as defined in the trap
configuration file
Valid entries:
v up to 64 characters
Usage: You must specify the name exactly as it is displayed in the trap
configuration file. The name is case-sensitive. In the situation definition, enclose
values in quotation marks (““).
Generic_Trap
The generic trap number
Example:
*SCAN SNMP-MANAGERTRAP00.Generic_Trap *EQ 2
Object ID
The identifier that uniquely identifies the trap in the MIB
Valid entries:
v text string
v up to 512 characters
Severity
The severity of the trap as defined in the trap configuration file
Valid entries:
v text string
v up to 32 characters
Source_Name
The host name or IP address of the SNMP agent that sent the trap
Valid entries:
v text string
v up to 64 characters
Source_Status
Identifies a status with a source as defined in the trap configuration file
Valid entries:
v text string
v up to 32 characters
Source_Type
Further specifies a source category of SNMP trap as defined in the trap
configuration file
Valid entries:
v text string
v up to 32 characters
Specific_Trap
The enterprise-specific trap number. Applies only when Generic_Trap = 6.
Valid entries:
v integer
Value_List
A string with all the data from a trap variable binding list
where:
oid defines the MIB variable object identifier
type is the ASN.1 type
value is the variable value
If a metafile has been imported which contains names for the variables in the
received trap, use the variable names instead of the raw OIDs:
{variableName=value}
Example:
*SCAN SNMP-MANAGERTRAP00.Value_List *EQ datagram=error
In addition, you have the option of issuing console commands from the Tivoli
Enterprise Portal. To issue commands from the Tivoli Enterprise Portal, right-click
an IBM Tivoli Universal Agent managed system and select the Take Action...
option. For more information about TakeAction commands, see the Tivoli Enterprise
Portal Administrator’s Guide or the online Help for IBM Tivoli Universal Agent.
The console commands are summarized in Table 27 on page 183 and discussed in
greater length in the following sections. Commands that are available through
TakeAction are tagged with an asterisk (*).
You can also call the kumpcon program from inside a script, which is useful for
automating frequently performed tasks. For the KUMPCON program to run, it
must be able to find its shared libraries. On Windows operating systems, the
shared libraries reside in the same directory as the KUMPCON program so it has
no trouble locating them. You can obtain a list of valid console commands by
entering:
KUMPCON ?
You can enter a command in abbreviated form. For example, you can enter the
DELETE command as either DELETE or D and the SHOW command as SHOW or
SHO. Both uppercase or lowercase characters are allowed. The program converts
all input command characters to uppercase for validation.
Call um_console without specifying a console command. After the script invokes
the KUMPCON program, you are prompted for a command:
Enter console command <Application name or Metafile name or file name>
Some console commands accept the IBM Tivoli Universal Agent application name
as an input parameter instead of the metafile name. In those cases, the name of the
application is case-sensitive and must exactly match the name of the application as
specified in the APPL statement in the metafile.
If you have created subdirectories in the working directory, you can refer to a
metafile or an application using a relative path:
kumpcon import .\SNMP\standard\RFC1213_mib-2.mdl
Multi-interface systems
If you run kumpcon on a host with multiple interfaces and you have configured
the IBM Tivoli Universal Agent to use a particular interface through environment
variable kum_dch_hostname, you need to set environment variable
kump_api_dpapi_host to the same value if you are sending commands to the ASFS
or APIS Data Provider.
Syntax
KUMPCON DELETE [application-name | metafile-name]
Parameters
You can specify either the name of the IBM Tivoli Universal Agent application or
the name of the metafile.
<application-name>
Specifies the IBM Tivoli Universal Agent application. The name of the IBM
Tivoli Universal Agent application is specified in the APPL statement in the
data definition metafile.
<metafile-name>
Specifies the metafile name.
Usage
Use the following example prior to invoking the kumpcon delete command to
avoid a delete confirmation prompt:
KUMP_DPCONSOLE_NOCONFIRM=Y
When the delete command is issued from an automated script is an example for
when you would want to use this option.
The GENERATE command does not support metafile creation for stored
procedures. You can start this command even when the IBM Tivoli Universal
Agent is not running. GENERATE is only accessible on Windows operating
systems and only through the kumpcon console interface. It is not available
through Take Action.
Syntax
KUMPCON GENERATE dataSourceName user=userid pswd=password
Parameters
<dataSourceName>
Indicates the specific name of the configured data source that is used to
create the ODBC metafile. This parameter is required. If the data source
contains any embedded blanks, it must be surrounded with single
quotation marks.
<userid>
The userid what connect to the ODBC data source. If no user/password
combination is required for this particular data source, then you can omit
the user= parameter from the GENERATE command.
<password>
The password associated with the userid connecting to the ODBC data
source. If specified, the user and pswd values are inserted into every
//SOURCE statement in the generated ODBC metafile.
Examples
The following examples illustrate ways of invoking GENERATE:
KUMPCON GENERATE nwind
This command generates a metafile in the metafiles directory called cnps.mdl that
contains every table and column in the cnps data source. The ″user=″ and ″pswd=″
parameters are required to connect to that data source.
After the console input is accepted, you can indicate whether to include user
tables, system tables, and/or views through the menu options and prompts
depicted in the following figure.
By entering a menu options other than ″4) All of the above″, you can build a more
focused and targeted metafile. You can also pattern match on a beginning string in
the table name, for example, all system tables starting with ″sys″. An important
benefit of generating specific tables, instead of all tables, for an ODBC data source
is that it can sometimes significantly reduce the time it takes for metafile
generation to complete.
Certain database products, such as SQL Server and Sybase, allow you to connect to
one of several databases associated with a particular data source. If you are
generating a metafile for one of these database products, you are prompted to
enter a specific database to use. Each database context can have a different set of
user tables associated with it. If you want to generate a metafile for a non-default
database context, reply Y to the prompt, enter the name of the database and,
optionally, the name of a specific server associated with that database. If the
default database context is adequate, then you can skip this prompt.
GENERATE uses the data source name to determine the output metafile name. If a
metafile by that name already exists in the \TMAITM6\metafiles directory, you are
prompted as to whether you want to replace it.
Usage
The resulting generated metafile provides a good first step towards creating a
useful ODBC metafile, but most likely will require some changes. After
KUMPCON GENERATE completes, review the following areas in the metafile for
possible modification:
v The first three characters of the //APPL name need to be changed to make them
unique. No other IBM Tivoli Universal Agent applications with those same first
three characters should connect to the same Tivoli Enterprise Monitoring Server.
v A default maximum of 64 tables is allowed in a metafile. Full generation of an
ODBC data source can result in hundreds or even thousands of //NAME
statements. If so, you need to divide the metafile.
After making changes to the generated metafile, run VALIDATE against it to make
sure there are no errors or warning messages to correct.
Syntax
KUMPCON IMPORT metafile-name
Parameters
<metafile-name>
Specifies an existing metafile name that is accessible to the data provider.
Syntax
KUMPCON LIST
Parameters
This command requires no input parameters. Any specified parameter is ignored.
Output
The output of the LIST command can look like the following:
No application defined
or
Active application definitions:
vmstat.mdl
TCPioQ.mdl
CustInq.mdl
Syntax
KUMPCON LOADCOMM
Parameters
This command requires no input parameters. Any specified parameter is ignored.
Syntax
KUMPCON LOADLIST managed_node_list_name
Parameters
<managed_node_list_name>
The name of the file in which the hot list is defined.
Syntax
KUMPCON LOADNAME
Parameters
This command requires no input parameters. Any specified parameter is ignored.
Syntax
KUMPCON MNL Add Node LIST=managed_node_list_name NODE=node_name
Parameters
<managed_node_list_name>
The name of an existing SNMP Managed Node List file.
<node_name>
The resource name to be added to the list.
Syntax
KUMPCON MNL Remove Node LIST=managed_node_list_name NODE=node_name
Parameters
<managed_node_list_name>
The name of an existing SNMP Managed Node List file.
<node_name>
The resource name to be removed from the list.
Syntax
KUMPCON REFRESH metafile-name
Parameters
<metafile-name>
Specifies an existing metafile name that is accessible to the data provider.
Usage
Use the following example prior to invoking the kumpcon refresh command to
avoid a refresh confirmation prompt:
KUMP_DPCONSOLE_NOCONFIRM=Y
When the refresh command is issued from an automated script is an example for
when you would want to use this option.
You need to issue SET every time you want to issue a KUMPCON command to a
remote host.
Syntax
KUMPCON SET hostname
Parameters
<hostname>
Specifies the host name of the system to which you want to direct the
command.
Syntax
KUMPCON SHOW [application-name | metafile-name]
Parameters
You can specify either the name of the IBM Tivoli Universal Agent application or
the name of the metafile.
<application-name>
Specifies the IBM Tivoli Universal Agent application. The name of the IBM
Tivoli Universal Agent application is specified in the APPL statement in the
data definition metafile.
<metafile-name>
Specifies the metafile name.
Messages
The SHOW command output can look like the following:
Metafile name entered not defined
or
Console input accepted.
MetaFile: vmstat.mdl
Application: UXstatus
Group: UXsysSta Poll Data TTL=15
SOURCE: API -
SystemName Display Type Max Size 16
OSversion Display Type Max Size 16
PendingIOwaitRate Counter Type
IOstartRate Counter Type
OcompleteRate Counter Type
AvgWaitThreadQueueSi Counter Type
AvgRunThreadQueueSiz Counter Type
AvgNumbActivePageFra Counter Type
AvgNumbFreePageFrame Counter Type
PageInRate Counter Type
PageOutRate Counter Type
DevInterruptRate Counter Type
SystemCallRate Counter Type
ThreadContentSwitchR Counter Type
AvgUserCPU% Counter Type
AvgSystemCPU% Counter Type
AvgIdleCPU% Counter Type
AvgWaitCPU% Counter Type
UDPpktInRate Counter Type
UDPpktOutRate Counter Type
TCPpktInRate Counter Type
TCPpktOutRate Counter Type
Syntax
KUMPCON SHUTDOWN [IMMED]
Parameters
IMMED or I
(optional) Initiates immediate shutdown of one or all data providers
without further prompts or confirmation.
Syntax
KUMPCON TRAPCNFG
Parameters
This command requires no input parameters. Any specified parameter is ignored.
The unpack command unpacks the input SNMP metafile and outputs the identical
uncompressed version of the metafile in the same input metafile location. You can
start unpack even when the IBM Tivoli Universal Agent is not active.
Syntax
KUMPCON U metafile-name
Parameters
<metafile-name>
The name of the metafile you want to unpack.
Syntax
KUMPCON VALIDATE metafile-name
Parameters
<metafile-name>
The name of the metafile you want to validate.
You can modify the trapcnfg file to suit your site-specific needs by adding new
trap or enterprise definitions or changing the existing ones. You can also use your
own configuration file.
Types of records
trapcnfg contains three types of records or record blocks:
comments
Comment records begin with a pound sign (#).
enterprise definitions
Enterprise definitions consist of two blank-delimited tokens, where the first
token is a name and the second is an object identifier (OID) surrounded by
curly brackets ({ }).
The first type is self-explanatory. Figure 13 on page 205 shows examples of the
second and third types.
The first example in Figure 13 shows an enterprise definition record which defines
enterprise OID 1.3.6.1.4.1.311.1.1.3.1.1 as being MS-Windows NT.
The second example shows a trap definition record that defines trapName
MSNTCOLD as being associated with enterprise OID 1.3.6.1.4.1.311.1.1.3.1.1,
generic trap number 0, and specific trap number 0. Notice that the severity is in
decimal form whereas the category is in textual form. Severities are translated into
their textual form before being displayed in MIB reports. The next record in the
type 3 record block is the short description, which the IBM Tivoli Universal Agent
does not use. The IBM Tivoli Universal Agent uses the long description enclosed
within the delimiters SDESC and EDESC.
source ID
severity
status
SDESC
A coldStart trap signifies that the sending protocol entity is reinitializing itself in
such a way that the agent’s configuration or the protocol entity implementation
may be altered.
EDESC
Supported categories
Table 28 shows the categories supported by the IBM Tivoli Universal Agent.
Table 28. Categories supported by the SNMP Data Provider
Category Textual representation
0 Threshold Events
1 Network Topology Events
2 Error Events
3 Status Events
4 Node Configuration Events
5 Application Alert Events
6 All Category Events
7 Log Only Events
8 Map Events
9 Ignore Events
Table 29 lists the severities supported by the IBM Tivoli Universal Agent.
Table 29. Severities supported by the SNMP Data Provider
Severity Textual representation
0 Clear
1 Indeterminate
2 Warning
3 Minor Error
4 Critical
5 Major Error
Supported statuses
Table 30 shows the statuses defined in the IBM Tivoli Universal Agent
configuration file.
Table 30. Statuses supported by the SNMP Data Provider
Status Textual representation
0 Unchanged
1 Unknown
2 Up
3 Marginal
4 Down
5 Unmanaged
6 Acknowledge
7 User1
Any changes you make to trapcnfg are not picked up until you:
v restart the SNMP Data Provider, or
v issue the console command KUMPCON TRAPCNFG command to reload the file
Table 32 contains the name and location of the environment variables file on each
of the supported operating systems.
Table 32. Name and location of variables file by operating system
Operating system Location Name
UNIX <install_dir>/config/ um.ini
Windows IBM\ITM\TMAITM6\ KUMENV
Note: You must edit the um.ini file, not the um.config file or your updates will be
lost the next time the IBM Tivoli Universal Agent is started. The agent
startup scripts perform environment variable substitutions and copy the
contents of the um.ini file to the um.config file. Every time you start the
IBM Tivoli Universal Agent on UNIX operating systems, the um.config file
is completely rebuilt from the um.ini file.
The following table presents the variables for the IBM Tivoli Universal Agent and
each of its data providers.
Table 33. IBM Tivoli Universal Agent environment variables
Environment variable Description Default Example
KUM_WORK_PATH Sets the default working Directory home/
directory for the IBM where IBM MyWork
Tivoli Universal Agent. Tivoli
Universal
Agent stores
configuration
files and
working files.
KUM_UMC Controls the sending of Yes No
SNMP trap and network
information to the
Universal Message
Console.
IBM Tivoli Universal Agent
Migration process
Use the following steps to migrate from a previous version:
1. Backup all of your critical Universal Agent files. For example, metafiles and
configuration files that you have customized. Such files include KUMPCNFG,
KUMPURLS, TRAPCNFG and KUMSMIBI. Back up files where yo have set
special environment variables.For example, the KUMENV or um.ini/um.config
files.
2. Uninstall your previous version of the Universal Agent. This removes all of the
previous version binaries and registry entries.
3. Install the IBM Tivoli Universal Agent, V6.1.
Note: If you are upgrading from Universal Agent, Version 350, you must run
the following command after you install the IBM Tivoli Universal Agent,
V6.1:
<install_dir>/bin/itmcmd config -A um
4. Restore any metafiles that you want to reuse.
5. Restore any customized configuration files that you want to reuse.
6. Review KUMENV and um.ini/um.config files to determine whether or not you
want to update the KUMA_STARTUP_DP list or if you have any special
environment variable settings to restore from your backup copy.
Note: On UNIX operating systems, configure the IBM Tivoli Universal Agent,
V6.1 and specify the data providers you want to start.
7. Start the IBM Tivoli Universal Agent.
8. Verify that all of your IBM Tivoli Universal Agent monitoring applications
come online.
Note: The IBM Tivoli Universal Agent product-provided situations have not
changed since Universal Agent, Version 4.1.0. Therefore, it is normal to see
messages such as seed data already exists or rc = 80 when adding Tivoli
Enterprise Monitoring Server application support for the IBM Tivoli
The IBM Tivoli Universal Agent does support running data providers as separate
processes, but you must set some additional environment variables and create
scripts or commands for running the data provider executables.
Startup programs
You can start data providers as separate processes by invoking the programs
shown in Table 34. These standalone data provider programs are distributed with
the IBM Tivoli Universal Agent product. The names of the programs can vary
slightly between operating systems. For example, the programs on Windows
operating systems have an .exe extension.
Table 34. Starting data providers
To start Invoke
API Server Data Provider KUMPAPIS
API, Socket, File, and Script KUMPASFS
File Data Provider KUMPFILE
HTTP Data Provider KUMPHTTP
ODBC Data Provider KUMPODBC
Post Data Provider KUMPPOST
Script Data Provider KUMPSCRP
Socket Data Provider KUMPSOCK
SNMP Data Provider KUMPSNMP
Execution environment
You must have the following execution environment in place when you start data
providers as separate processes:
v The following three IBM Tivoli Universal Agent, DLLs for Windows operating
systems and shared libraries on UNIX operating systems, must either be in the
same directory as the data provider program or accessible through the library
search path:
Note: If you are running the HTTP Data Provider in standalone mode, you do
not need the \metafiles subdirectory because there are no metafiles with
the HTTP Data Provider.
The following example connects a standalone data provider to the IBM Tivoli
Universal Agent running on a machine named FIN1:
KUMP_DCH_HOST=FIN1
The following is a list of additional environment variables that you can use to set a
standalone data provider:
v The following example assumes an IP connection to the IBM Tivoli Universal
Agent:
You must set additional environment variables if your data provider is connecting
to an alternative instance of the IBM Tivoli Universal Agent, or to a primary
instance that has overridden the DCH port value. If you are not using the default
data provider listening port (port 1919) of the IBM Tivoli Universal Agent the data
provider fails to connect and the data provider managed systems do not come
online.
Note: The first alternate instance of the IBM Tivoli Universal Agent uses a DCH
port number of 49219, while you can use the KUMA_DCH_PORT environment
variable to override the default 1919 value for a primary instance. If you
need to connect your data provider to a DCH port number other than 1919,
you must also set KUMA_DCH_PORT to the appropriate port number in your list
of environment variables.
Because you must set environment variables before launching the data provider
executable file, as a convenience, create a script or .bat file that sets the
environment variables and then calls the data provider program. You can use the
following example of a Windows .bat file to start the File Data Provider executable,
kumpfile:
set KDC_FAMILIES=use:n ip use:y
set KBB_SIG1=dumpoff -asyncoff
set KUMP_DCH_HOST=UAHOST1
set KUMP_META_PATH=c:\standalone\metafiles
set KBB_RAS1=ERROR ^>filedp.log
exit
You can create an equivalent shell script for UNIX operating systems.
Note: The IBM Tivoli Universal Agent you are connecting to does not need to be
running the same data provider type that you are starting. For example, if
you are running a standalone File Data Provider to monitor a file on a
remote system, you do not need to also start the ASFS or File Data Provider
on the target IBM Tivoli Universal Agent.
Starting sequence
You can start standalone data providers either before or after you start the IBM
Tivoli Universal Agent. If the data provider attempts to connect to a IBM Tivoli
Universal Agent that has not yet started, the data provider waits and continues to
retry until a successful connection is made. If the IBM Tivoli Universal Agent is
recycled, the data provider detects the condition and synchronizes its operation
with the IBM Tivoli Universal Agent. However, the data collected by the data
provider during the connectivity outage is lost.
Termination delays
The data provider synchronizes its internal operations and initiates orderly
termination of all execution threads. Therefore, it is normal to observe a slight
delay in final process termination after issuing the SHUTDOWN command.
To search multiple Internet resources for your product, use the Web search topic in
your information center. In the navigation frame, click Troubleshooting and
support Searching knowledge bases and select Web search. From this topic, you
can search a variety of resources, including the following:
v IBM technotes
v IBM downloads
v IBM Redbooks
v IBM developerWorks
v Forums and newsgroups
v Google
Obtaining fixes
A product fix might be available to resolve your problem. To determine what fixes
are available for your IBM software product, follow these steps:
1. Go to the IBM Software Support Web site at
http://www.ibm.com/software/support.
2. Click Downloads and drivers in the Support topics section.
3. Select the Software category.
4. Select a product in the Sub-category list.
5. In the Find downloads and drivers by product section, select one software
category from the Category list.
For more information about the types of fixes that are available, see the IBM
Software Support Handbook at
http://techsupport.services.ibm.com/guides/handbook.html.
If you experience problems with the My support feature, you can obtain help in
one of the following ways:
Online
Send an e-mail message to erchelp@ca.ibm.com, describing your problem.
By phone
Call 1-800-IBM-4You (1-800-426-4968).
If you are not sure what type of software maintenance contract you need, call
1-800-IBMSERV (1-800-426-7378) in the United States. From other countries, go to
the contacts page of the IBM Software Support Handbook on the Web at
http://techsupport.services.ibm.com/guides/contacts.html and click the name of
your geographic region for phone numbers of people who provide support for
your location.
Submitting problems
You can submit your problem to IBM Software Support in one of two ways:
Online
Click Submit and track problems on the IBM Software Support site
athttp://www.ibm.com/software/support/probsub.html. Type your
information into the appropriate problem submission form.
By phone
For the phone number to call in your country, go to the contacts page of
the IBM Software Support Handbook at
http://techsupport.services.ibm.com/guides/contacts.html and click the
name of your geographic region.
If the problem you submit is for a software defect or for missing or inaccurate
documentation, IBM Software Support creates an Authorized Program Analysis
Report (APAR). The APAR describes the problem in detail. Whenever possible,
IBM Software Support provides a workaround that you can implement until the
APAR is resolved and a fix is delivered. IBM publishes resolved APARs on the
Software Support Web site daily, so that other users who experience the same
problem can benefit from the same resolution.
IBM can have patents or pending patent applications covering subject matter
described in this document. The furnishing of this document does not give you
any license to these patents. You can send license inquiries, in writing, to:
For license inquiries regarding double-byte (DBCS) information, contact the IBM
Intellectual Property Department in your country or send inquiries, in writing, to:
The following paragraph does not apply to the United Kingdom or any other
country where such provisions are inconsistent with local law:
Any references in this information to non-IBM Web sites are provided for
convenience only and do not in any manner serve as an endorsement of those Web
sites. The materials at those Web sites are not part of the materials for this IBM
product and use of those Web sites is at your own risk.
Licensees of this program who wish to have information about it for the purpose
of enabling: (i) the exchange of information between independently created
programs and other programs (including this one) and (ii) the mutual use of the
information which has been exchanged, should contact:
IBM Corporation
2Z4A/101
11400 Burnet Road
Austin, TX 78758 U.S.A.
The licensed program described in this document and all licensed material
available for it are provided by IBM under terms of the IBM Customer Agreement,
IBM International Program License Agreement or any equivalent agreement
between us.
This information contains examples of data and reports used in daily business
operations. To illustrate them as completely as possible, the examples include the
names of individuals, companies, brands, and products. All of these names are
fictitious and any similarity to the names and addresses used by an actual business
enterprise is entirely coincidental.
COPYRIGHT LICENSE:
If you are viewing this information in softcopy form, the photographs and color
illustrations might not Web.
Trademarks
IBM, the IBM logo, CT, developerWorks, DB2, IBMLink, iSeries, Lotus, OS/390,
Passport Advantage, pSeries, Rational, Redbooks, Tivoli, and the Tivoli logo, Tivoli
Enterprise Console, VSE/ESA, WebSphere, z/OS, and zSeries are trademarks or
registered trademarks of International Business Machines Corporation in the
United States, other countries, or both.
Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the
United States, other countries, or both.
Intel, Intel logo, Intel Inside, Intel Inside logo, Intel Centrino, Intel Centrino logo,
Celeron, Intel Xeon, Intel SpeedStep, Itanium, and Pentium are trademarks or
registered trademarks of Intel Corporation or its subsidiaries in the United States
and other countries.
UNIX is a registered trademark of The Open Group in the United States and other
countries.
Other company, product, and service names may be trademarks or service marks
of others.
G
D GENERATE command 53
data acknowledgment 97 GENERATE console command 185
data collection 72 generating metafiles 53
starting 70
stopping 71
data definitions
See </ph>metafiles
H
help
data providers 33, 53
creating 17
API Server 37, 39
viewing 102
ASFS 11
help text, defining 157
connecting to IBM Tivoli Universal Agent 224
hot console
execution environment for 223
See </ph>Universal Message Console
File 40, 44
hot lists
HTTP 45, 48
See </ph>managed node lists
ODBC 50, 53
HTTP Data Provider 45, 48
Post 54, 58
monitoring a URL 45
running multiple instances 33
URL attributes 47
Script 59
SNMP 64
Socket 88
starting as separate processes 223, 226 I
starting sequence 225 IBM Tivoli Monitoring data types 167
startup programs 223 IBM Tivoli Universal Agent API client package 37
types 33 IBM Tivoli Universal Agent APIs, invoking 37
data redirection IBM Tivoli Universal Agent applications
INPUT statement 123 creating 15
OUTPUT statement 123 definition 15
overview 135 monitoring 99, 108
data types 167 IBM Tivoli Universal Agent applications
DELETE console command 184 See </ph> metafiles
deleting managed systems 26 IBM Tivoli Universal Agent managed systems 99, 101
DEPRECATED 156 IMPORT console command 188
derived attributes 160 importing metafiles 30
Index 239
network discovery (continued)
stopping 78, 79
S
NETWORK report 75, 76 sampling interval 83
network resources scalar variables 29
adding and removing 82 scenario 4
automatic grouping 81 Script Data Provider 59
NEW 136 managed system names 61
non-standard ports SET command 86, 87
data collection 71 SET console command 196
NONE 147 SET operations 86, 87
notification of disconnection 96 procedure 87
requirements 86
SHOW console command 197
SHUTDOWN console command 198
O Situation editor 106
ODBC Data Provider 50, 53 situations 83, 84, 105, 107
data collection 51 creating 83
generating metafiles definition 105
automatically 53 distributing 83, 106
sample metafile 50, 52 predefined 105
starting 50 selecting attributes 106
online publications setting monitoring interval 107
accessing xii specifying monitoring intervals for 83
OPTION{HISTORICALTIMESTAMP} 156 using 106
OPTION{PRIMARYKEY=<n>} 156 SMIv1 data types 167
ordering publications xi, xiii SNMP applications
outages 96 initiating data collection for 69
OUTPUT statement 123 monitoring 69, 83
SNMP-MANAGER 67
version numbers 28
P SNMP Data Provider 64
policy, automation 6 starting automatically 68
Post Data Provider 54, 58 SNMP emitter 113
acknowledgment stamp 55 environment variables 110
configuring runtime specifications 56, 57 establishing parameters 111
customizing 55 installing 110
default configuration 54, 55 integrating 110
environment variables 56 overview 109
message categories 55 using data 113
product-provided data 57 SNMP statement 116
sending data to 58 SNMP-MANAGER application 67
problem determination SNMP-MANAGER attribute groups 168
describing problems 232 SNMP-MANAGER reports 72, 78
determining business impact 231 accessing 73
submitting problems 232 MANAGED-NODES 73
product-provided situations 84 MIBSTATUS 74
descriptions of 84 NETSUMMARY 74
publications NETWORK 75, 76
accessing online xii overview 72
feedback on xi ROUTER 76
online xi TRAP 77
ordering xi, xiii Socket Data Provider 88
address translation 89
associating sources with metafiles 89
changing default port 89
R character code translation 94, 95
REAL 160 contacting 88
RECORDSET statement 135, 138 end of input 94
REFRESH console command 195 formatting buffers 93
reports 72, 78 limitations 97
SNMP-MANAGER 72, 78 name and address translation 89
resetting version numbers 26 on multiple host machines 89
ROUTER attribute group 177, 178 overview 88
ROUTER report 76 timing out 93
Software Support
contacting 230
describing problems 232
determining business impact 231
U
U 93
UAGENT workspaces 103
UDP 88, 94, 97
Index 241
242 IBM Tivoli Universal Agent: User’s Guide
Printed in USA
SC32-9459-00