The GLA Connector processes log files and transforms them to Common Base Event (CBE) objects, which are then fed into the AssemblyLine.
It uses Generic Log Adapter (GLA) technology, part of IBM's Autonomic Computing Toolkit, to process log files and transform their contents into Common Base Event format. The Autonomic Computing Toolkit website contains (in addition to general information and documentation) a variety of downloadable software, including the Eclipse plug-in to edit GLA configuration files.
An adapter configuration file, prepared externally using the Adapter Configuration Editor Eclipse plug-in is used in conjunction with the GLA Connector. It provides the tooling to create the specific parser rules that are used by the GLA Connector at runtime to create Common Base Event objects, that is, the configuration file contains information about the log file which will be processed. From this file all the CBE objects will be later created. The logic for parsing the objects is also implemented in the adapter configuration file. In the Eclipse GLA plug-in there are several examples of such configuration files, made to process some well known application log files. We can also create our own configuration files using the Eclipse's user interface.
In both cases, either using an already created configuration file
or creating a new configuration file, we should note that a specially
made outputter called TDIOutputter needs to be configured.
This should be done because when the CBE objects are created, the
TDIOutputter sends these CBE objects to the GLA Connector (which can
then send them into the AssemblyLine using the ordinary mapping mechanism
).
It is not possible to use more than one TDIOutputter. If two or
more TDIOutputters are configured in the adapter configuration file
an Exception will be thrown when the GLA Connector tries to get the
correlation ID from the TDIOutputter. When there is more than one
TDIOutputter configured, the GLA Connector which uses the configuration
file does not know which of the multiple TDIOutputters to use--
it is not possible to get the CBE Objects from the correct TDIOutputter.
However, it is possible to define more than one outputter as long
as it is not a TDIOutputter. For example, you could combine the TDIOutputter
with a FileOutputter. This will cause all CBE objects to be sent (and
saved) both to a file and to the GLA Connector.
To configure the GLA Connector have a valid adapter configuration
file. The path to the file must be set in the Connector Config
File Path parameter. The configuration file is being checked
for validity and if this is not a valid adapter configuration file
an Exception will be thrown.
In order to configure the adapter file to use the TDIOutputter
we use Eclipse's GLA user interface (the Eclipse GLA plug-in). Below
a description of how to configure the outputter using the Eclipse
user interface:
To configure the GLA Connector have a valid adapter configuration
file. The path to the file must be set in the Connector Config
File Path parameter.
When the GLA Connector starts, a GLA instance is started in a separate
thread inside the Connector. Starting the adapter in a separate thread
makes it possible to start iterating through the entries before GLA
has completed processing the entire log file. When the Connector receives
CBE objects it stores them into a queue, which orders the elements
in FIFO (first-in-first-out) manner. When there are no elements in
the queue and the Connector wants to take an element from it, it will
not return null value but will wait until an element is available
(that is, it blocks). On the other side of the queue when it is full
and an element needs to be added to it, it will block until there
is available space in the queue.
Conditions like end-of-data, GLA adapter errors etc.
are handled by special messages in the queue, enabling the Connector
to work in the manner expected of a TDI Connector.
When iterating, CBE objects are read one by one from the queue, and delivered to the GLA Connector. The CBE object itself is stored
into an Attribute called "rawCBEObject" of the work Entry. The CBE
attributes are also set in the work Entry.
In order to be able to handle the situation when more than one
Connector instance is running simultaneously a mechanism to send the
correct CBE objects to the correct GLA Connector is required. This
is achieved by using a unique correlation ID parameter in the TDIOutputter
configuration. Before a GLA Connector starts the adapter configuration
file it gets the correlation ID from the TDIOutputter configuration
(the Connector actually parses the adapter configuration file). Then
it registers it in an internal TDIOutputter table. When the TDIOutputter
is ready to send the generated CBE object it gets its correlation
ID and takes the GLA Connector which is registered with this ID in
the table.
The unprocessed, raw CBE object read from the TDIoutputter queue
object is available in the following attribute, ready to be mapped
into the work entry:
The remaining attributes follow the specification as outlined
in the output map schema definition in the documentation for the CBE Parser.
The example demonstrating the processing of a DB2 log file, in
the TDI_install_dir/examples/glaconnector directory,
Using more than one outputter in the configuration file
Configuration
Configuring the TDIOutputter
Using the Connector
Schema
Table 11.
Attribute Name
Description
$rawCBE
This attribute holds a single CBE object which
is a result of the processed application log file. The number of the
CBE objects depends on the configuration of the parser in the adapter
configuration file.
See also