My check_snmp command doesn´t work for switch monitoring

Support forum for Nagios Core, Nagios Plugins, NCPA, NRPE, NSCA, NDOUtils and more. Engage with the community of users including those using the open source solutions.
Jessuzz94
Posts: 162
Joined: Thu Jun 04, 2015 12:08 pm

Re: My check_snmp command doesn´t work for switch monitoring

Post by Jessuzz94 »

Who are you? a genius? it works!!, it shows me now

Uptime | SNMP OK - Timeticks: (1029845) 2:51:38.45
Port 1 Status | SNMP OK - up(1)

just one problem, the port 1 of my switch is off and it shows OK, it port is not in use, it should be CRITICAL dont you?
jdalrymple
Skynet Drone
Posts: 2620
Joined: Wed Feb 11, 2015 1:56 pm

Re: My check_snmp command doesn´t work for switch monitoring

Post by jdalrymple »

I appreciate the compliment, thanks.

The switchport labeled port 1 on your Cisco box is probably not index 1. Note this output:

Code: Select all

[jdalrymple@localhost libexec]$ snmpwalk -v 1 -c public <cisco> IF-MIB::ifDescr
IF-MIB::ifDescr.1 = STRING: Vlan1
IF-MIB::ifDescr.200 = STRING: Vlan200
IF-MIB::ifDescr.301 = STRING: Vlan301
IF-MIB::ifDescr.5001 = STRING: Port-channel1
IF-MIB::ifDescr.5002 = STRING: Port-channel2
IF-MIB::ifDescr.5003 = STRING: Port-channel3
IF-MIB::ifDescr.5004 = STRING: Port-channel4
IF-MIB::ifDescr.10101 = STRING: GigabitEthernet0/1
IF-MIB::ifDescr.10102 = STRING: GigabitEthernet0/2
IF-MIB::ifDescr.10103 = STRING: GigabitEthernet0/3
IF-MIB::ifDescr.10104 = STRING: GigabitEthernet0/4
IF-MIB::ifDescr.10105 = STRING: GigabitEthernet0/5
IF-MIB::ifDescr.10106 = STRING: GigabitEthernet0/6
IF-MIB::ifDescr.10107 = STRING: GigabitEthernet0/7
IF-MIB::ifDescr.10108 = STRING: GigabitEthernet0/8
IF-MIB::ifDescr.10109 = STRING: GigabitEthernet0/9
IF-MIB::ifDescr.10110 = STRING: GigabitEthernet0/10
IF-MIB::ifDescr.10111 = STRING: GigabitEthernet0/11
IF-MIB::ifDescr.10112 = STRING: GigabitEthernet0/12
IF-MIB::ifDescr.10113 = STRING: GigabitEthernet0/13
IF-MIB::ifDescr.10114 = STRING: GigabitEthernet0/14
IF-MIB::ifDescr.10115 = STRING: GigabitEthernet0/15
IF-MIB::ifDescr.10116 = STRING: GigabitEthernet0/16
IF-MIB::ifDescr.10117 = STRING: GigabitEthernet0/17
IF-MIB::ifDescr.10118 = STRING: GigabitEthernet0/18
IF-MIB::ifDescr.10119 = STRING: GigabitEthernet0/19
IF-MIB::ifDescr.10120 = STRING: GigabitEthernet0/20
IF-MIB::ifDescr.10121 = STRING: GigabitEthernet0/21
IF-MIB::ifDescr.10122 = STRING: GigabitEthernet0/22
IF-MIB::ifDescr.10123 = STRING: GigabitEthernet0/23
IF-MIB::ifDescr.10124 = STRING: GigabitEthernet0/24
IF-MIB::ifDescr.10125 = STRING: GigabitEthernet0/25
IF-MIB::ifDescr.10126 = STRING: GigabitEthernet0/26
IF-MIB::ifDescr.10127 = STRING: GigabitEthernet0/27
IF-MIB::ifDescr.10128 = STRING: GigabitEthernet0/28
IF-MIB::ifDescr.10501 = STRING: Null0
Jessuzz94
Posts: 162
Joined: Thu Jun 04, 2015 12:08 pm

Re: My check_snmp command doesn´t work for switch monitoring

Post by Jessuzz94 »

So you mean the Port 1 is like the main port of the switch, like the native vlan, always present, something like that?
jdalrymple
Skynet Drone
Posts: 2620
Joined: Wed Feb 11, 2015 1:56 pm

Re: My check_snmp command doesn´t work for switch monitoring

Post by jdalrymple »

Your service:

Code: Select all

define service{
use generic-service
host_name switchcisco
service_description Port 1 Status
check_command check_snmp!ifOperStatus.1
}
That gets you the status of the interface at SNMP OID index 1 (ifOperStatus.1)

If your switch was like mine, and you wanted the status of GigabitEthernet0/1 you would want the status of the interface at index 10101, so your service would read like this actually:

Code: Select all

define service{
use generic-service
host_name switchcisco
service_description Port 1 Status
check_command check_snmp!ifOperStatus.10101
}
You can run the same command I did against your switch to pair up indexes with interface names.
Jessuzz94
Posts: 162
Joined: Thu Jun 04, 2015 12:08 pm

Re: My check_snmp command doesn´t work for switch monitoring

Post by Jessuzz94 »

but for the interfaces fast ethernet is like ifOperStatus.1,2,3,4..... the number is corresponding to the number of the interface?, for example if i want to monitor the interface 23 of my switch, the service command is check_snmp!ifOperStatus.23?
jdalrymple
Skynet Drone
Posts: 2620
Joined: Wed Feb 11, 2015 1:56 pm

Re: My check_snmp command doesn´t work for switch monitoring

Post by jdalrymple »

No, the SNMP index is somewhat arbitrary. If you make note of my output from above you can see the snmp offset for switchport (Interface) GigabitEthernet0/23 is 10123.
jdalrymple wrote:

Code: Select all

[jdalrymple@localhost libexec]$ snmpwalk -v 1 -c public <cisco> IF-MIB::ifDescr
IF-MIB::ifDescr.1 = STRING: Vlan1

...

IF-MIB::ifDescr.10123 = STRING: GigabitEthernet0/23
So if I wanted to monitor that switchport in my environment it would be:

Code: Select all

check_command check_snmp!ifOperStatus.10123
Jessuzz94
Posts: 162
Joined: Thu Jun 04, 2015 12:08 pm

Re: My check_snmp command doesn´t work for switch monitoring

Post by Jessuzz94 »

The command snmp walk show me this

Code: Select all

xxxxx@ubuntu:~$ snmpwalk -v 1 -c public 192.168.1.20 IF-MIB::ifDescr
IF-MIB::ifDescr.1 = STRING: VLAN1
IF-MIB::ifDescr.2 = STRING: FastEthernet0/1
IF-MIB::ifDescr.3 = STRING: FastEthernet0/2
IF-MIB::ifDescr.4 = STRING: FastEthernet0/3
IF-MIB::ifDescr.5 = STRING: FastEthernet0/4
IF-MIB::ifDescr.6 = STRING: FastEthernet0/5
IF-MIB::ifDescr.7 = STRING: FastEthernet0/6
IF-MIB::ifDescr.8 = STRING: FastEthernet0/7
IF-MIB::ifDescr.9 = STRING: FastEthernet0/8
IF-MIB::ifDescr.10 = STRING: FastEthernet0/9
IF-MIB::ifDescr.11 = STRING: FastEthernet0/10
IF-MIB::ifDescr.12 = STRING: FastEthernet0/11
IF-MIB::ifDescr.13 = STRING: FastEthernet0/12
IF-MIB::ifDescr.14 = STRING: FastEthernet0/13
IF-MIB::ifDescr.15 = STRING: FastEthernet0/14
IF-MIB::ifDescr.16 = STRING: FastEthernet0/15
IF-MIB::ifDescr.17 = STRING: FastEthernet0/16
IF-MIB::ifDescr.18 = STRING: FastEthernet0/17
IF-MIB::ifDescr.19 = STRING: FastEthernet0/18
IF-MIB::ifDescr.20 = STRING: FastEthernet0/19
IF-MIB::ifDescr.21 = STRING: FastEthernet0/20
IF-MIB::ifDescr.22 = STRING: FastEthernet0/21
IF-MIB::ifDescr.23 = STRING: FastEthernet0/22
IF-MIB::ifDescr.24 = STRING: FastEthernet0/23
IF-MIB::ifDescr.25 = STRING: FastEthernet0/24
IF-MIB::ifDescr.26 = STRING: Null0
IF-MIB::ifDescr.27 = STRING: VLAN10
so, your command shows you list of interfaces in different numbers, thats are the mines, so is correct if i put just the number of the interfaces how describes up there?
jdalrymple
Skynet Drone
Posts: 2620
Joined: Wed Feb 11, 2015 1:56 pm

