COMPLETE: Poll FDB tables and allow searching for MAC addresses

Poll/store FDB/CAM tables from devices (mainly layer2 switching devices) and allow for searching of MAC addresses within the CAM tables.

Example: snmpbulkwalk -v2c -c ‘COMMUNITY’@VLAN DEVICE -M mibs/ -m BRIDGE-MIB dot1dTpFdbTable -OqsX

dot1dTpFdbAddress[0:50:56:89:77:62] 0:50:56:89:77:62
dot1dTpFdbAddress[24:e9:b3:ae:e6:16] 24:e9:b3:ae:e6:16
dot1dTpFdbPort[0:50:56:89:77:62] 50
dot1dTpFdbPort[24:e9:b3:ae:e6:16] 50
dot1dTpFdbStatus[0:50:56:89:77:62] learned
dot1dTpFdbStatus[24:e9:b3:ae:e6:16] learned

https://github.com/librenms/librenms/issues/1196

3 Likes

Hello,

@laf , thanks for this feature.
I would like to say that I would like in feature.

  • I am use lot of Cisco Switch.
  • I would like retrieve @mac / vlan / interface from Cam
  • In GUI > see the picture

This is my test of my own poller.

1- Device
2- mac
3- ip (retrieve in other table, arp )
4- Interface
5- vlan
6- first recovery
7 - last recovery

Is it possible to delete the record after a certain time ?

It’s juste my whish…

Cordialy,

how did you create that “FDB” tab next to the “ARP” search tab ?

1 Like

Hi,

  • I develloped myself a poller module for this.

  • I modified LibreNSM for display this.

But my code is lost.

Ok. I’ll look into how to do it, but i guess it may turn out to be too much work for a non-coder

I will try to find my ugly code et send to you.

@aauvinet

If you find the code, could you sent it to me as well? We are very interested in this feauture and I’m willing to develop it. It would be nice to have a reference and maybe I could write up cleaner code.

Thanks!

2 Likes

Hello @EnzoZafra,

I dont’ know to take you files for put in my librenms.

  • Can you say to me how do it ?
  • How I download your files and put it in my Librenms ?
    Thanks you,

Thank you,
I try as soon as possible

cdlt,

Hi,

I tried but :

root@test-librenms:/opt/librenms# ./discovery.php -h  sw-derva2.reseau.nantes.net -m fdb -vv
LibreNMS Discovery
===================================
Version info:
Commit SHA: 781ba780fa6fd11c851d61ee24a96308bb6f3082
Commit Date: 1494336977
DB Schema: 190
PHP: 5.4.45-0+deb7u8
MySQL: 5.5.55-0+deb7u1
RRDTool: 1.4.7
SNMP: NET-SNMP 5.4.3
==================================DEBUG!
DB Schema update started....
SQL[SELECT version FROM `dbSchema` ORDER BY version DESC LIMIT 1]
DB Schema already up to date.
SQL[SELECT * FROM `devices` WHERE status = 1 AND disabled = 0 AND `hostname` LIKE 'sw-derva2.reseau.nantes.net' ORDER BY device_id DESC]
SQL[SELECT * FROM devices_attribs WHERE `device_id` = '718']
sw-derva2.reseau.nantes.net 718 ios SQL[INSERT INTO `device_perf` (`xmt`,`rcv`,`loss`,`min`,`max`,`avg`,`device_id`,`timestamp`)  VALUES ('3','3','0','7.07','29.8','14.8','718',NOW())]
SNMP Check response code: 0
SQL[SELECT attrib_value FROM devices_attribs WHERE `device_id` = '718' AND `attrib_type` = 'poll_mib' ]

SQL[SELECT attrib_value FROM devices_attribs WHERE `device_id` = '718' AND `attrib_type` = 'poll_mib' ]
SQL[UPDATE `devices` set `last_discovered` =NOW(),`last_discovered_timetaken` ='0.472' WHERE `device_id` = '718']
Discovered in 0.472 seconds

SQL[INSERT INTO `perf_times` (`type`,`doing`,`start`,`duration`,`devices`,`poller`)  VALUES ('discover','sw-derva2.reseau.nantes.net','1494339942.6812','0.518','1','test-librenms\n')]
./discovery.php sw-derva2.reseau.nantes.net 2017-05-09 16:25:43 - 1 devices discovered in 0.518 secs
SNMP: Get[1/0.02s] Walk [0/0.00s]
MySQL: Cell[3/0.00s] Row[2/0.00s] Rows[4/0.01s] Column[0/0.00s] Update[1/0.00s] Insert[2/0.00s] Delete[0/0.00s]
root@test-librenms:/opt/librenms#

