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

FortiSwitch - SNMP bug? #15747

Open
rudybroersma opened this issue Jan 15, 2024 · 4 comments
Open

FortiSwitch - SNMP bug? #15747

rudybroersma opened this issue Jan 15, 2024 · 4 comments
Labels
Device 🖥️ New or added device support User-Pending Currently waiting for user response

Comments

@rudybroersma
Copy link
Contributor

The problem

I noticed from my PR #15735 that I had some weird non-working sensors on 200E-series switches:

fsw200

Did some digging, turns out for this model (sw fw 7.4.0) the switch seems to be skipping a few indexes in the ENTITY-SENSOR-MIB. I'd appreciate if someone can confirm this is wrong behavior from the switch:

$ snmpwalk -v3 -u X -M /opt/librenms/mibs:/opt/librenms/mibs/fortinet -m all entPhySensorValue
ENTITY-SENSOR-MIB::entPhySensorValue.4 = INTEGER: 45
ENTITY-SENSOR-MIB::entPhySensorValue.5 = INTEGER: 39
ENTITY-SENSOR-MIB::entPhySensorValue.6 = INTEGER: 43
ENTITY-SENSOR-MIB::entPhySensorValue.7 = INTEGER: 38
ENTITY-SENSOR-MIB::entPhySensorValue.8 = INTEGER: 43
ENTITY-SENSOR-MIB::entPhySensorValue.9 = INTEGER: 39
ENTITY-SENSOR-MIB::entPhySensorValue.10 = INTEGER: 1
ENTITY-SENSOR-MIB::entPhySensorValue.11 = INTEGER: 1
ENTITY-SENSOR-MIB::entPhySensorValue.12 = INTEGER: 58
ENTITY-SENSOR-MIB::entPhySensorValue.13 = INTEGER: 58
ENTITY-SENSOR-MIB::entPhySensorValue.14 = INTEGER: 40
$ snmpwalk -v3 -u X -M /opt/librenms/mibs:/opt/librenms/mibs/fortinet -m all entPhysicalName
ENTITY-MIB::entPhysicalName.1 = STRING: FSW_248E-F
ENTITY-MIB::entPhysicalName.2 = STRING: mgmt
ENTITY-MIB::entPhysicalName.3 = STRING: internal
ENTITY-MIB::entPhysicalName.4 = STRING: Sensor1
ENTITY-MIB::entPhysicalName.5 = STRING: Sensor2
ENTITY-MIB::entPhysicalName.6 = STRING: Internal
ENTITY-MIB::entPhysicalName.7 = STRING: External
ENTITY-MIB::entPhysicalName.8 = STRING: Fan1
ENTITY-MIB::entPhysicalName.9 = STRING: Fan2
ENTITY-MIB::entPhysicalName.10 = STRING: Fan3

The ENTITY-SENSOR-MIB starts with index 4 and stops at 14. While ENTITY-MIB starts with 1 (as expected) and ends with 10. So the ENTITY-SENSOR-MIB indexes do not correspond to the ENTITY-MIB indexes.

This is not supposed to happen, correct? If so I'll submit a bug report at FortiNet

Currently this causes the power supply at ENTITY-SENSOR-MIB index 10 to be named as 'Fan3'.

I can confirm this is not an issue on 400-series switches.

Output of ./validate.php

x

What was the last working version of LibreNMS?

No response

Device info

FortiSwitch 242E

Discovery output

Device issue

Poller output

Device issue
@PipoCanaja
Copy link
Contributor

PipoCanaja commented Jan 15, 2024

Looks like a bug on this FortiSwitch 200E precisely, yes. Please open a case at the vendor.

@rudybroersma
Copy link
Contributor Author

Thanks. Created a ticket at FortiNet. Will follow up!
So far issue seems to be limited to 200E-series FPOE (Full POE).
The 200E-series with half poe (only half the ports support PoE) don't seem to exhibit this issue

@PipoCanaja PipoCanaja added Device 🖥️ New or added device support User-Pending Currently waiting for user response labels Jan 16, 2024
@rudybroersma
Copy link
Contributor Author

Having a hard time convincing FortiNet that this is a their-problem and not a me-problem.
Ticket is still open though

@rudybroersma
Copy link
Contributor Author

rudybroersma commented Feb 19, 2024

Issue has been escalated to Fortinet Engineering

My initial conclusion that it's limited to the 200-FPOE was wrong. All their switches have the same issue, but it's more prominent on the 200-FPOE's.

148F for example has the same problem. Index with ID 4 is missing from entPhysicalTable

ENTITY-MIB::entPhysicalName.1 = STRING: FSW_124F-P
ENTITY-MIB::entPhysicalName.2 = STRING: internal
ENTITY-MIB::entPhysicalName.3 = STRING: Sensor1

ENTITY-SENSOR-MIB::entPhySensorType.3 = INTEGER: celsius(8)
ENTITY-SENSOR-MIB::entPhySensorType.4 = INTEGER: rpm(10)
ENTITY-SENSOR-MIB::entPhySensorScale.3 = INTEGER: units(9)
ENTITY-SENSOR-MIB::entPhySensorScale.4 = INTEGER: units(9)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Device 🖥️ New or added device support User-Pending Currently waiting for user response
Projects
None yet
Development

No branches or pull requests

2 participants