Follow

How To Manage Filesystems That Report Incorrect Disk Utilization

Pre-Requisites

None

Applies To

  • Zenoss 4.x
  • Zenoss 3.x
  • Zenoss 2.x

Summary

When modeling very large filesystems, disk utilization will sometimes be reported as greater than 100%. This is a limitation of snmp and this article provides a workaround for this limitation.

Procedure

NOTE: before starting the procedures below, make sure the file system modeled correctly. If disk utilization is being reported incorrectly, it could simply be that the model process did not completely correctly. In many cases, simply remodeling the device in question will resolve the issue.

When gathering data using SNMP, the filesystem information reported can become inaccurate for larger filesystems (ie ones that require 64-bits to determine the filesystem size in bytes).  As of this writing, none of the SNMP MIBs support 64-bit counters that describe filesystem information, so the information gathered and acted upon by Zenoss may not always be accurate if SNMP is used to monitor these devices.

With regards to ZFS filesystems (at least under Solaris, unconfirmed for other platforms), there is a further complication which can lead to differences between what is reported by SNMP versus the df command.  ZFS allocates storage into pools, and then allows for filesystems to be created based on those pools.  The Solaris df command has been modified to use a different system call to report on the filesystem statistics for ZFS (that is, not the vfstable syscalls), but the SNMP daemon reports the filesystem size as the size of the ZFS pool where the filesystem lives, and the space used and available as the amount used in the filesystem. So the Solaris df command reports the percentage used based on the size of the filesystem (not the ZFS pool), while Zenoss will report on the actual space used in the ZFS pool.

Method 1: Use SSH-based Monitoring for Filesystems<>

The following example assumes a Linux device, but the principles are the same for any other platform.

  1. Add a new device class organizer to the existing SNMP device class for Linux. For example, create an organizer like:

    /Devices/Server/Linux/MixedSSH

    This will inherit the properties for SNMP modeling and collection.

  2. Remove the zenoss.snmp.HRFileSystemMap plugin in this device class, and add the zenoss.cmd.df plugin.
  3. Navigate to the /Devices/Server/SSH/Linux class, and then click on the Templates tab.
  4. Click on the FileSystem template, and then select Copy Template... from the table menu.
  5. Select the destination organizer to be /Devices/Server/Linux/MixedSSH and click the OK button.
  6. Move a test device into the /Devices/Server/Linux/MixedSSH organizer and then remodel the device.

When you are happy with the modeling and performance collection of the device in the new organizer, you can move any large filsystem devices into this new organizer.

Method 2: Switch the Device to an SSH Class

  1. Navigate to the device, and then select the Manage -> Change Class... menu item.
  2. Select an SSH-based device class appropriate for the platform, and click the OK button.
Was this article helpful?
1 out of 1 found this helpful
Have more questions? Submit a request

Comments

Powered by Zendesk