I seem that script don’t work.

Update by going into the installation directory and run ‘git pull origin master’
I renamed the module to (fdb-tables) to match the arp tables discovery. However to be sure, try running

./discovery.php -h [hostname] -dd

to run all modules.

I have lot of problem with my librnms.
I dont’ understand what happend.
I made it lot of time but this time it’s complicated.
When i want to add a device, i have this :

root@test-librenms:/opt/librenms# php addhost.php swithc public v2c
Invalid port association_mode ‘ifIndex’. Valid modes are:
root@test-librenms:/opt/librenms#

I reinstall it from scratch.

Just run ./addhost.php

Also worth running ./validate.php

Hello,

Sorry, but dont’work

****************** ./discovery.php -h  sw-manu-b2-1.reseau.nantes.net  -vvv >> discovery.txt ********************
#### Load disco module fdb-table ####
SQL[e[0;33mSELECT `ifIndex`,`port_id` FROM `ports` WHERE `device_id` = '2'e[0m] 
FDB table : 
SNMP[e[0;36m/usr/bin/snmpbulkwalk -v2c -c 'public' -OQUs -m CISCO-VTP-MIB -M /opt/librenms/mibs:/opt/librenms/mibs/cisco udp:sw-manu-b2-1.reseau.nantes.net:161 vtpVlanStatee[0m]
vtpVlanState.1.1 = operational
vtpVlanState.1.2 = operational
vtpVlanState.1.6 = operational
vtpVlanState.1.1002 = operational
vtpVlanState.1.1003 = operational
vtpVlanState.1.1004 = operational
vtpVlanState.1.1005 = operational

Array
SNMP[e[0;36m/usr/bin/snmpbulkwalk -v2c -c 'public'@1 -OqsX -m BRIDGE-MIB -M /opt/librenms/mibs:/opt/librenms/mibs/cisco udp:sw-manu-b2-1.reseau.nantes.net:161 dot1dTpFdbPorte[0m]
dot1dTpFdbPort[0:7:eb:96:9b:56] 49
dot1dTpFdbPort[0:1d:71:ad:15:c1] 49
dot1dTpFdbPort[28:34:a2:ba:91:41] 49
dot1dTpFdbPort[64:16:8d:b9:f1:c1] 49
dot1dTpFdbPort[f4:ac:c1:b8:b3:40] 49

SNMP[e[0;36m/usr/bin/snmpbulkwalk -v2c -c 'public'@1 -OqsX -m BRIDGE-MIB -M /opt/librenms/mibs:/opt/librenms/mibs/cisco udp:sw-manu-b2-1.reseau.nantes.net:161 dot1dBasePortIfIndexe[0m]
dot1dBasePortIfIndex[49] 10101
dot1dBasePortIfIndex[50] 10102

Array
SNMP[e[0;36m/usr/bin/snmpbulkwalk -v2c -c 'public'@2 -OqsX -m BRIDGE-MIB -M /opt/librenms/mibs:/opt/librenms/mibs/cisco udp:sw-manu-b2-1.reseau.nantes.net:161 dot1dTpFdbPorte[0m]
dot1dTpFdbPort[0:f:fe:ce:77:ab] 49
dot1dTpFdbPort[0:1b:a9:18:8c:6e] 49
dot1dTpFdbPort[0:1b:a9:65:db:4d] 49
dot1dTpFdbPort[0:1b:a9:75:3:72] 49
dot1dTpFdbPort[0:1b:a9:ae:b8:8] 49
dot1dTpFdbPort[0:26:73:18:82:fc] 49
dot1dTpFdbPort[0:26:73:28:e7:dd] 49
dot1dTpFdbPort[0:26:73:5f:41:65] 49
dot1dTpFdbPort[0:26:73:5f:60:83] 49
dot1dTpFdbPort[0:26:73:63:53:6b] 49
dot1dTpFdbPort[0:26:73:6e:72:88] 49
dot1dTpFdbPort[0:26:73:7f:5f:5] 49
dot1dTpFdbPort[0:26:73:8a:da:87] 49
dot1dTpFdbPort[0:26:73:8f:f7:e] 49
dot1dTpFdbPort[0:26:73:b4:eb:52] 49
dot1dTpFdbPort[0:26:73:c6:69:7f] 49
dot1dTpFdbPort[0:80:77:81:c2:58] 49
dot1dTpFdbPort[0:80:77:87:18:1b] 49
dot1dTpFdbPort[0:80:77:8a:6e:3b] 49
dot1dTpFdbPort[0:80:77:8d:ab:eb] 49
dot1dTpFdbPort[0:80:77:8d:ab:fa] 49
dot1dTpFdbPort[0:80:77:d3:9:14] 49
dot1dTpFdbPort[0:80:77:d8:fb:97] 49
dot1dTpFdbPort[0:80:77:d8:ff:65] 49
dot1dTpFdbPort[0:80:77:d8:ff:67] 49
dot1dTpFdbPort[0:80:77:e1:d:d1] 49
dot1dTpFdbPort[0:80:77:e1:d:e4] 49
dot1dTpFdbPort[0:80:77:e8:69:87] 49
dot1dTpFdbPort[10:60:4b:5b:73:dd] 49
dot1dTpFdbPort[10:60:4b:5b:73:df] 49
dot1dTpFdbPort[10:60:4b:5b:73:e3] 49
dot1dTpFdbPort[10:60:4b:5b:74:8c] 49
dot1dTpFdbPort[10:60:4b:63:8c:2f] 49
dot1dTpFdbPort[10:60:4b:64:57:d5] 49
dot1dTpFdbPort[10:60:4b:64:77:99] 49
dot1dTpFdbPort[10:60:4b:65:8e:69] 49
dot1dTpFdbPort[10:60:4b:65:8e:a0] 49
dot1dTpFdbPort[10:60:4b:65:8e:a3] 49
dot1dTpFdbPort[10:60:4b:65:8e:a8] 49
dot1dTpFdbPort[10:60:4b:65:90:31] 49
dot1dTpFdbPort[10:60:4b:65:ae:31] 49
dot1dTpFdbPort[10:60:4b:68:40:3c] 49
dot1dTpFdbPort[10:60:4b:68:40:72] 49
dot1dTpFdbPort[10:60:4b:6a:51:45] 49
dot1dTpFdbPort[10:60:4b:6a:51:47] 49
dot1dTpFdbPort[10:60:4b:6a:51:53] 49
dot1dTpFdbPort[10:60:4b:6a:51:5c] 49
dot1dTpFdbPort[10:60:4b:78:ea:74] 49
dot1dTpFdbPort[10:60:4b:81:67:34] 49
dot1dTpFdbPort[10:60:4b:83:55:42] 49
dot1dTpFdbPort[10:60:4b:85:4a:77] 49
dot1dTpFdbPort[10:60:4b:86:c5:68] 49
dot1dTpFdbPort[10:60:4b:86:c5:69] 49
dot1dTpFdbPort[24:be:5:f:b7:c7] 49
dot1dTpFdbPort[24:be:5:15:50:83] 49
dot1dTpFdbPort[24:be:5:1f:7e:51] 49
dot1dTpFdbPort[2c:41:38:ac:5e:b9] 49
dot1dTpFdbPort[2c:41:38:ac:65:ea] 49
dot1dTpFdbPort[2c:44:fd:13:3:dd] 49
dot1dTpFdbPort[2c:44:fd:13:3:e9] 49
dot1dTpFdbPort[2c:44:fd:13:93:b2] 49
dot1dTpFdbPort[2c:44:fd:25:2b:5] 49
dot1dTpFdbPort[2c:44:fd:25:2d:67] 49
dot1dTpFdbPort[2c:44:fd:25:2d:85] 49
dot1dTpFdbPort[2c:44:fd:25:2d:8a] 49
dot1dTpFdbPort[2c:44:fd:25:2d:b1] 49
dot1dTpFdbPort[2c:44:fd:25:68:ef] 49
dot1dTpFdbPort[2c:44:fd:25:6b:37] 49
dot1dTpFdbPort[2c:44:fd:25:8c:10] 49
dot1dTpFdbPort[2c:44:fd:25:8c:12] 49
dot1dTpFdbPort[2c:44:fd:2a:32:3c] 49
dot1dTpFdbPort[2c:44:fd:2d:77:ca] 49
dot1dTpFdbPort[2c:44:fd:2d:78:8b] 49
dot1dTpFdbPort[2c:44:fd:32:f0:20] 49
dot1dTpFdbPort[2c:44:fd:32:f4:6c] 49
dot1dTpFdbPort[2c:44:fd:33:93:11] 49
dot1dTpFdbPort[2c:44:fd:33:93:5b] 49
dot1dTpFdbPort[2c:44:fd:37:50:27] 49
dot1dTpFdbPort[2c:44:fd:39:80:ff] 49
dot1dTpFdbPort[30:5:5c:b0:74:df] 49
dot1dTpFdbPort[30:5:5c:b0:75:6f] 49
dot1dTpFdbPort[30:5:5c:b0:91:cd] 49
dot1dTpFdbPort[30:5:5c:c6:47:80] 49
dot1dTpFdbPort[3c:d9:2b:5a:f2:ae] 49
dot1dTpFdbPort[40:a8:f0:50:4c:1b] 49
dot1dTpFdbPort[40:a8:f0:50:4c:1c] 49
dot1dTpFdbPort[40:a8:f0:50:4c:23] 49
dot1dTpFdbPort[48:f:cf:33:e2:97] 49
dot1dTpFdbPort[48:f:cf:33:e2:9e] 49
dot1dTpFdbPort[48:f:cf:33:e2:a1] 49
dot1dTpFdbPort[50:65:f3:25:89:10] 49
dot1dTpFdbPort[50:65:f3:29:4:ba] 49
dot1dTpFdbPort[50:65:f3:2a:29:c1] 49
dot1dTpFdbPort[50:65:f3:42:16:31] 49
dot1dTpFdbPort[64:51:6:37:3e:8e] 49
dot1dTpFdbPort[64:51:6:5b:ec:a4] 49
dot1dTpFdbPort[64:51:6:5c:6a:32] 49
dot1dTpFdbPort[64:51:6:5c:ec:6] 49
dot1dTpFdbPort[64:51:6:60:cd:2b] 49
dot1dTpFdbPort[64:51:6:60:cd:77] 49
dot1dTpFdbPort[64:51:6:61:4e:aa] 49
dot1dTpFdbPort[70:5a:f:34:30:fa] 49
dot1dTpFdbPort[80:c1:6e:e3:7:71] 49
dot1dTpFdbPort[80:c1:6e:e3:7:7c] 49
dot1dTpFdbPort[88:51:fb:48:2d:a2] 49
dot1dTpFdbPort[88:51:fb:4f:6e:56] 49
dot1dTpFdbPort[88:51:fb:50:fa:c5] 49
dot1dTpFdbPort[88:51:fb:50:fa:c7] 49
dot1dTpFdbPort[88:51:fb:50:fa:cd] 49
dot1dTpFdbPort[88:51:fb:53:65:3d] 49
dot1dTpFdbPort[88:51:fb:55:75:4a] 49
dot1dTpFdbPort[88:51:fb:55:75:56] 49
dot1dTpFdbPort[88:51:fb:57:fb:ff] 49
dot1dTpFdbPort[88:51:fb:59:6f:8c] 49
dot1dTpFdbPort[88:51:fb:59:e7:48] 49
dot1dTpFdbPort[88:51:fb:5a:56:92] 49
dot1dTpFdbPort[88:51:fb:5b:d5:20] 49
dot1dTpFdbPort[88:51:fb:61:c0:a8] 49
dot1dTpFdbPort[8c:dc:d4:21:1:99] 49
dot1dTpFdbPort[8c:dc:d4:21:1:ab] 49
dot1dTpFdbPort[8c:dc:d4:22:80:84] 49
dot1dTpFdbPort[8c:dc:d4:23:dd:5e] 49
dot1dTpFdbPort[8c:dc:d4:3b:d0:e4] 49
dot1dTpFdbPort[8c:dc:d4:3b:dd:3] 49
dot1dTpFdbPort[8c:dc:d4:3d:8f:52] 49
dot1dTpFdbPort[8c:dc:d4:3d:8f:66] 49
dot1dTpFdbPort[8c:dc:d4:3e:8a:e4] 49
dot1dTpFdbPort[8c:dc:d4:3e:8b:2e] 49
dot1dTpFdbPort[8c:dc:d4:3f:8a:2] 49
dot1dTpFdbPort[8c:dc:d4:47:f6:4] 49
dot1dTpFdbPort[8c:dc:d4:4c:36:6c] 49
dot1dTpFdbPort[8c:dc:d4:4c:36:71] 49
dot1dTpFdbPort[8c:dc:d4:4c:79:f1] 49
dot1dTpFdbPort[8c:dc:d4:51:96:e3] 49
dot1dTpFdbPort[8c:dc:d4:52:89:b8] 49
dot1dTpFdbPort[8c:dc:d4:52:89:c0] 49
dot1dTpFdbPort[8c:dc:d4:52:89:c1] 49
dot1dTpFdbPort[8c:dc:d4:52:c8:b5] 49
dot1dTpFdbPort[a0:48:1c:90:8e:56] 49
dot1dTpFdbPort[a0:48:1c:91:fc:f2] 49
dot1dTpFdbPort[a0:48:1c:92:fd:b3] 49
dot1dTpFdbPort[a0:48:1c:92:fd:b8] 49
dot1dTpFdbPort[a0:48:1c:92:fe:bb] 49
dot1dTpFdbPort[a0:48:1c:92:ff:2e] 49
dot1dTpFdbPort[a0:48:1c:92:ff:48] 49
dot1dTpFdbPort[a0:48:1c:97:fa:bf] 49
dot1dTpFdbPort[a0:48:1c:97:fa:c0] 49
dot1dTpFdbPort[a0:48:1c:9a:58:fa] 49
dot1dTpFdbPort[a0:48:1c:9a:7d:f8] 49
dot1dTpFdbPort[a0:48:1c:9c:8f:e7] 49
dot1dTpFdbPort[a0:48:1c:9c:90:6b] 49
dot1dTpFdbPort[a0:48:1c:9e:a4:b6] 49
dot1dTpFdbPort[a0:48:1c:9f:57:ad] 49
dot1dTpFdbPort[a0:48:1c:9f:65:8b] 49
dot1dTpFdbPort[a0:48:1c:a0:e6:da] 49
dot1dTpFdbPort[a0:48:1c:a3:4d:40] 49
dot1dTpFdbPort[a0:48:1c:a3:54:6a] 49
dot1dTpFdbPort[a0:48:1c:a3:6f:c7] 49
dot1dTpFdbPort[a0:d3:c1:17:e7:95] 49
dot1dTpFdbPort[a0:d3:c1:17:e7:ec] 49
dot1dTpFdbPort[a0:d3:c1:17:ec:35] 49
dot1dTpFdbPort[a0:d3:c1:25:a9:4e] 49
dot1dTpFdbPort[a0:d3:c1:27:b0:44] 49
dot1dTpFdbPort[a0:d3:c1:2e:4d:f] 49
dot1dTpFdbPort[b4:b5:2f:ad:fe:94] 49
dot1dTpFdbPort[b4:b5:2f:b2:ed:11] 49
dot1dTpFdbPort[b4:b5:2f:ca:ba:28] 49
dot1dTpFdbPort[b4:b5:2f:ce:6b:6a] 49
dot1dTpFdbPort[b4:b5:2f:cf:ae:2e] 49
dot1dTpFdbPort[b4:b5:2f:cf:ae:3a] 49
dot1dTpFdbPort[b4:b5:2f:cf:ae:5c] 49
dot1dTpFdbPort[b4:b5:2f:cf:e8:ff] 49
dot1dTpFdbPort[b4:b5:2f:cf:e9:24] 49
dot1dTpFdbPort[b4:b5:2f:cf:e9:25] 49
dot1dTpFdbPort[b4:b5:2f:cf:e9:26] 49
dot1dTpFdbPort[b4:b5:2f:d0:21:bf] 49
dot1dTpFdbPort[b4:b5:2f:d0:21:c1] 49
dot1dTpFdbPort[b4:b5:2f:d5:90:5] 49
dot1dTpFdbPort[b4:b5:2f:d5:90:a] 49
dot1dTpFdbPort[b4:b5:2f:d5:90:f] 49
dot1dTpFdbPort[b8:6b:23:1c:a5:19] 49
dot1dTpFdbPort[b8:6b:23:65:b9:81] 49
dot1dTpFdbPort[b8:6b:23:ab:b8:81] 49
dot1dTpFdbPort[b8:6b:23:d5:b7:81] 49
dot1dTpFdbPort[c4:34:6b:60:7b:61] 49
dot1dTpFdbPort[c4:34:6b:60:7b:90] 49
dot1dTpFdbPort[c4:34:6b:60:7b:9b] 49
dot1dTpFdbPort[c4:34:6b:60:7b:9e] 49
dot1dTpFdbPort[c4:34:6b:60:b7:e0] 49
dot1dTpFdbPort[c4:34:6b:60:b7:ec] 49
dot1dTpFdbPort[c4:34:6b:60:b8:f] 49
dot1dTpFdbPort[c4:34:6b:60:b8:1c] 49
dot1dTpFdbPort[c4:34:6b:64:61:e7] 49
dot1dTpFdbPort[d4:c9:ef:ed:f6:2c] 49
dot1dTpFdbPort[d4:c9:ef:ed:f7:6b] 49
dot1dTpFdbPort[d4:c9:ef:ed:f7:9f] 49
dot1dTpFdbPort[d4:c9:ef:ed:f9:38] 49
dot1dTpFdbPort[d4:c9:ef:ed:f9:39] 49
dot1dTpFdbPort[d4:c9:ef:ed:fc:c1] 49
dot1dTpFdbPort[d4:c9:ef:ed:fc:c4] 49
dot1dTpFdbPort[d4:c9:ef:ee:ec:59] 49
dot1dTpFdbPort[d4:c9:ef:ee:ec:70] 49
dot1dTpFdbPort[d4:c9:ef:ee:ec:86] 49
dot1dTpFdbPort[d4:c9:ef:ee:f6:b9] 49
dot1dTpFdbPort[d4:c9:ef:f1:8f:19] 49
dot1dTpFdbPort[d4:c9:ef:f1:e0:53] 49
dot1dTpFdbPort[d4:c9:ef:f2:db:60] 49
dot1dTpFdbPort[d4:c9:ef:f2:db:71] 49
dot1dTpFdbPort[d4:c9:ef:f2:db:76] 49
dot1dTpFdbPort[d4:c9:ef:f2:db:7e] 49
dot1dTpFdbPort[d4:c9:ef:f2:db:8e] 49
dot1dTpFdbPort[d4:c9:ef:f2:db:90] 49
dot1dTpFdbPort[d4:c9:ef:f2:e6:67] 49
dot1dTpFdbPort[d4:c9:ef:f2:e6:6b] 49
dot1dTpFdbPort[d4:c9:ef:f3:de:c1] 49
dot1dTpFdbPort[d4:c9:ef:f3:de:c2] 49
dot1dTpFdbPort[dc:4a:3e:91:c0:f0] 49
dot1dTpFdbPort[dc:4a:3e:97:f7:3f] 49
dot1dTpFdbPort[e8:39:35:49:f6:7a] 49
dot1dTpFdbPort[e8:39:35:56:3d:7b] 49
dot1dTpFdbPort[e8:39:35:5c:fd:df] 49
dot1dTpFdbPort[e8:39:35:5c:fd:e4] 49
dot1dTpFdbPort[e8:39:35:60:33:76] 49
dot1dTpFdbPort[e8:39:35:60:33:84] 49
dot1dTpFdbPort[e8:39:35:60:33:94] 49
dot1dTpFdbPort[e8:39:35:60:36:4f] 49
dot1dTpFdbPort[e8:9d:87:b7:8c:25] 49
dot1dTpFdbPort[ec:8e:b5:75:fa:f1] 49
dot1dTpFdbPort[ec:8e:b5:75:fb:14] 49
dot1dTpFdbPort[ec:8e:b5:75:fb:f7] 49
dot1dTpFdbPort[ec:8e:b5:76:2c:9f] 49
dot1dTpFdbPort[ec:8e:b5:76:2d:c8] 49
dot1dTpFdbPort[ec:8e:b5:78:1:46] 49
dot1dTpFdbPort[ec:8e:b5:78:1:67] 49
dot1dTpFdbPort[ec:8e:b5:79:c6:18] 49
dot1dTpFdbPort[ec:8e:b5:7c:d6:39] 49
dot1dTpFdbPort[ec:8e:b5:7c:d7:af] 49
dot1dTpFdbPort[ec:8e:b5:7c:d7:c7] 49
dot1dTpFdbPort[ec:8e:b5:7c:d7:f2] 49
dot1dTpFdbPort[ec:8e:b5:7c:d8:6] 49
dot1dTpFdbPort[ec:8e:b5:7c:d8:12] 49
dot1dTpFdbPort[ec:8e:b5:7c:d8:40] 49
dot1dTpFdbPort[ec:8e:b5:7c:d9:1b] 49
dot1dTpFdbPort[ec:8e:b5:7c:d9:6b] 49
dot1dTpFdbPort[ec:8e:b5:7c:d9:96] 49
dot1dTpFdbPort[ec:8e:b5:7c:d9:ce] 49
dot1dTpFdbPort[ec:8e:b5:7c:da:6e] 49
dot1dTpFdbPort[ec:8e:b5:7c:da:e9] 49
dot1dTpFdbPort[ec:b1:d7:2d:fb:ab] 49
dot1dTpFdbPort[ec:b1:d7:61:99:69] 49
dot1dTpFdbPort[ec:b1:d7:6a:db:fc] 49
dot1dTpFdbPort[ec:b1:d7:6b:e3:6d] 49
dot1dTpFdbPort[ec:b1:d7:6c:c6:4b] 49
dot1dTpFdbPort[ec:b1:d7:6c:c8:bc] 49
dot1dTpFdbPort[ec:b1:d7:6d:5c:3d] 49
dot1dTpFdbPort[ec:b1:d7:6d:5e:37] 49
dot1dTpFdbPort[ec:b1:d7:70:99:24] 49
dot1dTpFdbPort[ec:b1:d7:70:9a:92] 49
dot1dTpFdbPort[ec:b1:d7:70:9a:9f] 49
dot1dTpFdbPort[ec:b1:d7:70:9a:ac] 49
dot1dTpFdbPort[ec:b1:d7:70:9a:b2] 49
dot1dTpFdbPort[ec:b1:d7:72:65:3e] 49
dot1dTpFdbPort[ec:b1:d7:72:67:e7] 49
dot1dTpFdbPort[f0:92:1c:df:1c:83] 49
dot1dTpFdbPort[f4:ac:c1:b8:b3:40] 49
dot1dTpFdbPort[fc:3f:db:3:61:75] 49
dot1dTpFdbPort[fc:3f:db:7:69:2b] 49
dot1dTpFdbPort[fc:3f:db:10:74:69] 49
dot1dTpFdbPort[fc:3f:db:10:78:23] 49
dot1dTpFdbPort[fc:3f:db:10:78:cb] 49
dot1dTpFdbPort[fc:3f:db:10:7a:29] 49

SNMP[e[0;36m/usr/bin/snmpbulkwalk -v2c -c 'public'@2 -OqsX -m BRIDGE-MIB -M /opt/librenms/mibs:/opt/librenms/mibs/cisco udp:sw-manu-b2-1.reseau.nantes.net:161 dot1dBasePortIfIndexe[0m]
dot1dBasePortIfIndex[1] 10001
dot1dBasePortIfIndex[2] 10002
dot1dBasePortIfIndex[3] 10003
dot1dBasePortIfIndex[4] 10004
dot1dBasePortIfIndex[5] 10005
dot1dBasePortIfIndex[6] 10006
dot1dBasePortIfIndex[7] 10007
dot1dBasePortIfIndex[8] 10008
dot1dBasePortIfIndex[9] 10009
dot1dBasePortIfIndex[10] 10010
dot1dBasePortIfIndex[11] 10011
dot1dBasePortIfIndex[12] 10012
dot1dBasePortIfIndex[13] 10013
dot1dBasePortIfIndex[14] 10014
dot1dBasePortIfIndex[15] 10015
dot1dBasePortIfIndex[16] 10016
dot1dBasePortIfIndex[17] 10017
dot1dBasePortIfIndex[18] 10018
dot1dBasePortIfIndex[19] 10019
dot1dBasePortIfIndex[20] 10020
dot1dBasePortIfIndex[21] 10021
dot1dBasePortIfIndex[22] 10022
dot1dBasePortIfIndex[23] 10023
dot1dBasePortIfIndex[24] 10024
dot1dBasePortIfIndex[25] 10025
dot1dBasePortIfIndex[26] 10026
dot1dBasePortIfIndex[27] 10027
dot1dBasePortIfIndex[28] 10028
dot1dBasePortIfIndex[29] 10029
dot1dBasePortIfIndex[30] 10030
dot1dBasePortIfIndex[31] 10031
dot1dBasePortIfIndex[32] 10032
dot1dBasePortIfIndex[33] 10033
dot1dBasePortIfIndex[34] 10034
dot1dBasePortIfIndex[35] 10035
dot1dBasePortIfIndex[36] 10036
dot1dBasePortIfIndex[37] 10037
dot1dBasePortIfIndex[38] 10038
dot1dBasePortIfIndex[39] 10039
dot1dBasePortIfIndex[40] 10040
dot1dBasePortIfIndex[41] 10041
dot1dBasePortIfIndex[42] 10042
dot1dBasePortIfIndex[43] 10043
dot1dBasePortIfIndex[44] 10044
dot1dBasePortIfIndex[45] 10045
dot1dBasePortIfIndex[46] 10046
dot1dBasePortIfIndex[47] 10047
dot1dBasePortIfIndex[48] 10048
dot1dBasePortIfIndex[49] 10101
dot1dBasePortIfIndex[50] 10102

Array
SNMP[e[0;36m/usr/bin/snmpbulkwalk -v2c -c 'public'@6 -OqsX -m BRIDGE-MIB -M /opt/librenms/mibs:/opt/librenms/mibs/cisco udp:sw-manu-b2-1.reseau.nantes.net:161 dot1dTpFdbPorte[0m]
dot1dTpFdbPort[0:7:eb:96:9b:56] 49
dot1dTpFdbPort[0:1d:71:ad:15:c1] 49
dot1dTpFdbPort[28:34:a2:ba:91:41] 49
dot1dTpFdbPort[64:16:8d:b9:f1:c1] 49
dot1dTpFdbPort[f4:ac:c1:b8:b3:40] 49

SNMP[e[0;36m/usr/bin/snmpbulkwalk -v2c -c 'public'@6 -OqsX -m BRIDGE-MIB -M /opt/librenms/mibs:/opt/librenms/mibs/cisco udp:sw-manu-b2-1.reseau.nantes.net:161 dot1dBasePortIfIndexe[0m]
dot1dBasePortIfIndex[49] 10101
dot1dBasePortIfIndex[50] 10102

Array
SNMP[e[0;36m/usr/bin/snmpbulkwalk -v2c -c 'public'@1002 -OqsX -m BRIDGE-MIB -M /opt/librenms/mibs:/opt/librenms/mibs/cisco udp:sw-manu-b2-1.reseau.nantes.net:161 dot1dTpFdbPorte[0m]
dot1dTpFdbPort No Such Instance currently exists at this OID

Array
SNMP[e[0;36m/usr/bin/snmpbulkwalk -v2c -c 'public'@1003 -OqsX -m BRIDGE-MIB -M /opt/librenms/mibs:/opt/librenms/mibs/cisco udp:sw-manu-b2-1.reseau.nantes.net:161 dot1dTpFdbPorte[0m]
dot1dTpFdbPort No Such Instance currently exists at this OID

Array
SNMP[e[0;36m/usr/bin/snmpbulkwalk -v2c -c 'public'@1004 -OqsX -m BRIDGE-MIB -M /opt/librenms/mibs:/opt/librenms/mibs/cisco udp:sw-manu-b2-1.reseau.nantes.net:161 dot1dTpFdbPorte[0m]
dot1dTpFdbPort No Such Instance currently exists at this OID

Array
SNMP[e[0;36m/usr/bin/snmpbulkwalk -v2c -c 'public'@1005 -OqsX -m BRIDGE-MIB -M /opt/librenms/mibs:/opt/librenms/mibs/cisco udp:sw-manu-b2-1.reseau.nantes.net:161 dot1dTpFdbPorte[0m]
dot1dTpFdbPort No Such Instance currently exists at this OID

SQL[e[0;33mSELECT * FROM `ports_fdb` WHERE `device_id` = '2'e[0m] 

>> Runtime for discovery module 'fdb-table': 0.8090 seconds with 21008 bytes
#### Unload disco module fdb-table ####

Modules status: Global+ OS  Device  
#### Load disco module fdb ####

>> Runtime for discovery module 'fdb': 0.0000 seconds with 96 bytes
#### Unload disco module fdb ####

Modules status: Global- OS  Device  Module [ cisco-otv  ] disabled globally.

SQL[e[0;33mSELECT attrib_value FROM devices_attribs WHERE `device_id` = '2' AND `attrib_type` = 'poll_mib' e[0m] 
SQL[e[0;33mUPDATE `devices` set `last_discovered` =NOW(),`last_discovered_timetaken` ='6.486' WHERE `device_id` = '2'e[0m] 
Discovered in 6.486 seconds

SQL[e[0;33mINSERT INTO `perf_times` (`type`,`doing`,`start`,`duration`,`devices`,`poller`)  VALUES ('discover','sw-manu-b2-1.reseau.nantes.net','1494407908.0439','6.558','1','test-observium\n')e[0m] 
./discovery.php sw-manu-b2-1.reseau.nantes.net 2017-05-10 11:18:34 - 1 devices discovered in 6.558 secs
SNMP: Get[6/0.27s] Walk [78/3.82s]
MySQL: Cell[85/0.04s] Row[125/0.05s] Rows[70/0.08s] Column[0/0.00s] Update[118/0.80s] Insert[5/0.03s] Delete[2/0.00s]

***************************** In the Database  : *********************************

Database changed
mysql> select * from ports_fdb;
Empty set (0.00 sec)

mysql>

Are you sure that you’re pointing to the correct database in config.php? It looks like it is able to get the SNMP data correctly but not inserting. Also, I’ve made updates to it - see github.com/librenms/librenms/pull/6616 it might fix some issues.

Hello @EnzoZafra,

Yes, I am sure, others modules is OK.
Yes, It is able to get te snmp data but it isn’t able to populate database.

I dont know GitHub, I will ask my coworker for this,

Thank for lot of work you do !!
Cdlt,

I found the issue with the inserts to the database. I’ve made a new update to the github repository. Pull and try again. It should work now

@EnzoZafra

I tested on one switch, it’s Ok
I will try on lot of switchs as soon as possbile.

Thanks yous

Hi @EnzoZafra

It’s OK, Thank you for you job. very great !!

Just one question :

Is it possible to add column for last discovery date end to keep data for a month ?
For exemple, I loof for @ mac for devices but it is HS since 1 day, if the discovery scripts run all half hours (or hours…) , I can’t find @mac in the database.

For diagnose, it’s will be best.

Thanks again for your job.

Best regards,

1 Like