Search All Sites
Nagios Live WebinarsLet our experts show you how Nagios can help your organization.
Don't miss your chance to attend the 2014 Nagios World Conference, Oct 13-16th. Informative Sessions, Networking, Food and Cocktails! Visit go.nagios.com/conference/ for more information or to register.
Originally based on check_traffic and check_snmp_cisco_ifstatus (as both had features that I needed, but neither were quite right for me), check_bandwidth3 is now a rewrite of the original check_bandwidth (but still using the Net::SNMP library), taking in the best bits of v1 and v2, as well as taking a whole new look at how to check and monitor network connections and usage.
Using the new-syntax --interface command, you can work your way from checking just a single interface on one device, to checking two or more interfaces on the same device, or even checking one or more interfaces on two or more devices! If you had a server with six network ports, with two connections to three switches, you could check them all with a single command and monitor it's overall network usage!
check_bandwidth3 --interface v1://switch.example.com/read.only.access:11
would check the 11th interface on switch.example.com using the read.only.access community over the snmpv1 protocol. Using
check_bandwidth3 --interface v2://switch.example.com/read.only.access:11,12
you could check the 11th AND 12th interfaces on switch.example.com, again, over the read.only.access community, but this time using the snmpv2c protocol, allowing support for 64-bit counters! If both ports were receiving data at 1Mbps at the same time, the script would report an overall usage of 2Mbps. But, with:
you can check the 3rd interface on switch_a using the snmpv2c protocol (on the switch.ro community) AND both the 5th and 6th interfaces on switch_b, using the snmpv3 protocol with a username and password this time. If switch_a was reporting 5Mbps on interface 3 of switch_a and 1Mbps on both 5 and 6 of switch_b, the script would report 7Mbps.
Cache storage is still available (with monitoring of data time-out for 32-bit counters), while --on-the-fly can be used to ignore cached (both reading and saving), and --pause is available to control the delay between checks.
The program can output in either bits (by default) or bytes (using --use-bytes) and will convert all values into human-readable format by default (i.e. Kb, Mb, Gb...), unless forced to use Mb for all output with --use-mega.
Finally, warning & critical status reports can be set independently for each direction (which can be reversed with --reverse, to change the perspective of the output, e.g. reporting it as coming from the server, rather than coming into the switch), as well as being calculated as a percentage of available bandwidth or as an absolute value (by specifying a suffix, such as 10M for 10-Megabits, or 10-Megabytes if --use-bytes specified).
Any and all feedback across all versions is most welcome