RCAConnectord

The Oracle Communications Unified Assurance Event Root-Cause Analysis (RCA) Connector is primarily concerned with relationships. It monitors the event stream while leveraging an existing network hierarchy defined in the graph database to determine where an issue started and suppress downstream device alerts.

For example, assume a router is connected to two switches, which then have servers connected to the switches. If the router goes down, alerts will be generated for all of the devices in the network that are unreachable, but the connector will suppress the downstream device events while keeping the router event the same.

You can run this application as a service using the Services UI.

Root-Cause Analysis (RCA) Connector

  1. The connector requires that a hierarchy of relationships for devices be defined in the graph database. Refer to the Graph Database and Topology documentation for an example on how to define a device relationship model.

  2. Enable the default Service, unless a specific configuration option is needed.

    Configuration -> Broker Control -> Services

Default Service

The following table shows the settings for the default service. Actual values are in bold, descriptions of values are in plaintext.

Field Value
Package coreProcessing-app
Name Event Root Cause Analysis (RCA)
Program bin/core/processing/RCAConnectord
Arguments This field is blank. There is no default value.
Description Root Cause Analysis (RCA), custom processing and analysis of event data
Failover Type Standalone (Supported: Standalone, Primary, Redundant/Backup)
Status Disabled
Privileged This option is selected.

See Services in Unified Assurance User's Guide for general information about the settings for services.

See Using Application Primary/Backup Failover for more information about the different failover types.

Default Configuration

The following table shows the default configurations for the application. Actual values are in bold, descriptions of values are in plaintext.

Name Default Value Possible Values Notes
BaseRules processing/event/rca/base.rules Text, 255 characters The relative path to the application Base Rules file.
BranchDir core/default Text, 255 characters The relative path to the rules directory.
IncludeRules processing/event/rca/base.includes Text, 255 characters The relative path to the application Include Rules file.
LoadRules processing/event/rca/base.load Text, 255 characters The relative path to the application Load Rules file.
LogFile logs/EventRCAConnector.log Text, 255 characters The relative path to the log file.
LogLevel ERROR OFF, FATAL, ERROR, WARN, INFO, DEBUG The logging level for the application.
PollTime 60 An integer Interval in seconds in which the connector polls for possible events to be processed.
SelectSQLFile processing/event/rca/events.sql Text, 255 characters The relative path to the SQL file containing the database query.
ShardID 1 An integer Events Database shard to use. 0 to read from all shards
EdgeTypeID This field is blank. There is no default value. An integer (Optional) Combobox of available Edge Types. Directed graph link type to use when determining parent devices. Requires Topology Perspective Stitcher job (using the Topology Database Stitcher application) to have been run. Should be either HasPrimaryPerspective or HasSecondaryPerspective.

Rules

This connector uses the Unified Assurance standard rules architecture in Perl syntax. For information about creating rules, see the following in Unified Assurance Developer's Guide:

Tokens

The connector exposes the following tokens for rules processing.

Token Description
$EventRow Resulting data from query. Use $EventRow->{'FieldName'} to access the FieldName data. Each row contains the reserved data field ShardID which is the ShardID it was read from.
$EventDBHandles Database handle hash containing open connections for all configured shards keyed by shardID. ShardID is available from the event e.g. $EventDBHandles->{ $EventRow->{ShardID} } to get the database connection for the event's shard. Passed into rules functions to update the event, etc.
$AppConfig Hash reference to the application configuration name-value pairs that were configured. (i.e. use $AppConfig->{'Host'} to retrieve the set value for 'Host'.)
$CustomHash Custom key, value cache available across all rules. Contents commonly defined in Load Rules then used in Base or other rules. NOTE: This variable is a shared object and any additional sub hashes or arrays must be shared before use or it will cause the error: Invalid value for shared scalar. Instantiate the sub hash/array using '&share({})' e.g. $CustomHash->{SubObject} = &share({});
$StorageHash Internal cache used as the StorageHash option when calling rules functions such as FindDeviceID(). NOTE: The structure of this cache is subject to change! Not recommended for custom global storage or manual manipulation; use $CustomHash.
$RulesDBH Unified Assurance Database Handle. Used by rules function to lookup information, create and update records, etc.

Administration Details

The following list shows the technical details you will need for advanced administration of the application: