Add Metric

To add metrics, click +Add in the Metrics section. The system redirects to the Add Metric page, where you can configure the required metric details for monitoring.


The following are the parameters required while defining a metric:


Name

Specifies the unique name of the metric, which is used to identify the metric and is displayed on graphs.

Example: cisco_nexus_switch_cpu_Utilization

Metric Naming Best Practices

Format:

<vendor>_<device_type/model/OS>_<use_case>

Rules:

  • Specificity: Include vendor, device type/model, OS, and use case.
  • Underscores Only: Use _ as a separator; no spaces, hyphens, or other special characters.
  • Capitalization: Only the first letter of the last word (use case) is capitalized.
  • Clarity: Last word should clearly indicate the metric being measured.

Example:

cisco_nexus_switch_cpu_Utilization
hpe_instanton_switch_Health
juniper_mx_router_junos_memory_Utilization

Display Name

Defines the name or label displayed on the dashboard, making it easier to understand the metric.

For Display Name, any spaces or special characters are allowed.

Example: Cisco Nexus Switch CPU Utilization

Description

Provides a brief explanation of the purpose of the metric, describing why it is used and what it represents.

Value of the Metric

The following parameters define how the metric value is collected and calculated using SNMP OIDs:


Provide SNMP OID-based Inputs

Click +Add to add OID based metric inputs. Multiple metric inputs can be added using the +Add option.

Name

Enters the OID object name as specified in the MIB.


OID

Enter the OID as defined in the MIB. For Scalar OIDs, ensure the OID ends with .0.


OID Type

Select whether the OID is:

  • Scalar OID
  • Tabular OID


Data Type

Defines the base syntax of the OID as specified in the MIB. Select the appropriate data type according to the metric.


Formula

Defines how the metric value is calculated based on polling data. Select the appropriate formula according to the metric.


Delta

Provides the difference between the current poll value and the previous poll value.

Delta = Current Poll Value – Previous Poll Value
  • Returns positive, negative, or zero values
  • Suitable for values that can increase or decrease such as interface traffic, disk usage changes, or memory consumption differences

Example:

  • OID: 1.3.6.1.2.1.2.2.1.10.1 (Interface Inbound Octets)

Sample Values

  • Previous Poll Value = 102400
  • Current Poll Value = 105600

Delta Calculation:

Delta = 105600 – 102400 = 3200 bytes

Rate

Provides the rate of change per second between two poll values.

Rate = (Current Poll Value – Previous Poll Value) / (Current Poll Time – Previous Poll Time)
  • Returns values in per second format (e.g., bytes/sec, requests/sec)
  • Can return positive, negative, or zero values
  • Useful when you want to measure how fast a value is changing over time

Example:

  • OID: 1.3.6.1.2.1.2.2.1.10.1 (ifInOctets)
  • Previous Value = 1,000,000
  • Current Value = 1,500,000
  • Time Difference = 10 seconds
  • Rate = (1500000 – 1000000) / 10 = 50000 bytes/sec

Counter Delta

Provides the difference between current and previous values for counter-based OIDs.

Counter Delta = Current Poll Value – Previous Poll Value
  • Returns only positive or zero values
  • For negative values, it will return null or no data
  • Used for counters that continuously increase (e.g., total packets, total bytes)
  • Handles counter resets by avoiding negative values

Example:

  • OID: 1.3.6.1.2.1.2.2.1.11.1 (ifInUcastPkts)
  • Previous Value = 2000
  • Current Value = 2600
  • Counter Delta = 2600 – 2000 = 600 packets

Counter Rate

Provides the per second rate for counter-based OIDs.

Counter Rate = (Current Poll Value – Previous Poll Value) / (Current Poll Time – Previous Poll Time)
  • Returns values in per second format
  • Returns only positive or zero values
  • For negative values, it will return null or no data
  • Used for calculating traffic rate, packet rate, error rate, etc.

Example:

  • OID: 1.3.6.1.2.1.2.2.1.16.1 (ifOutOctets)
  • Previous Value = 5,000,000
  • Current Value = 6,000,000
  • Time Difference = 20 seconds
  • Counter Rate = (6000000 – 5000000) / 20 = 50000 bytes/sec

Difference Between Delta/Rate and Counter Delta/Counter Rate

