Routing rules instruct the application monitor to send messages
from an acquisition program to a pipeline or from a pipeline to a database
or external system. Routing rules can only be configured for pipelines that
have been registered with the application monitor, but the results can be
routed to any destination using the proper transport Universal Resource Indicator
(URI) syntax.
Routing rules have many uses, including these common uses:
- Balancing the data load from an acquisition programs (such as the UMF
database utility) to multiple pipelines for data processing.
- Directing the results of pipeline processing (such as alerts) to an external
system or a reports database for additional investigation or reporting purposes
UMF documents and routing rules
Routing rules are
configured to route messages using one or more UMF document types. Your choice
depends upon the information that results from the pipeline or system node
that you want to route from. For example, a UMF_ALERT is a UMF document type
representing alerts generated from processing identity and entity records
through a pipeline. You could route any alerts generated from a specific pipeline
to an external system, such as to a user interface used by analysts investigating
alerts produced by the system.
You can configure a routing rule to
route all UMF document types or a specific UMF document type, including any
custom UMF document types configured for your system.
Filters
You can filter the information that is routed
to the destination by specifying a filter expression when you configure a
routing rule. Filters specify that only particular information is routed to
the destination.
You construct a routing filter using the
MODDIST(UMF_tag_name) expression,
where
- MODDIST
- is the expression indicating a modulus distribution.
- (UMF_tag_name)
- identifies the UMF tag that indicates to the system how to distribute
the records. Using the identified UMF tag, the system sums up the ASCII values
of all the characters in that tag to determine the number of routes necessary
to balance the data processing load.
If you wanted to route all records from data source code "datasource5" to
a separate reports database, you could configure a routing rule using the
filter expression MODDIST(datasource5) , where datasource5 is
the data source code.
Routing process
When a pipeline or acquisition program
has a configured routing rule, the following explains how the application
monitor completes the routing process:
- When the pipeline or acquisition program starts, it sends a request to
the application monitor using a UMF message.
- The application monitor receives the request and looks for all active
routing rules that pertain to the requesting pipeline or acquisition program.
- If the application monitor locates an active routing rule for the requesting
pipeline or acquisition program, it builds a UMF document containing the routing
instructions and sends that UMF document back to the requesting pipeline or
acquisition program.
- The requesting pipeline or acquisition program interprets the UMF document
message and creates a routing file with an *.RTE file extension (where * is
the requesting pipeline or acquisition program name). If the pipeline or acquisition
program cannot communicate with the application monitor upon startup, it looks
for the routing file for instructions.
- The requesting pipeline or acquisition program opens the transports necessary
to communicate with the destination configured in the routing rule.
- If the pipeline or acquisition program can successfully open the transport
and locate the destination, it routes the appropriate UMF document messages
to the destination as long as it is started and actively processing data.
- If the pipeline or acquisition program cannot open the transport or if
the destination cannot be located, the pipeline or acquisition program stops
with an error.