#!/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 retrival 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] # The interface number corresponds to vif1 on the tested netapp servername = sys.argv[0].split('_')[1] cifsConnectedUsers = '1.3.6.1.4.1.789.1.7.2.9.0' cifsNSessions = '1.3.6.1.4.1.789.1.7.2.12.0' cifsNOpenFiles = '1.3.6.1.4.1.789.1.7.2.13.0' # Using config if len(sys.argv) == 2 and sys.argv[1] == "config": print 'graph_title CIFS usage on '+servername print 'graph_args --base 1000 -l 0' print 'graph_vlabel number' print 'graph_category netapp' print 'graph_info This graph shows CIFS usage on '+servername print 'cifsConnectedUsers.label ConnectedUsers' print 'cifsConnectedUsers.info The current number of CIFS users on the filer' print 'cifsNSessions.label NumberOfSessions' print 'cifsNSessions.info The current number of active CIFS session on the filer' print 'cifsNOpenFiles.label NumberOfOpenfiles' print 'cifsNOpenFiles.info The number of open CIFS files and directories on the filer' sys.exit(0) # Gathers info from the servers and gathers data print 'cifsConnectedUsers.value '+snmpget(servername,cifsConnectedUsers) print 'cifsNSessions.value '+snmpget(servername,cifsNSessions) print 'cifsNOpenFiles.value '+snmpget(servername,cifsNOpenFiles)