The Calculation Editor enables you to define objects that use the calculations of polled indicator data you define as variables. Variable calculations can combine data SevOne NMS polls from the indicators across multiple objects on multiple devices.
To access the Calculation Editor from the navigation bar, click the Administration menu, select Monitoring Configuration, and then select Calculation Editor.
Enable the Calculation plugin for devices on the New Device page and/or the Edit Device page. For details, please refer to sections Calculation Plugin , Edit Device, and New Device in SevOne NMS User Guide.
Define calculation object types and indicator types on the Object Types page.
The Object Browser section on the left displays a list of the devices for which you enable the Calculation plugin and for which you define calculation objects. As you define calculation objects, additional devices appear in the list.
If needed, click on a device in the list to display the calculation objects the Calculation plugin polls on the device.
Click Add Object or click to display the Add/Edit Object pop-up.
For a new object, click the Parent Device drop-down and select the device on which to discover and poll the object. This list displays all devices for which you enable the Calculation plugin. You cannot edit this field after you save an object.
For a new object, click the Object Type drop-down and select a Calculation plugin object type. To add an object type to the list, click to navigate to the Object Types page where you can manage the Calculation plugin object types. You cannot edit this field after you save an object.
In the Object Name field, enter the name of the Calculation plugin object. This name cannot begin or end with spaces and must include at least one character.
In the Object Description field, enter the object description.
In the Default Value field, enter a numeric value to use in the calculation should the object type not poll data for the time span of the report.
Click Save.
After you save your new object, the device that you added it to will appear in the Search field. Your new object is automatically selected in the Object Browser, making it easy to locate.
Click on an object in the Object Browser list to display its variables in the Variable Browser section and expression in the Expression Browser section on the right.
Click Add Variable or click to display the Add/Edit Calculation Variable pop-up.
In the Variable Name field, enter the name of the variable for the object to use.
Click the Plugin drop-down and select the plugin that polls the object from which to calculate data.
Click the Device drop-down and select the device from which the data to calculate is polled.
Click the Object drop-down and select the object whose indicator data is to be calculated.
Click the Indicator drop-down and select the indicator whose data is to be used in the calculation.
Select the Default Value Null check box to make the value default to null if there is no poll data for the variable during the report time span. Leave clear and enter a value to use a specific value for time spans with no poll data.
Click Save.
Click on an object in the Object Browser section to display its variables in the Variable Browser section and indicators in the Expression Browser section on the right.
Click Edit Indicator Types to navigate to the Object Types page where you can add and edit indicator types.
Click next to an indicator to display the Expression Editor pop-up.
In the Source Variable field, click a variable and drag it to the Indicator Expression field.
Enter applicable operators in the Indicator Expression field to formulate the calculation. Please see section Acceptable Operators below.
Drag additional source variables and enter additional mathematical symbols to create the expression in the Indicator Expression field.
Repeat the previous steps in the Maximum Value Expression field to define a maximum value expression.
Maximum Value Expression uses the maximum value of the chosen indicator for each variable being referenced in the expression. Let's say the variables are set as shown in the table below.
Variable |
Plugin |
Device |
Object |
Object Type |
Indicator |
${v1} |
SNMP Poller |
D1 |
ens160 |
Interface |
HC In Octets |
${v2} |
SNMP Poller |
D1 |
ens160 |
Interface |
HC Out Octets |
${v3} |
SNMP Poller |
D2 |
ens160 |
Interface |
HC In Octets |
${v4} |
SNMP Poller |
D2 |
ens160 |
Interface |
HC Out Octets |
If Maximum Value Expression is ${v1}+${v2}+${v3}+${v4} then, it will take the maximum value of the indicator chosen for each of these variables. i.e., it will use the maximum value of the following indicators to evaluate maximum value expression.
HC In Octets for Device D1
HC Out Octets for Device D1
HC In Octets for Device D2
HC Out Octets for Device D2
Click Save.
Your expression formula can include the following characters:
If the border around the field turns red, your calculation is invalid and your graph results will be erroneous.
+ add
- subtract
* multiply
/ divide
&& logical AND
|| logical OR
<= less than or equal to
>= greater than or equal to
! not equal to
== equal to
> greater than
< less than
^ raise x to the power of y
% modulus
?: if...then...else
If your calculation results in either of the following invalid values, there will be a gap in your graph: Not a Number (NAN) and Infinity (+/-INF). The following is how SevOne NMS attempts to prevent invalid values.
In sequence of processing:
Zero divided by zero results in NAN.
Any positive value divided by zero results in +INF.
Any negative value divided by zero results in -INF.
Zero multiplied by +/-INF results in NAN.
Any value added to, subtracted from, multiplied by, divided by, or divided from NAN results in NAN.
Any value compared to NAN (<, <=, ==, >=, >) results in 0. NAN != NAN.
Any value compared to +INF is less than +INF, except that +INF == +INF
Any value compared to -INF is greater than -INF, except that -INF == -INF
Any value added to or subtracted from +INF results in +INF
Any positive value multiplied by +/-INF results in +/-INF
Any value divided by +/-INF results in 0