The SNMPInterfaceCollector is designed for collecting interface data from remote SNMP-enabled devices such as routers and switches using SNMP IF_MIB
The snmpinterfacecollector.py module should be installed into your Diamond installation collectors directory. This directory is defined in diamond.cfg under the collectors_path directive. This defaults to /usr/lib/diamond/collectors/ on Ubuntu.
The SNMPInterfaceCollector.cfg file should be installed into your diamond installation config directory. This directory is defined in diamond.cfg under the collectors_config_path directive. This defaults to /etc/diamond/ on Ubuntu.
Once the collector is installed and configured, you can wait for diamond to pick up the new collector automatically, or simply restart diamond.
Below is an example configuration for the SNMPInterfaceCollector. The collector can collect data any number of devices by adding configuration sections under the devices header. By default the collector will collect every 60 seconds. This might be a bit excessive and put unnecessary load on the devices being polled. You may wish to change this to every 300 seconds. However you need modify your graphite data retentions to handle this properly.
# Options for SNMPInterfaceCollector path = interface interval = 60 [devices] [[router1]] host = router1.example.com port = 161 community = public [[router2]] host = router1.example.com port = 161 community = public
Note: If you modify the SNMPInterfaceCollector configuration, you will need to restart diamond.
This implimentation is well suited for collecting a small number of metrics locally. If you want to collect a large number of remote metrics, consider https://github.com/GreggBzz/snmp-interface-poll as an alternative collector
|byte_unit||bit, byte,||Default numeric output(s)||list|
|enabled||False||Enable collecting these metrics||bool|
|measure_collector_time||False||Collect the collector run time in ms||bool|
|metrics_blacklist||None||Regex to match metrics to block. Mutually exclusive with metrics_whitelist||NoneType|
|metrics_whitelist||None||Regex to match metrics to transmit. Mutually exclusive with metrics_blacklist||NoneType|
|retries||3||Number of times to retry before bailing||int|
|timeout||5||Seconds before timing out the snmp connection||int|