DeviceAutoDiscovery

Overview

The Unified Assurance Core Device Auto Discovery application uses the defined Inclusion Profiles 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".

Device Auto Discovery Setup

  1. Add an Inclusion Profiles or modify existing Inclusion Profiles):

    Configuration -> Device Discovery -> Inclusion Profiles

  2. Optional - Add an Exclusion Profile(s) or modify existing Exclusion 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

Field Value
Package Name coreCollection-app
Job Name Device Auto Discovery
Job Program bin/core/collection/DeviceAutoDiscovery
Job Arguments
Job Description Runs Auto Discovery Profiles for Device Catalog
Failover Type Standalone (Supported: Standalone, Primary/Backup)
Status Disabled
Privileged (Checked)
Minutes 59
Hours 23
Days *
Months *
WeekDays 5

Default Configuration

Name Value Possible Values Notes
BaseRules collection/discovery/auto/base.rules Text, 255 characters Relative path to Base Rules.
BranchDir core/default Text, 255 characters Relative path to Rules dir.
DeviceGroupID Root Integer Default Device Group to default devices to if none were set in rules.
DeviceZoneID Default First Zone Integer Discovered devices are inserted to the given zone.
IncludeRules collection/discovery/auto/base.includes Text, 255 characters Relative path to Include Rules.
LoadRules collection/discovery/auto/base.load Text, 255 characters Relative path to Load Rules.
LogFile logs/DeviceAutoDiscovery.log Text, 255 characters Relative path to Log File.
LogLevel ERROR OFF, FATAL, ERROR, WARN, INFO, DEBUG Logging level used by application.
ShardID 1 Integer Default ShardID to assign newly discovered devices.
SocketTimeout 5 Integer The time out when doing ping attempts at device discovery.
Threads 3 Integer The number of process threads created.
TimeOut 5 Integer When doing CDP discovery, this value is the time out for the CDP connection attempt at discovering a device.
Force Enabled/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 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. The rules are written in Perl syntax. Refer to the following guides for details on rules creation:

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: