Reputation: 19
I am running an application which collects snmp data from more than 2000 switches every 5 mins, upoctets,downoctects,port status and displayes them in graphs and a switch view on web page with green or red as per port status, first time when i add device i walk through it get port index save it to db, every five min i get port index from db run it against oid do an snmpget get data port by port and save them to mysql.
there are almost 8 oids and more than 2000 devices which in serial takes longer the next oid is not executed until the last one completes. i have heared of snmpbulkget or snmptable but dont understand them,
i want an alternate way in which i can reduce the network traffic and get data of a table in bulk rather i execute a query snmpget for each oid one by one which normaly exeecd the five min difference.
i send a table request to a switch and it returns a table of values for all the port status.
it will reduce the wait for next call and speed up the process also will reduce network traffic.
is it possible?
can you sujjest improvement for my senario where too many thousands devices are queried every 5 mins for many interface counters.
thanks
Upvotes: 1
Views: 197
Reputation: 1092
SNMP getbulk command allows you to specify multiple OIDs and a maxrepetitions parameter that limits number of varbinds sent by agent in the reply. It is ideal for optimizing performance in situations like you describe. Of course there is a catch:
Upvotes: 0