RCA Availability Engine

Overview

The Unified Assurance RCA Availability Engine microservice is part of the microservice polling pipeline. It consumes availability messages from the SNMP and ping pollers, correlates them to devices and instances, and, after analysis, generates events to be sent to the FCOM Processor for ingestion into the database.

Prerequisites

Before installing the RCA Availability Engine microservice, perform the following prerequisite tasks:

  1. Set up a microservices cluster as described in "Microservice Cluster Setup".

  2. Install the Apache Pulsar microservice as described in "Pulsar".

  3. Install the Event Sink microservice as described in "Event Sink", with a modification to the default value of the DATABASE_ONDUPKEY configuration parameter. Oracle recommends setting this parameter at installation using an override file to ensure that any special string characters used for DATABASE_ONDUPKEY are saved properly.

    Create and use the override file as follows:

    1. Before installing the Event Sink microservice, create an override.yaml file to define DATABASE_ONDUPKEY, adding RootCauseKey = VALUES(RootCauseKey) to the default value as follows:

      configData:
        DATABASE_ONDUPKEY: Count = IF(VALUES(Count) > 1, Count + VALUES(Count), Count + 1), Duration = VALUES(LastReported) - FirstReported, EventCategory = VALUES(EventCategory), LastChanged = VALUES(LastChanged), LastReported = VALUES(LastReported), Severity = VALUES(Severity), Summary = VALUES(Summary), RootCauseKey = VALUES(RootCauseKey)
      
      You can optionally use this file to change any of the other default configuration settings for the Event Sink microservice.

    2. When installing the Event Sink microservice, use the -f override.yaml flag on the command:

      a1helm install event-sink assure1/event-sink -n $NAMESPACE --set global.imageRegistry=$WEBFQDN -f override.yaml
      
  4. Enable the CorrelateRCAEventsByKey CAPE Policy:

    1. Log in to the Unified Assurance user interface.

    2. From the Configuration menu, select Events, then CAPE, then Policies.

    3. Select the CorrelateRCAEventsByKey row.

    4. Set the State field to Enabled.

Setup

Use the following commands for a standard deployment, defining the NAMESPACE, WEBFQDN, and ZONE environment variables as appropriate for your environment:

su - assure1
export NAMESPACE=a1-zone1-pri
export WEBFQDN=<Primary Presentation Web FQDN> 
export ZONE=<ZONEID>
a1helm install rca-availability-engine assure1/rca-availability-engine -n $NAMESPACE --set global.imageRegistry=$WEBFQDN --set-string configData.ZONE=$ZONE

Default Configuration

The following table describes the default configuration variables used by the RCA Availability Engine microservice.

Name Value Possible Values Notes
LOG_LEVEL INFO FATAL, ERROR, WARN, INFO, DEBUG The logging level used by the application.
SMOOTHING_INTERVAL 70 Integer How many seconds to wait between running root cause analysis to generate device down alarms.
AVAILABILITY_HISTORY 5 Integer How much availability history for a device and instance to store.
STREAM_SYNC_INPUT none:/// Text, 255 characters The stream to synchronize events from. Only mysql:///Events is supported. Setting this synchronizes events from the event database into the RCA event cache at startup.
TOPO_RESYNC_INTERVAL 1800 Integer How many seconds to wait between synchronizing the Graph database topology into the cache.

You can change the default configurations in the command line by using the following command:

a1helm install ... --set configData.<CONFIG_PROPERTY_NAME>=<new_value>

In the example, <CONFIG_PROPERTY_NAME> is the property you want to change and <new_value> is the new value. See the examples below.

You can also use the Microservices Helmcharts user interface.

Examples of Changing the Default Configurations

The following examples show you how to change the default configurations using the command line.

To synchronize events from the Event database to the RCA cache at startup:

a1helm install ... --set configData.STREAM_SYNC_INPUT="mysql:///Events"

To set the log level to DEBUG:

a1helm install ... --set configData.LOG_LEVEL=DEBUG