Re: My check_snmp command doesn´t work for switch monitoring

Post by jdalrymple »

Jessuzz94 wrote:The command snmp walk show me this

Code: Select all

xxxxx@ubuntu:~$ snmpwalk -v 1 -c public 192.168.1.20 IF-MIB::ifDescr
IF-MIB::ifDescr.1 = STRING: VLAN1
IF-MIB::ifDescr.2 = STRING: FastEthernet0/1
IF-MIB::ifDescr.3 = STRING: FastEthernet0/2
IF-MIB::ifDescr.4 = STRING: FastEthernet0/3
IF-MIB::ifDescr.5 = STRING: FastEthernet0/4
IF-MIB::ifDescr.6 = STRING: FastEthernet0/5
IF-MIB::ifDescr.7 = STRING: FastEthernet0/6
IF-MIB::ifDescr.8 = STRING: FastEthernet0/7
IF-MIB::ifDescr.9 = STRING: FastEthernet0/8
IF-MIB::ifDescr.10 = STRING: FastEthernet0/9
IF-MIB::ifDescr.11 = STRING: FastEthernet0/10
IF-MIB::ifDescr.12 = STRING: FastEthernet0/11
IF-MIB::ifDescr.13 = STRING: FastEthernet0/12
IF-MIB::ifDescr.14 = STRING: FastEthernet0/13
IF-MIB::ifDescr.15 = STRING: FastEthernet0/14
IF-MIB::ifDescr.16 = STRING: FastEthernet0/15
IF-MIB::ifDescr.17 = STRING: FastEthernet0/16
IF-MIB::ifDescr.18 = STRING: FastEthernet0/17
IF-MIB::ifDescr.19 = STRING: FastEthernet0/18
IF-MIB::ifDescr.20 = STRING: FastEthernet0/19
IF-MIB::ifDescr.21 = STRING: FastEthernet0/20
IF-MIB::ifDescr.22 = STRING: FastEthernet0/21
IF-MIB::ifDescr.23 = STRING: FastEthernet0/22
IF-MIB::ifDescr.24 = STRING: FastEthernet0/23
IF-MIB::ifDescr.25 = STRING: FastEthernet0/24
IF-MIB::ifDescr.26 = STRING: Null0
IF-MIB::ifDescr.27 = STRING: VLAN10
so, your command shows you list of interfaces in different numbers, thats are the mines, so is correct if i put just the number of the interfaces how describes up there?
The index is the componenet after "ifDescr." and before " = STRING"...

IF-MIB::ifDescr.1 = STRING: VLAN1
IF-MIB::ifDescr.2 = STRING: FastEthernet0/1
IF-MIB::ifDescr.3 = STRING: FastEthernet0/2

If you want to monitor interface FastEthernet0/1:

Code: Select all

define service{
use generic-service
host_name switchcisco
service_description Port 1 Status
check_command check_snmp!ifOperStatus.2
}
Jessuzz94
Posts: 162
Joined: Thu Jun 04, 2015 12:08 pm

Re: My check_snmp command doesn´t work for switch monitoring

Post by Jessuzz94 »

Ooooh trueeeee, you right i didnt see it, ok im going to test it. thanks!!,
ssax
Dreams In Code
Posts: 7682
Joined: Wed Feb 11, 2015 12:54 pm

Re: My check_snmp command doesn´t work for switch monitoring

Post by ssax »

Great, let us know the results.
Locked