ON THIS PAGE
Frequency Profiles and Offset Time
Frequency Profiles
Frequency profiles are a central location in which sensor and rule time frequencies can be managed. To understand frequency profiles, consider the following.
When defining rules in Paragon Insights (formerly HealthBot) you can:
Define multiple rules that use the same sensor
Define different sensor frequencies for each of the rules
Apply all of these rules to the same device group/devices
This creates complexity in rule application and frequency adjustments within the individual rules:
A key, consisting of sensor-path for OpenConfig and Native GPB sensors, or the tuple of file and table for iAgent sensors is used to identify the specific rules.
Paragon Insights takes the minimum defined frequency for that sensor from the applied rules and uses it to subscribe to, or fetch, data from the devices.
This make it hard to identify what the data rate should be for that sensor. To do that, you would have to go through the all the applied rules.
A change in the sensor frequency of an applied rule might not take effect as intended.
To address these complexities, Paragon Insights needed a common place from which to control these frequencies.
Starting in HealthBot Release 3.0.0, frequency profiles can be created that allow you to manage sensor and rule frequencies from a single location and then apply the profiles in various locations in Paragon Insights. Application of these profiles allows for persistent and repeatable behavior in regard to frequencies for rules, sensors, triggers, formulas, references, learning periods, and hold times.
A sensor profile consists of a profile name and two optional sections: the sensors section and the non-sensors section. In each section, an entry consists of a sensor or rule name and a frequency. Frequency profiles are applied to device groups or network groups.
The steps for configuration are shown below.
- Configuration Using Paragon Insights GUI
- Configuration Using Paragon Insights CLI
- Apply a Frequency Profile Using the Paragon Insights GUI
- Apply a Frequency Profile Using the Paragon Insights CLI
Configuration Using Paragon Insights GUI
Frequency profiles are configured and managed in the Paragon Insights GUI or in the Paragon Insights CLI. In the GUI, they are managed by navigating to the Settings > Ingest Settings page and selecting the Frequency Profile tab from the left side of the page.
While the sections of the frequency profile are both optional, at least one section must be filled out per frequency profile if you want the applied profile to be able to do anything.
Add a Frequency Profile
Click the add (+) icon to add a profile.
The Add Frequency Profile window appears.
Give the profile a name such as
Profile1
Click the add (+) icon to add sensors.
In the Sensor Name field, enter the sensor name as per the following guidelines:
OpenConfig Sensors: Enter the OpenConfig path for the desired sensor, such as
/components
or/interfaces
.iAgent Sensors: Enter the table name used in the sensor definition, such as
ChassisAlarmTable
orREutilizationTable
SNMP: Enter the sensor name such as
npr_qmon_ext
BYOI: Enter <topic-name/rule-name/sensor-name>, such as
topic1
/rule1
/sensor1
In the Frequency field, enter the appropriate frequency, such as
30seconds
,1minute
,2hours
, and so on.(Optional) Click the add (+) icon to add non-sensors.
In the Rule Name field, enter the rule name such as
check-chassis-alarms
.In the Frequency field, enter the appropriate frequency, such as
45seconds
,3minutes
,1hour
, and so on.Repeat steps 3 through 5 or 6 through 8 as desired for the profile.
Click the SAVE & DEPLOY button to save and deploy the profile.
The new sensor profile is added to the list.
Edit a Frequency Profile
To edit an existing frequency profile:
Click the Frequency Profile tab to view the Frequency Profile page.
Select the < Profile Name> that you want to modify.
Click the edit (pencil) icon to edit the profile.
The Edit Frequency Profile page appears, displaying the same fields that are presented when you add a frequency profile.
Modify the parameters.
Click the SAVE button to save the profile for later deployment or the SAVE & DEPLOY button to save and deploy immediately.
Delete a Frequency Profile
To delete a frequency profile:
Click Settings > Ingest from the left-nav bar.
The Ingest Settings page is displayed.
Click the Frequency Profile tab to view the Frequency Profiles page.
Select the frequency profile that you want to delete, and click the delete (trash can) icon.
The CONFIRM DELETE FREQUENCY PROFILE pop-up appears.
Figure 1: Confirm Delete Frequency Profile Pop-upDo any one of the following:
Click Yes to delete the frequency profile from the database. However, the changes are not applied to the ingest service.
Note:We recommended that you do not delete a frequency profile that is currently in use.
After you delete a frequency profile from the database, you cannot apply that frequency profile to another device group even if you have not deployed changes.
You can also deploy changes to the ingest service or roll back the changes that you have already deleted, from the PENDING CONFIGURATION page. For more information, see Commit or Roll Back Configuration Changes in Paragon Insights.
Select the Deploy changes check box and then click Yes to delete the frequency profile from the database, and to apply the changes to the ingest service.
(Optional) Click No to cancel this operation.
Clone a Frequency Profile
To clone a frequency profile:
Click the Frequency Profile tab to view the Frequency Profile page
Select the < Profile Name> that you want to clone and then click the Clone button at the top-right corner of the page.
The Clone Frequency Profile page appears.
Specify an appropriate name for the cloned profile.
Click OK to save your changes.
A clone of the profile is created and listed on the Frequency profile page.
Usage Notes:
Profile Entries–Multiple entries can be configured in each section.
Override–Sensor or rule frequency defined within an applied frequency profile overrides those defined within the individual rule or sensor.
Order of Precedence–If a sensor or rule is defined in multiple frequency profiles, each with different frequency settings, the minimum frequency value for the sensor or rule is used.
Configuration Using Paragon Insights CLI
In the Paragon Insights CLI, you can configure the same frequency profile described above. An example of the CLI configuration needed to complete the example above looks like:
user@mgd-69ab987fbc6-pt9sh> show configuration healthbot ingest-settings frequency-profile Profile1 sensor /components { frequency 60seconds; } sensor /interface { frequency 30seconds; } non-sensor net-topic/net-rule { frequency 2minutes; }
Apply a Frequency Profile Using the Paragon Insights GUI
Frequency profiles are applied to Paragon Insights device groups or network groups. When you create or edit a device or network group, you apply frequency profiles by selecting them from the Ingest Frequency section of the Device Group definition. Figure 2 below shows an example of frequency profiles being applied to a device group.
![Apply Frequency Profiles](../concept/../../images/s008959.png)
Once you have applied the needed profiles, save and deploy the device group using the SAVE & DEPLOY button.
It is strongly recommended that you only apply frequency profiles to rules that make use of the Offset Time Unit feature.
Apply a Frequency Profile Using the Paragon Insights CLI
An example of a device group CLI configuration which includes a frequency profile and could be deployed in Paragon Insights is shown below.
user@mgd-69ab987fbc6-pt9sh> show configuration healthbot device-group lab-group devices router1; ingest-frequency Profile1;
Offset Time Unit
The Paragon Insights (formerly HealthBot) offset time unit is used in conjunction with the Frequency Profiles to automatically manage time range calculations in various places within Paragon Insights rules. To understand the Paragon Insights offset function, consider the following scenario:
In Paragon Insights, you can define a rule which
Uses a sensor to gather data with a frequency of 10 seconds
Has a field that calculates the mean every 60 seconds
If you later decide to increase the frequency of the sensor to 60 seconds, then calculating the mean every 60 seconds would not make any sense. The result is that you would have to manually update the field calculation any time up want to change the sensor frequency.
Starting with HealthBot Release 3.0.0, you can set the time range for the mean calculation to a value of 6o, or 6offset, rather than 60s, or 60 seconds. Using an offset time value rather than a static time value tells Paragon Insights to automatically multiply the sensor frequency by the numeric value of the offset. Thus, any change to sensor frequency will automatically be included in the time range calculation for a formula.
An offset time unit can be used in place of standard time units in the following time range locations:
Formulas
References
Vectors
Trigger Frequency
Trigger Term
Below we discuss GUI and CLI examples of how to configure the offset time unit in each of the locations mentioned above.
- Offset Used in Formulas
- Offset Used in References
- Offset Used in Vectors
- Offset Used in Triggers
- Offset Used in Trigger Reference
Offset Used in Formulas
In this example, we are creating a rule, Rule1, with a sensor, Sensor1. The sensor frequency is set to 10 seconds.
In Figure 3 below, you can see the Fields block definition for Rule1 with the Sensors block definition framed in green. The formula, formula1, has a Time range value of 2o
![Offset in a Formula](../concept/../../images/s008960.png)
A CLI formatted configuration snippet for the same field looks like:
user@mgd-97bb5d555-sw87n$ show healthbot topic external rule rule1 synopsis "This rule is used only to demonstrate various rule features and concepts"; description "Demonstration Rule"; sensor Sensor1 { open-config { sensor-name /interfaces; frequency 10s; } } field field1 { constant { value 833; } type integer; } field formula1 { formula { max { field-name "$field1"; time-range 2o; } } type integer; }
Usage Notes for Offset Used in Formulas
An offset value applied to the time range of a formula multiplies the rule, sensor, or trigger frequency of that rule.
The result of this example is that the time range for the Max formula is now 2 times the Sensor1 frequency of 10 seconds, or 20 seconds (2 * 10s = 20s).
If a frequency profile of 30 seconds is applied to the rule used in the example, then the resulting time-range would be 60 seconds (2 * 30s = 60s).
Offset time can be applied to the following formulas: latest, count, min, max, sum, mean, on-change, and stdev.
Offset Used in References
In this example, there are two rules in play, but only one is shown. The unseen rule, Rule1, is in the topic routing-engines and is named routing-engines (routing-engines/routing-engines). Rule1 has a frequency of 20 seconds. Rule1 is referenced .
Rule2, shown in Figure 4, is a network rule which has a reference field named ref1. The field, ref1, references back to Rule1 through the Reference XPath Expression with a Time Range setting of 3offset.
![Offset Time Used in Reference Field](../concept/../../images/s009581.png)
Usage Notes for Offset Used in References
Offset values used in references multiply the frequency of the referenced rule by the offset value. In this case, the 20 second frequency of Rule1 is multiplied by 3, resulting in a 60 second time-range (3 * 20s = 60s).
If a frequency profile of 60 seconds (60s) was applied to Rule1, the time range for the reference would increase to 180 seconds (3 * 60s = 180s).
Offset Used in Vectors
In this example, there are 3 rules at play. Rules Rule1 and Rule2 are not shown but are referenced by the vector.
Rule1 is in topic line-cards and is named line-cards (line-cards/line-cards) and has a frequency of 20 seconds (20s).
Rule2 is in topic routing-engines and is named routing-engines (routing-engines/routing-engines) and has a frequency of 30 seconds (30s).
In Rule3 below, we have defined a vector, vector1 that consists of 2 path references and 1 field. The vector has a Time Range defined as 3offset. Figure 5 shows the vector block definition in the Paragon Insights GUI.
![Offset Time Used in Vector Block](../concept/../../images/s009580.png)
Usage Notes for Offset Used in Vectors
An offset value defined in the time range of a vector multiplies the sensor or rule frequency of the referenced rule or sensor. If a field from the same rule is used as the reference, then the frequency of the rule containing the vector is used.
When multiple references or fields are defined for a vector and offset time is used, the offset value is applied to each path independently. So, for this example in which our offset value is 3 (3offset):
The path reference to Rule1: “/device-group[device-group-name='Core4']/device[device-id='R1']/topic[topic-name='line-cards']/rule[rule-name='line-cards']/memory” which has a frequency of 20 seconds, would result in a time range of 60 seconds for the vector (3 * 20s = 60s).
The path reference to Rule2: “/device-group[device-group-name='Core4']/device[device-id='R1']/topic[topic-name='routing-engines']/rule[rule-name='routing-engines']/field[slot='0']/ref1” which has a frequency of 30 seconds, would result in a time range of 90 seconds for the vector (3 * 30s = 90s).
Note:There are no spaces or line breaks in the path references. They are added to this document only to enhance readability.
The field reference to
formula1
: Sinceformula1
is a normal field used within the vector block, the rule frequency of the current rule is used as a basis. So, the time range forformula1
is 30 seconds (3 * 10s = 30s).
If a frequency profile of 60 seconds is applied to Rule1 (line-cards/line-cards), then the time range for that path in the vector would be 180 seconds (3 * 60s = 180s).
If a frequency profile of 120 seconds is applied to Rule2 (routing-engines/routing-engines), then the time range for that path in the vector would be 360 seconds (3 * 120s = 360s).
The time range for the field reference,
formula1
, would remain the same as before at 30 seconds unless a change is made to Rule3 or a frequency profile with a different time is applied to Rule3.
Offset Used in Triggers
In this example, we have one rule, Rule1. Figure 6 below shows the trigger block definition with the sensor block definition overlaid with a green border.
The rule, Rule1, has a sensor frequency of 10 seconds (10s) applied.
The trigger itself, Trigger1, has an offset frequency of 2 (2o) applied.
The trigger term, term1, has its own time range offset of 2 (2o) applied as well.
![Offset Time Used in Trigger Block](../concept/../../Other/s009579.png)
Usage Notes for Offset Time Used in Triggers
An offset value defined in trigger frequency multiplies the sensor or rule frequency. So, the offset value of 2 in trigger1 causes the trigger frequency to be interpreted as 20 seconds (2 * 10s = 20s) because the sensor frequency of the rule is used as the basis.
An offset value defined in a trigger term multiplies the trigger frequency value. So, the offset value of 2 in term1 causes the term frequency to be interpreted as 40 seconds (2 * 20s = 40s).
Offset Used in Trigger Reference
In this example, we have 2 rules in the topic external, and one frequency profile, prof1.
The rules are:
external/test: The test rule has a sensor named components which is an OpenConfig sensor with a sensor path of /components and a sensor frequency of 10 seconds.
It also has a trigger, trig1 with a frequency of 2o or 2offset. The trigger has a term named Term_1, which is not used in the example.
external/ref: The ref rule is a non-sensor rule, which means that the rule uses a reference field, trigger_reference, to reference the sensor defined in another rule; in this case external/test.
And the frequency profile is:
prof1: The prof1 profile sets the frequency for the /components sensor at 30 seconds.