Check SNMP Cisco Traffic

check_cisco_traffic_usage

Check Traffic Usage of an Interface on a Cisco Device

This is a bit tricky, because cisco's snmp counter are independent from the cli output. The snmp counters can't be reset at runtime, they online reset themself at reboot. So in addition to the snmp values we get, we need to calculate....

Synopsis:

check_cisco_traffic_usage <host> <snmp-string> <if-number> <warn> <crit>

Options:

Parameter Description
hostHostname or IP Address
snmp-stringthe snmp community string
if-numberthe interface-number
warnwarning value in MB
critcritical value in MB

We save the last check results/sums in a text file so make sure you set "tmpfile" below. Please create it, fill in 4 zeros and make sure it is writable by the user that nagios runs with.

$ touch /home/nagios/check_snmp_cisco_traffic.txt
$ echo 0 0 0 0 > /home/nagios/check_snmp_cisco_traffic.txt
$ chown nagios:nagios /home/nagios/check_snmp_cisco_traffic.txt

This plugin currently only uses HC/64bit counter, because 32bit begin from zero too often. You also have to find out the interface number yourself, i don't, yet, want the script to search for it every runtime. Just snmpwalk your device like this:

$ snmpwalk -v2c -c community-string HOST 1.3.6.1.2.1.31.1.1.1.1

IF-MIB::ifName.1 = STRING: Fa0
     This -^- is the interface-number

Licence:

Version 0.1, Copyright (c) 2008 by Michael Boehm <dudleyperkins_AT_gmail.com>

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

you should have received a copy of the GNU General Public License along with this program (or with Nagios); if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA

TODO:

  • definitively add multiple check support with prefix+name_of_txt_file (should be easy)
  • testing
  • maybe accepting Interface descriptions as argument
  • maybe include check for 32bit counter