From 1658621c0f8376af49167cf245cb4c3b28d49cda Mon Sep 17 00:00:00 2001 From: "Thomas R. N. Jansson" Date: Wed, 2 Jun 2010 10:43:29 +0200 Subject: [PATCH] Initial version --- plugins/other/netapp_cifs | 52 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100755 plugins/other/netapp_cifs diff --git a/plugins/other/netapp_cifs b/plugins/other/netapp_cifs new file mode 100755 index 00000000..792b12c8 --- /dev/null +++ b/plugins/other/netapp_cifs @@ -0,0 +1,52 @@ +#!/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('_')[2] +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 curent 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)