nav
nav copied to clipboard
Collect threshold values from JUNIPER-DOM-MIB
Is your feature request related to a problem? Please describe.
It is very hard to configure generic threshold rules for optical module readings using NAV's threshold rules system. Threshold values will vary with the type of optical module, and these types aren't readily available as part of the metric names used in Graphite.
However, usable threshold values are coded into the EEPROMs of optical devices, and for Juniper devices, these threshold values are accessible from the same MIB that NAV already uses to fetch other optical readings.
NAV currently collects these values from the JUNIPER-DOM-MIB
:
-
jnxDomCurrentRxLaserPower
-
jnxDomCurrentTxLaserBiasCurrent
-
jnxDomCurrentTxLaserOutputPower
-
jnxDomCurrentModuleTemperature
Describe the solution you'd like
NAV should, in relation to the values already collected, also collect and submit the following values to Graphite:
-
jnxDomCurrentRxLaserPower
-
jnxDomCurrentRxLaserPowerHighAlarmThreshold
-
jnxDomCurrentRxLaserPowerLowAlarmThreshold
-
jnxDomCurrentRxLaserPowerHighWarningThreshold
-
jnxDomCurrentRxLaserPowerLowWarningThreshold
-
-
jnxDomCurrentTxLaserBiasCurrent
-
jnxDomCurrentTxLaserBiasCurrentHighAlarmThreshold
-
jnxDomCurrentTxLaserBiasCurrentLowAlarmThreshold
-
jnxDomCurrentTxLaserBiasCurrentHighWarningThreshold
-
jnxDomCurrentTxLaserBiasCurrentLowWarningThreshold
-
-
jnxDomCurrentTxLaserOutputPower
-
jnxDomCurrentTxLaserOutputPowerHighAlarmThreshold
-
jnxDomCurrentTxLaserOutputPowerLowAlarmThreshold
-
jnxDomCurrentTxLaserOutputPowerHighWarningThreshold
-
jnxDomCurrentTxLaserOutputPowerLowWarningThreshold
-
-
jnxDomCurrentModuleTemperature
-
jnxDomCurrentModuleTemperatureHighAlarmThreshold
-
jnxDomCurrentModuleTemperatureLowAlarmThreshold
-
jnxDomCurrentModuleTemperatureHighWarningThreshold
-
jnxDomCurrentModuleTemperatureLowWarningThreshold
-
Although these threshold values are constant, submitting them to Graphite will make them available for use in building more complex Graphite expressions that can be used to create more dynamic threshold rules in NAV (you can, for example, make graphs that show the numeric difference between a reading and its threshold values).
Additional context
There is an additional complication with the MIB that may need to be addressed in a separate issue:
Some optical modules have multiple "lanes", with separate readings for each lane. These aren't currently supported by NAV. A translated version of a report in Norwegian:
There is the extra complication that some optical module have multiple "lanes". For example, QSFP28 PSM4 and QSFP28 LR4 modules both have 4 separate "lanes", with each their optical readings. It looks as though if
jnxDomCurrentModuleLaneCount
is>1
, one must also use readings from thejnxDomModuleLaneTable
.