#!/usr/bin/env python """Thomas R. N. Jansson (tjansson@tjansson.dk) 16-MAY-2010 """ # The SNMP traps for the NetApp filer can be found in # /net/netappfiler/vol0/etc/mib/traps.dat if the filer is # NFS automounted mounted on server. # Example: the SNMP id for cpuBusyTimePerCent is # snmp.1.3.6.1.4.1.789.1.2.1.3.0 # and retrieval of this value is done by # snmpget -v 1 -c public netappfiler 1.3.6.1.4.1.789.1.2.1.3.0 # # Requires snmpget and assumes public community. import commands import sys # Provided a servername and a snmpid it returns the value stripped of bogus information. def snmpget(iservername,isnmpid): runcmd = 'snmpget -v 1 -c public ' + iservername + ' ' + isnmpid output = commands.getoutput(runcmd) return output.split()[3] snmpid = "1.3.6.1.4.1.789.1.2.1.3.0" warning = 80 critical = 95 servername = sys.argv[0].split('_')[1] if len(sys.argv) == 2 and sys.argv[1] == "config": print 'graph_title CPU usage on', servername print 'graph_args --base 1000 -r --lower-limit 0 --upper-limit 100' print 'graph_vlabel %' print 'graph_scale no' print 'graph_info This graph shows how CPU time is spent.' print 'graph_period second' print 'graph_category cpu' print 'usage.label cpu_usage ' print 'usage.draw STACK' print 'usage.warning ', warning print 'usage.critical ', critical print 'usage.info CPU time spent by normal programs and daemons' sys.exit(0) # Gathers info from the servers and gathers data print 'usage.value '+snmpget(servername,snmpid)