Configure Dependency in Resources
Before you configure dependency for a dependent (child) resource, you must complete configuring the dependency (parent) resources. See Add Resources for Root Cause Analysis for more information.
When you configure dependency for a child (dependent) resource, you configure terms that have the logical conditions to check for dependency. Starting with Paragon Insights Release 4.3, you can swap the order of dependency terms in the Dependency page. Paragon Insights executes the terms based on the sequence in which the terms appear in the GUI. The first term is evaluated first, followed by the second, the third, and so on.
To configure a resource dependency:
- Select Configuration > Resources.
The Resources page appears.
- Select a resource from Resources table and click edit
(pencil icon).
The Edit Resource page appears.
- Click Next until you view the Dependency page.
- Enter the details as described in Table 1.
- Click Save.
The Dependency page appears.
- Click Next.
You can a see visual representation of the resource and dependency configuration that you added.
- (Optional) Click View Tree to view a collapsed view of the resource and the dependency configurations.
- (Optional) Click View JSON to preview the JSON format of the configuration.
- Click Save & Exit.
The Save Resource Configuration dialog appears.
- Do one of the following:
Click Save and Deploy.
Paragon Insights saves and deploys the configuration to form dependency between the resources and generate smart alarms.
Click Save.
Paragon Insights saves the configuration to form dependency but does not generate smart alarms.
You can see the new resource and its dependency mapped in the Resources page.
Table 1: Fields in Dependency Configuration Field
Description
Dependent-resource-name depends on
Enter configuration details of dependency (parent) resource to establish dependency with dependent (child) resource.
Resource Name
Select the dependency resource that impacts your dependent (child) resource.
Add Variables
Variables in this section are used to extract parts of the child resource’s property. Such variables are used to check dependency using conditional statements.
Variables configured here can be used to check dependency in all terms.
Name
Enter name for the variable. The name can follow the regex pattern: [a-zA-Z][a-zA-Z0-9_-]* and can have up to 64 characters.
For example, interface-name-split.
Expression
Enter a regular expression to extract parts of a property value.
See regex package for more information.
For example, if you use the regular expression “.*(\d+)/(\d+)/\d+” on interface-name property of interface resource, you can extract line card number and PIC number.
The example regex forms two capture groups to extract line card number and PIC number. The first capture group, which is line card number, can be referred as interface-name-split-1 and second capture group, which is PIC number, can be referred as interface-name-split-2.
Resource label
Select the name of the dependent (child) resource.
Field
Select a property in the child resource on which regex expression should be applied.
Case sensitive
Enable this field.
If you enable this field, Paragon Insights ignores the case of resource properties when processing conditions.
Add Terms (Terms > Add Item)
Terms contain the logic to check for a dependency relation between resources.
Term Name
Enter a term name that follows the [a-zA-Z][a-zA-Z0-9_-]* pattern.
Depends on Multiple Instances
Enable this field if your dependency logic involves checking if a child resource property is dependent on multiple instances of a parent resource property.
For example, you configured Aggregated Ethernet (link aggregation group) as a dependent (child) resource to interface resource. As AE depends on multiple links (interface resource), you must enable Depends on Multiple Instances knob.
Dependency Type
Select the type of dependency.
Local Device and Network dependency is the default option.
If you select Other Device dependency, configure details in For Every Device section.
If you select Other Network dependency, configure details in For Every Network Group section.
See Understand Resources and Dependencies for more information.
Evaluate Next Term
This field is disabled by default.
Enable this field if your dependency logic involves checking condition in other terms.
(Optional) Add Variable
Enter the following details of a child resource property:
Name
Regular Expression
Resource Name
Resource Property Field
You can configure a variable for a child resource property. Variable you configure here can only be used in conditional statements within the term.
For Every Device
Selects a device from a list of devices in device groups.
Label As
Enter a name for the dependency (parent) resource instance that is selected. The name must follow the [a-zA-Z][a-zA-Z0-9_-]* pattern.
Across all device groups
Enable this field if you want Paragon Insights to check devices in all device groups for dependency.
In device groups
Enter the names of device groups. The child resource property will be checked against devices in the specified device groups for dependency.
For Every Network Group
Instructs Paragon Insights to perform the dependency logic in all or select network groups.
Label As
Enter a name for the dependency (parent) resource instance that is selected. The name must follow the [a-zA-Z][a-zA-Z0-9_-]* pattern.
Across all network groups
Enable this field if you want Paragon Insights to check all network groups for dependency.
In network groups
Enter the names of network groups. The child resource property will be checked against instances of network resource property in the specified network groups.
Locate Resource
The locate resource iterates through all instances of a given resource.
Resource Name
Select a resource.
If the resource type is Local Device & Network, the resource in the list is of the format topic-name/resource-name.
If the resource type is Other Device or Other Network, then the resource in the list is of the format for every device/network label-as:topic-name/resource-name.
Label As
Enter a label name.
Paragon Insights stores each instance of the selected resource in the label. For example, instances such as interface instances or OSPF sessions.
(Optional) Add Variable
Enter the following details of a resource property of the selected resource:
Name
Regular Expression
Resource Name
Resource Property Field
You can configure a variable for a property of the selected resource. Variable you configure here can only be used in conditional statements within the term.
Conditions
Conditions in Locate Resource are used to identify if the selected resource is correct one or not. If the condition does not match for a particular instance it picks the next instance and checks the condition. This continues until we get an instance where conditions matches, or all the instances of the resources are exhausted.
To check dependency, select a resource property in left-hand side (LHS), a remote resource property in RHS and the operator to check for a condition.
Paragon Insights supports matches-with as a condition. You can also add functions in the LHS field of the conditional statement.