Delta vs Counter Delta

  • Delta: Measures the change for metrics that can increase or decrease (e.g., CPU, temperature).
  • Counter Delta: Measures the change for counter OIDs which always increase (e.g., byte counters, packet counters).

Rate vs Counter Rate

  • Rate: Measures the per-second change for metrics, which can be positive or negative.
  • Counter Rate: Measures the per-second change of counter OIDs which always increase, always positive.

Poll Frequency

Defines how frequently the devices are monitored.


User-Defined

  • Recommended when the selected OID requires frequent monitoring.
  • The polling frequency is configured by the user based on the requirement, such as 1 min, 2 min, 5 min, 10 min, or 15 min.
  • Example: CPU utilization monitored every 5 minutes.

Less Frequent

  • Suitable when the selected OID does not require frequent updates and does not change often.
  • In this case, the OIDs are polled once every 8 hours.
  • Example: Device details such as fan location or hardware-related information that does not change frequently.

Note: User-Defined is the recommended option among the two.

Use Case:

If a fan status metric is being monitored, the fan status OID can be configured with a User-Defined frequency for frequent monitoring. In addition to this, if the fan location is required in the alert body when the fan status becomes critical, a separate fan location OID can be configured. Since the fan location does not change frequently and is only required for reference (e.g., in alerts), it can be configured with Less Frequent polling.


Does the Metric Need Additional Inputs from User?
  • Required when metric calculation depends on user-provided inputs.
  • Component-level input is not possible; only metric-level input is supported.


Name

Defines the variable name used in the metric calculation.

Description

Provides details about the purpose of the variable.

Default Values

Enter the default value for the variable. If no value is provided for this variable while assigning the template, the default value will be used automatically.

Example:

For example, if you want to monitor the network interface bandwidth for WAN links, provide the ISP speed value in bps.


Summary

  • User inputs allow dynamic customization of metrics
  • Default values act as a fallback when input is not provided
  • Useful for scenarios where common logic is reused with different input values

Calculate the Value of the Metric

Defines how the final metric value is derived.

Metric Value

Value of the SNMP OID

Selected by default when only a single OID input is provided.


Using the inputs provided above, derive the value of the metric using an expression

This option allows you to calculate the final metric value using a Java-based mathematical expression by combining one or more SNMP OID inputs.


User can perform:

  • Mathematical operations (addition, subtraction, division, etc.)
  • Conditional logic using functions like IF
  • Parsing and formatting of SNMP values

For detailed information on supported operators and functions, refer to: SNMP Operators and Functions

Note:

  • Click on the Validate button to check whether the expression is valid.
  • If more than one OID is provided as input, the option “Using the inputs provided above, derive the value of the metric using an expression” will be automatically selected.

Examples with Use Cases

1. Storage Utilization Percentage

Use Case: Calculates storage utilization percentage to monitor disk usage.


Expression: (hrStorageUsed / hrStorageSize) * 100

OIDs:

  • hrStorageUsed → 1.3.6.1.2.1.25.2.3.1.6
  • hrStorageSize → 1.3.6.1.2.1.25.2.3.1.5

2. Interface Utilization with Limit

Use Case:

  • Calculates interface utilization while preventing values from exceeding 100%, ensuring accurate monitoring and avoiding unrealistic spikes in graphs and alerts.

  • The metric network.interface.traffic.in is reused in calculating the expression for another metric within the monitor, enabling derived metrics based on existing SNMP data.

Expression: IF((network.interface.traffic.in) / (ifHighSpeed * 10000) > 100, 100, (network.interface.traffic.in) / (ifHighSpeed * 10000))

OIDs:

  • network.interface.traffic.in → Derived from ifHCInOctets (1.3.6.1.2.1.31.1.1.1.6) using Rate
  • ifHighSpeed → 1.3.6.1.2.1.31.1.1.1.15

Explanation:

  • Calculates the interface utilization percentage by dividing incoming traffic with interface speed.

The IF condition ensures that:

  • If the calculated value exceeds 100%, it returns 100.
  • Otherwise, it returns the actual utilization value.

3. Interface Status Validation

Use Case: Returns operational status only when the interface is administratively enabled, avoiding false alerts for disabled interfaces.

Expression: IF(ifAdminStatus != 1, 0, ifOperStatus)

