Chances are you will at some point need to monitor a switch, and the Nagios community offers many plugins to do this.
Because no two setups are exactly the same, there are two interface checks actively maintained by NETWAYS which are designed for very different environments.
The first plugin was designed for monitoring large numbers of switches over low-bandwidth links, and is optimized for minimal system load.
check_interfaces (www.netways.org/projects/check-interfaces)

* very fast c-based plugin
* uses bulk get mode to reduce traffic
* runs on embedded appliances
* no external status files required
* SNMP v1, 2c and 3 supported
* 10GB port support
* fully integrated into Nagios 3 / Icinga
* 64 bit counter support
* Interface aliases
* Human-readable bandwidth measurement
* PNP compatible output

The second plugin is orientated towards large switches, and offers a graphical overview of the switch status.
check_interface_table_v2 (www.netways.org/projects/plugins/files)

* adapted from check_interface_table from ITdesign
* Perl-based plugin
* Separate colour HTML overview
* Monitor switch ports for changes
* VLAN support
* 64 bit counter support
* Interface aliases
* Human-readable bandwidth measurement
* PNP compatible output
Both are naturally GPL-Licensed and available for download from the usual places.