Discovery Rules Engine Overview

When Universal Discovery discovers data, the Discovery Rules Engine processes the given set of input CI and relationship data, and returns a set of output attribute values. The Discovery Rules engine enriches the discovered CI and relationship data with new data deduced from the discovered attributes.

For example:

  • Input: A Node contains the string Cisco and the string Version 12.3a,
  • Output : The operating system for the Node is recognized as Cisco IOS Version 12.3(3a).

The Data Flow Probe then activates the Rules Engine to fill in additional information on the discovered data.

All discovery jobs use the discovery rules engine. Out-of-the-box rules are applied to data that can be completed by the discovery jobs (sys_object_id, mac_address, and so on). Moreover, you can add user-defined rules to the Discovery Rules Engine.

Note Discovered attributes should not be updated manually. If someone modifies an attribute manually (which was already populated by UD), that value will not be restored the next time the CI is re-discovered if the actual attribute did not change physically.

Limitations

  • The Discovery Rules Engine completes only empty fields, it does not overwrite existing values.

  • Rules are run according to a random order. User-defined discovery rules have no priority over out-of-the-box discovery rules. If the input suits more than one rule, the output is returned from the rule that ran first. It is important to ensure that rules are accurate (existing and new rules). If rules are accurate there is no need for prioritization. However, if a CI’s property values match two rules that have a single input attribute of the same type (equals, oid-starts-with, regex), then the rule that has more information (for example, a longer OID) will be preferred.

  • There are no dependencies between rules. A field that was completed using the Discovery Rules Engine cannot be used as input for another rule.

Related Topics Link IconRelated Information