OIDs:

  • ifAdminStatus → 1.3.6.1.2.1.2.2.1.7
  • ifOperStatus → 1.3.6.1.2.1.2.2.1.8

4. PARSER Use Case – Fan Speed Extraction

Use Case:

For vendor-specific OIDs (e.g., Fiberstore) where values include units, enabling proper numeric monitoring.

OID:
devMFanSpeed → 1.3.6.1.4.1.52642.1.37.1.1.1.1.5

Expression:
PARSER(devMFanSpeed,'{1}','(\d+(\.\d+)?)%')

Sample SNMP Walk Output:

1.3.6.1.4.1.52642.1.37.1.1.1.1.5.1 = STRING: "45%"
1.3.6.1.4.1.52642.1.37.1.1.1.1.5.2 = STRING: "38%"
1.3.6.1.4.1.52642.1.37.1.1.1.1.5.3 = STRING: "50%"

Explanation: The SNMP output returns values with %. The parser extracts only the numeric value using regex.
Parsed Output: 45 38 50

5. Total Outgoing Traffic

Use Case: Calculates total outgoing packet rate across all traffic types.

Expression: (ifHCOutUcastPkts.rate + ifHCOutMulticastPkts.rate + ifHCOutBroadcastPkts.rate)

OIDs:

  • ifHCOutUcastPkts → 1.3.6.1.2.1.31.1.1.1.11
  • ifHCOutMulticastPkts → 1.3.6.1.2.1.31.1.1.1.13
  • ifHCOutBroadcastPkts → 1.3.6.1.2.1.31.1.1.1.15

6. PARSER Use Case – CPU (Five Minutes)

Use Case: Applicable when multiple values exist in a single SNMP response and only a specific interval metric is required.

Sample SNMP Walk Output:

SNMPv2-SMI::enterprises.4526.10.1.1.5.3.1.3.0 = STRING: "Five Seconds( 0.80%) One Minute( 0.76%) Five Minutes( 0.97%)"

Expression: PARSER(agentSwitchCpuProcessPercentageUtilization,'{1}','Five\s*Minutes\s*\(\s*(\d+(\.\d+)*)%\)')

Explanation: Extracts only the Five Minutes CPU utilization value from a string containing multiple intervals.

Parsed Output: 0.97

7. Conditional Expression – CPU Validation

Use Case: Ensures only valid CPU data is used, avoiding false alerts.

Expression: if(rlCpuUtilEnable != 1, 0, if(rlCpuUtilDuringLast5Minutes = 101, 0, rlCpuUtilDuringLast5Minutes))

OIDs:

  • rlCpuUtilEnable → CPU monitoring enable status
  • rlCpuUtilDuringLast5Minutes → CPU utilization

Explanation: If CPU monitoring is disabled, return 0. If value is invalid (101), return 0. Otherwise, return actual CPU value.

8. Fan Status Metric Using Expression by referencing two OID inputs

Use Case: Monitor the Fan Status metric by referencing two OID inputs: fan status and fan description, but focus only on the fan status value for the metric output.

OIDs:

  • ciscoEnvMonFanState → 1.3.6.1.4.1.9.9.13.1.4.1.3
  • ciscoEnvMonFanStatusDescr → 1.3.6.1.4.1.9.9.13.1.4.1.2

Expression: ciscoEnvMonFanState

Explanation:

  • Uses the fan status object as the metric expression.
  • Ignores the fan description input for metric calculation; only fanStatus is evaluated.

Summary

Use this option to:

  • Retrieve a single metric value from multiple OID inputs.
  • Perform mathematical calculations using multiple OID values to derive the final metric output.

Format Metric Value

Defines how the monitoring output should be formatted. Select Enumerated Map when the OID returns numeric values that need to be converted into readable text and vice-versa.


Specify key-value pairs to map numeric OID values to readable states.


Types of Enumerated Mapping

There are two types of Enumerated Mapping supported:

Type 1: String to Integer Mapping Converts string values into numeric values for readability in alerts and graphs.


Type 2: Integer to String Mapping Converts numeric OID values into meaningful text for readability in alerts.


Example 1: Integer to String Mapping

Numeric ValueMapped Value
0unknown
1up
2down

Example 2: String to Integer Mapping

String ValueMapped Value
unknown0
up1
down2

Use formatted value in

