This is an enhanced SNMP network interface collector for Diamond that provides:
- Requires a newer version of pysnmp. Tested on 4.2.5
- Requires Python > 2.7
- You'll need an
/etc/diamond/collectors/SNMPInterfacePoll.d/
directory to drop the OID flat file into. - On Ubuntu, place the collector directories and modules in
/usr/share/diamond/collectors/
as you would typically. - You'll have to create two configuration files. On Ubuntu they live in
/etc/diamond/collectors/
First, esnmpdiscoveryCollector.conf containing each device you want to discover interfaces for. Set the interval infrequently. This will only detect interface state changes and save the OID in a flat file for regular polling.
enabled = True
interval = 3600
[devices]
[[sw2]]
community = public
host = 10.10.0.1
[[sw2]]
community = public
host = 10.10.0.1
Second, esnmppollCollector.conf in /etc/diamond/collectors/ This is a hacky config file with a dummy device to enable the polling collector and set it's interval. The polling collector will gather which OID to poll from the flat file generated by the discovery collector.
enabled = True
interval = 60
[devices]
[[dummy]]
community = community
host = 127.0.0.1
port = 161