banshee/network-collection/network/mikrotik/snmp/
health
The hardware health of a MikroTik RouterOS or SwitchOS device by SNMP: temperatures, fans, voltages, power, power supplies.
by banshee1 installation2 versions
Hardware health of a MikroTik device, by SNMP
Returns, for each sensor of a MikroTik router or switch, its measure (temperature, fan speed, voltage, current, power) or its state (a power supply ok or fail). Five watches are offered, each one set on the probe.
How it works
The collector reads the health branch of MIKROTIK-MIB (mtxrHealth), in one of its two forms:
mtxrGaugeTable, served by RouterOS 7 and the late versions of RouterOS 6: one row per sensor, named by the device as/system healthshows it (cpu-temperature,fan1-speed,psu1-state), with its unit. Temperatures are in degrees, voltages, currents and power in tenths, which the collector divides. A state readsokfor 0 andfailfor 1, as RouterOS shows them; any other value readsstateand the number.- The fixed objects of
mtxrHealth, read when the table is empty: an older RouterOS, and SwitchOS. Each object present is one sensor, named after the object (cpu-temperature,board-temperature,psu-state,fan1-speed); temperatures, voltages and power are in tenths, the current in mA, andpsu-stateandbackup-psu-stateareokwhen the agent says true.
A device that serves neither, such as a virtual router (CHR), stops the collector as misconfigured: never a green light without a measure.
The collector only reads: SNMP sends nothing but reads.
Prerequisites
- SNMP enabled on the device (
/snmp set enabled=yeson RouterOS, the SNMP tab on SwitchOS), reachable from the poller (UDP 161), its access restricted to the poller. - Read-only access, SNMPv2c or SNMPv3, set on the host or one of its folders (
protocol:snmp:*variables). - Versions: RouterOS 6 and 7, SwitchOS. The collector is generic across them: it reads whichever form the device serves. Which objects a model serves depends on its sensors.
Outputs
| Name | Label | Unit | Per instance |
|---|---|---|---|
temperature | Temperature | °C | yes, per sensor |
fan-speed | Fan speed | rpm | yes, per sensor |
voltage | Voltage | V | yes, per sensor |
current | Current | A | yes, per sensor |
power | Power | W | yes, per sensor |
status | State | — | yes, per sensor |
Watches
| Name | Title | Kind | Defaults | Checked by default |
|---|---|---|---|---|
hot | High temperature | above a threshold, on temperature | warning above 70 °C, critical above 85 °C, for 3 runs | yes |
failed | Power supply failed | state to avoid, on status | critical on fail | yes |
fan-stopped | Fan stopped | below a threshold, on fan-speed | critical below 1 rpm, for 2 runs | no: many MikroTik devices stop their fans while they are cool |
voltage-low | Low voltage | below a threshold, on voltage | no threshold: the input voltage depends on the power source, set it on the probe | no |
missing | Missing sensor | expected instances, on status | no sensor named: it raises nothing until names are set on the probe | no |
Limits
- The temperature thresholds, 70 °C and 85 °C, are generic defaults, taken from no maker's documentation: adapt them to the model on the probe.
- The meaning of a state gauge, 0 for
okand 1 forfail, is not written in MIKROTIK-MIB; it is the one RouterOS shows and the common monitoring tools read. It is not verified here without a device. - The names of the sensors of
mtxrGaugeTableare those of the device: they differ from one model to the next. A device upgraded from the fixed objects to the table renames its sensors, and the former ones go missing. - The version of RouterOS 6 from which
mtxrGaugeTableis served is not verified here: the collector reads the fixed objects whenever the table is empty.