DeviceAutoDiscovery

The Oracle Communications Unified Assurance Core Device Auto Discovery application uses the defined inclusion and exclusion profiles to find and record new devices on the network. After a device has been discovered and added to the database, the device information is sent to rules for additional custom processing that may be needed. All initially discovered devices appear in the Devices UI with a Status of Verified.

You can run this application as a scheduled job using the Jobs UI.

Device Auto Discovery Setup

  1. Add inclusion profiles or modify existing inclusion profiles:

    Configuration -> Device Discovery -> Inclusion Profiles

  2. (Optional) Add inclusion profiles or modify existing inclusion profiles:

    Configuration -> Device Discovery -> Exclusion Profiles

  3. Enable the default job, unless a specific configuration option is needed.

    Configuration -> Broker Control -> Jobs

Default Scheduled Job

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

Field Value
Package coreCollection-app
Name Device Auto Discovery
Program bin/core/collection/DeviceAutoDiscovery
Arguments This field is blank. There is no default value.
Description Runs Auto Discovery Profiles for Device Catalog
Failover Type Standalone (Supported: Standalone, Primary, Redundant/Backup)
Status Disabled
Privileged This option is selected.
Minutes 59
Hours 23
Days *
Months *
WeekDays 5

See Jobs in Unified Assurance User's Guide for general information about the settings for jobs.

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 collection/discovery/auto/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.
DeviceGroupID Root The name of any available device group. Default Device Group to default devices to if none were set in rules.
DeviceZoneID Default First Zone All Zones or the name of any available device zone. Discovered devices are inserted to the given zone.
IncludeRules collection/discovery/auto/base.includes Text, 255 characters The relative path to the application Include Rules file.
LoadRules collection/discovery/auto/base.load Text, 255 characters The relative path to the application Load Rules file.
LogFile logs/DeviceAutoDiscovery.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.
ShardID 1 An integer Default ShardID to assign newly discovered devices.
SocketTimeout 5 An integer The time out when doing ping attempts at device discovery.
Threads 3 An integer The number of process threads created.
TimeOut 5 An integer When doing CDP discovery, this value is the time out for the CDP connection attempt at discovering a device.
Force This field is blank. There is no default value. Enabled or Disabled (Optional) When enabled, if a device is discovered with a different IP address but a duplicate DNS name with a device already in Unified Assurance, a new device is created.
MaxBatchSize This field is blank. There is no default value. An integer (Optional) The maximum size of each batch handled per thread. Defaults to 64.

Best Practices

Rules

This application 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 application exposes the following tokens for rules processing.

Token Description
$DeviceID Device's internal DeviceID.
$DNS DNS Resolved Name of Device.
$IPv4 IPv4 Address of Device.
$IPv6 IPv6 Address of the Device.
$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({});

Administration Details

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