From the very first moment we moved from UFS to ZFS in one of our biggest Solaris SPARC systems, we’ve been looking for a way to monitor several important measurements in a smart and efficient way. Among other solutions I stumbled upon The Solaris Extra SNMP Project by Jakob Borg hosted in GitHub.

[2013.09.18 – Update ] I forked the  The Solaris Extra SNMP Project and added a couple of features such as:


This particular project extends the SNMP values provided with the System Management Agent (SMA) by deploying a set of python based-scripts that will implement kstat to gather ZFS metrics for instance.  Solaris-Extra-SNMP makes available specific attributes like ARC hits/misses, L2ARC hits/misses, ARC Writes/Reads, ARC Size, L2ARC Reads/Writes, Pools Specific data such as KB/MB used and/or Free, etc.

The implementation is quite simple, once that you’ve done it once of course, but in broad words you have to download the package either with wget or git command, copy the desired scripts to any path you’d like, edit the snmpd.conf file, and restart SMA-SNMP services. A detailed procedure is shown bellow:


Once SMA services has been restarted, you can test by issuing snmpwalk

The main reason of having this attributes available through SNMP is in fact to graph them on CACTI – this is what is gonna be about my next article. I will walk you through the procedure to graph and then monitor this values with this powerful monitoring tool.


How extend the SNMP agent in Solaris to get ZFS attributes Part 1

3 thoughts on “How extend the SNMP agent in Solaris to get ZFS attributes Part 1

  • November 20, 2012 at 5:58 pm

    Thank you Jose …

    This is EXACTLY what I’ve been looking for! 🙂

    Is part two (graphing the data in Cacti) still on the way?

    • November 20, 2012 at 10:48 pm

      Quite welcome. I’ll be posting the second part by tomorrow. Sorry for the delay but I had to make them better, something wasn’t working as expected, but now everything works like a charm -well, I think.


  • January 11, 2013 at 4:21 am

    This is neat. I only have a remark: snmpdx is the old Solstice SNMP daemon. It must not be enabled together with SMA, which is the newer net-snmp based one.
    In fact, it probably should not be used at all.
    However, the seaport service is sometimes needed, and may need to be enabled.


Leave a Reply

Your email address will not be published. Required fields are marked *