SteScho / manubulon-snmp

Set of Icinga/Nagios plugins to check hosts and hardware with the SNMP protocol.
GNU General Public License v2.0
73 stars 71 forks source link

check_snmp_int with subinterface return cannot get interface speed using highperf mib : UNKNOWN #68

Closed gibosler closed 4 years ago

gibosler commented 4 years ago

Hi to all, i'm using check_snmp_int.pl plugin to get Traffic and status data about a PaloAlto Firewall (virtual appliance). I've defined the command in icinga2 with -r and -2 parameters and all it's working good with normal interfaces like "ethernet1/1". Monitoring the traffic on subinterfaces (VLANs) return "Cannot get interface speed using highperf mib : UNKNOWN" also launching via command line. The vlans interfaces on Palo Alto are called [phyisical].vlan_id for example "ethernet1/2.2". The OIDS seems ok and i can see the values via snmpwalk. What can i try to do to solve the problem?

robpou commented 4 years ago

I just found the solution for this so I thought I'll share it with the future googlers :)

The problem is caused by having a default setting of 32bit-counters in snmp-interface. One has to enable it with "$snmp_interface_64bit$":

object CheckCommand "snmp-interface" {
    import "plugin-check-command"
    command = [ PluginDir + "/check_snmp_int.pl" ]
    timeout = 1m
    arguments += {
        "--64bits" = {
            description = "Use 64 bits counters instead of the standard counters when checking bandwidth & performance data for interface >= 1Gbps"
            set_if = "$snmp_interface_64bit$"
        }
robpou commented 4 years ago

After this you might see a state like

bond0:UP No usable data on file (2 rows) , bond0.140:UP No usable data on file (2 rows) , bond1:UP No usable data on file (2 rows) , bond1.130:UP No usable data on file (2 rows) :(4 UP): UNKNOWN

if your check_interval and retry_interval settings are correct, they should go green in a few minutes. Check the documentation of the check_snmp_int.pl especially for the "-d" parameter. I have 180 seconds check_interval and "-d 300" is working for me.

SteScho commented 4 years ago

Since the last message was a while ago and I'm currently cleaning up: Closed. If you have any further questions: Reopen or create a new issue.