Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Collect threshold values from JUNIPER-DOM-MIB #2340

Open
lunkwill42 opened this issue Dec 17, 2021 · 0 comments · May be fixed by #2513
Open

Collect threshold values from JUNIPER-DOM-MIB #2340

lunkwill42 opened this issue Dec 17, 2021 · 0 comments · May be fixed by #2513

Comments

@lunkwill42
Copy link
Member

lunkwill42 commented Dec 17, 2021

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 the
jnxDomModuleLaneTable.

@stveit stveit self-assigned this Jun 22, 2022
@stveit stveit linked a pull request Nov 24, 2022 that will close this issue
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants