Cacti templates for NetApp’s CIFS, NFS, and iSCSI

Update 2010-07-21: If you are interested in graphing operations and latency for NFS, CIFS, iSCSI, FCP and/or SAN protocols on a per volume basis, you may want to see this post.

Update 2009-07-21: As requested by Dave, I have posted an FCP template and script. I have no way of testing them (no FCP…), but I think they should work.

I’m one of those people who has to know everything that is going on inside my infrastructure at all times. ESX, vCenter, MySQL, SQL Server, NetApp…I keep close tabs on all of them using both Cacti and Nagios.

Some people might find it strange that I have both running, but the two applications have very different functions. Cacti is superb at trend analysis and detecting abnormalities after the fact (only occasionally during the event). I use it’s data to determine, for example, when is a good time for Exchange to take an outage based on the number of users connected and the number of RPC requests occurring. Nagios, on the other hand, is extremely well suited to real time monitoring and alerting. It checks different data points at intervals and if it finds one out of the accepted range, it tells me.

Anyway, back to the point. I created these graphs to give me detailed information about CIFS, NFS and iSCSI on my NetApp filers. I have used these against FAS270s, FAS2020s and FAS6030s running OnTAP, and/or 7.3.1 with success against them all.

In addition to the below templates I use some additional graphs to track other metrics. Those graphs are available here:

As I get time (which is rare) I plan on adding additional graphs, when I do, I will post them here. I would like to get and graph ASIS information, WAFL stats, and space information (raw, formatted, usable, allocated, overhead for the filer as a whole). If anyone has, or knows where to find, these graphs, please let me know!


NetApp CIFS Template

Shows a detailed breakdown of the different types of CIFS operations that occur. This template relies upon SNMP to gather it’s data, so make sure SNMP is enabled on your Filer.



NetApp NFS v3 Templates

These templates show NFS version 3 operations and latency for the server as a whole. It is possible to get latency information on a per volume basis, but I haven’t gotten my script for getting this information to a place where I’m happy with it yet (and therefore am not releasing it).

These templates rely upon the NetApp Perl SDK. When I wrote the scripts I wrote them so that it looked in the current directory for a directory called “Netapp” that should contain the and files. I have included them in the zip, just place the “Netapp” folder in your scripts directory along with the perl scripts.

After importing the template, when you create the graphs for your filer it will ask you for the username and password to connect via the SDK. Please be aware that this information is stored in the Cacti database in plain text, so make sure that you take a “least privileges necessary” approach when setting up the user (in other words, don’t use the root user…).




NetApp iSCSI Templates

Just like with the NFS templates, these use the SDK, so please make sure that you place the Netapp folder in your scripts directory.

FibreChannel, NFSv4 and the lack thereof

I don’t have any FC, so I have no need to monitor it. If someone desires, I can create the templates and graphs, but I have no way to verify they work because I don’t have any of that traffic type. Same goes for NFS version 4…I can create, just can’t verify.

2009-07-21: FCP has been added. They can be downloaded here.

9 thoughts on “Cacti templates for NetApp’s CIFS, NFS, and iSCSI”

  1. Dave,

    Sorry for the extreme delay in getting these done.

    The FCP template and graphs work the same as the other protocols: drop the perl script in your scripts directory, make sure it knows where the SDK files are, and import the template.

    Hopefully they will work for you, please let me know if you encounter any problems.


  2. Hey Andrew,

    First off, thanks for all of your work on this. Glad to see someone out there big on vmware/netapp/cacti.

    Im having a bit of a problem with getting things working in cacti and was wondering if you had any suggestions. Im running cacti .8.7e on freebsd 7.2 with perl 5.10. When I try to run the scripts manually to test their results, im getting an error that says: Can’t call method “child_get” on an undefined value at /usr/local/cacti/scripts/ line 50. Any ideas off the top of your head?

  3. Andrey,
    Your file was very usefull, and I successed in their installation on my cacti server.
    However, I realize that iscsi_read_latency graphic is in k and not in millisec.
    I use to read netapp counter in ms.
    Do you have a way of translate it ?
    Thank you for your job .. an d your answer.

  4. I had a fun time trying to figure out why my graphs for the NFS Template always displayed “nan”. Here is a quote from the cacti manual:

    “Note: Spine requires, that multiple parameters are spit out by a single “print” statement. Do not print them in a loop!”

    I ended up having to modify the and scripts to print all output in one printf statement rather than using multiple print statements via a loop.

    Hope this saves someone out there some time.

  5. Hi Andrew,

    Your link “” is not published anymore :
    Not Found
    The item does not exist. It may have been deleted.

    Any way you can upload it back or put it somewhere else ?


  6. Hi Andrew,
    First, thanks for your job, it’s very useful. But I have a question. I took the CIFS Operations template and I’m interested in the “Total Ops” result. Can you confirm the unit is Operations per 5 minutes ?
    I took the OID and I found this description : “The number of CIFS operations done by the filer,
    since the last time the statistics were cleared.” I want to be sure you didn’t do any change.
    Best regards


Leave a Reply