Specifies where the formatted (mapped) values should be used:

  • Alerts: Displays readable values in alert messages.
  • Graph: Displays formatted values in metric graphs. (Check this box only when using String to Integer Mapping.)


Unit

Defines the unit of the metric value (e.g., %, bps, KB, W).


Graph

Select Yes to enable graph generation for the metric.


Set Alert Conditions

Select the respective Warning and Critical conditions for generating alerts.


Warning Severity

Warning alert is created when the metric matches the selected operator and exceeds the warning threshold value. Select the appropriate operator and threshold based on the metric requirement. Also, configure the repeat option to define how many times the alert should be triggered (e.g., once, twice, thrice).

Critical Severity

Critical alert is created when the metric matches the selected operator and exceeds the critical threshold value. Select the appropriate operator and threshold based on the metric requirement. Also, configure the repeat option to define how many times the alert should be triggered (e.g., once, twice, thrice).

Alert Subject

Alert subject displayed for a warning or critical alert on the alert browser.

The following are the default tokens available for configuring the alert subject. These can be further customized based on requirements.

Default Alert Subject Format:

${severity} - Resource: ${resource.name} - ${component.name} - ${metric.value} (${threshold})

Additional alert tokens can be selected by clicking on + Available Macros.

Alert Content

Alert description displayed on the alert details page. The actual values replace the variables used in the alert subject and content.

The following are the default tokens available for configuring the alert content. These can be customized as per requirements.

Default Alert Content Format:

${severity} - ${component.name}, Resource name: ${resource.name}, IP Address: ${resource.ip}, Metric Name: ${metric.name}, Component: ${component.name}, Severity: ${severity}, Value: ${metric.value}, Reason: ${metric.value} (${threshold})

Additional alert tokens can be selected by clicking on + Available Macros.

Example Alert Configurations

Example 1: Fan Speed Alert

Alert Subject:

${severity} - Resource: ${resource.name} - HPE Fan Speed: ${metric.value} (${threshold})

Alert Content:

Resource name: ${resource.name} 
IP Address: ${resource.ip}
Alert Generated Time: ${alert.generated.time}
Severity: ${severity}
Metric Name: ${metric.name}
HPE Fan Speed: ${metric.value}
Reason: HPE Fan Speed is ${metric.value} (${threshold})

Example 2: Memory Utilization Alert

Alert Subject:

${severity} - Resource: ${resource.name} - Alaxala AX23AX26S Switch Memory Utilization: ${metric.value} (${threshold})

Alert Content:

Resource name: ${resource.name} 
IP Address: ${resource.ip}
Alert Generated Time: ${alert.generated.time}
Severity: ${severity}
Metric Name: ${metric.name}
Alaxala AX23AX26S Switch Total Memory: ${axsMemoryTotalSize} KB
Alaxala AX23AX26S Switch Used Memory: ${axsMemoryUsedSize} KB
Alaxala AX23AX26S Switch Free Memory: ${axsMemoryFreeSize} KB
Alaxala AX23AX26S Switch Memory Utilization: ${metric.value}
Reason: Alaxala AX23AX26S Switch Memory Utilization is ${metric.value} (${threshold})

Example 3: Status / State Alert (Without Threshold)

Alert Subject:

${severity} - Resource: ${resource.name} - HPE Power Supply State: ${metric.value}

Alert Content:

Resource name: ${resource.name} 
IP Address: ${resource.ip}
Alert Generated Time: ${alert.generated.time}
Severity: ${severity}
Metric Name: ${metric.name}
HPE Power Supply State: ${metric.value}
Reason: HPE Power Supply State is ${metric.value}

After adding all the above details, click +Add to save the metric.

Key Considerations

  • Multiple metrics can be added within a single monitor.
  • Tabular and Scalar OIDs cannot be used together in the same monitor. Separate monitors must be created for Tabular OIDs and Scalar OIDs.
  • OID inputs defined in one metric can be reused in other metrics within the same monitor. For example, if cempMemPoolUsed and cempMemPoolFree are used in a metric like cisco_memory_utilization, the same inputs can be reused in another metric such as cisco_memory_total by defining an expression like: cempMemPoolUsed + cempMemPoolFree
  • Either Graph or Alert must be enabled on a metric for data collection.
Tabbed Interface with Table