PRTG – Monitoring your PURE storage system

By Marc

I just created a PRTG sensor for PURE storage devices for a customer and want to share it with all of you (thanks to Daniel J.). The PURE stooge system does a particularly decent job at providing a deep insight into its health state and performance information using its own web console. And using its call-home functions, hardware issues should be resolved in the twinkling of an eye. But: As an administrator of a system like this you should be aware if there was something going on. This is, why doing a basic monitoring using PRTG makes sense.

Using my sensor, you get a great overview of the health, capacity, and performance state of your PURE storage system.


The (PowerShell) script (found on GitHub) uses the PURE storage PowerShell module from PS Gallery, so installing it onto your PRTG probe server is quite easy. Open an elevated 32-Bit PowerShell console window and type the following command:

Install-Module -Name PureStoragePowerShellSDK

Be sure to set your execution policy (in the 32-Bit PowerShell) to unrestricted

Set-ExecutionPolicy -ExecutionPolicy Unrestricted

or to unblock the script file using

Unblock-File -Path path\to\Get-PurityInfo.ps1

After that, you need the script (which is hosted on GitHub) to the Custom Sensors\EXEXML folder on your PRTG probe installation.

Finally, you need to retrieve an API token from your PURE storage web console to authenticate the REST requests, the PowerShell script will send to your storage. The token can be found in the user configuration.


In PRTG, add an EXE/Custom Advanced sensor to your PURE storage device in PRTG and select the Get-PurityInfo.ps1 script. You will need to provide two parameters:

  1. StorageAddress
    This is the IP address or hostname of your PURE storage system, which can be fetched from the parent object in your PRTG tree using the variable %host
  2. ApiToken
    The token to access the PURE storage system, mentioned in the prerequisites.

Parameter example:

-ApiToken "abcde-a9d7a87-000000" -StorageAddress %host

The sensor will provide the following channels:

  1. Hardware ok count: the script retrieves the count of devices that report the status ok.
  2. Hardware not installed count: This is the number of devices, reporting not installed.
  3. Hardware NOT ok count: Every other hardware state except for OK and NOT INSTALLED will be counted here.
  4. Volumes (Bytes): Reports the size in TB assigned to volumes in the PURE storage system.
  5. Total used space (Bytes): is the really occupied storage on the system.
  6. Total storage capacity (Bytes): represents the total capacity of the system. This value should only change, if there is a hardware extension.
  7. Free space (Bytes): shows the total capacity reduced by the total used storage in TB.
  8. Free space (%): The free space in percent.
  9. IOPS – Writes/sec: shows the current write operations per second.
  10. IOPS – Reads/sec shows the current read operations per second.
  11. Write latency (ms): represents the time in milliseconds, the write IO currently takes.
  12. Read latency (ms): represents the time in milliseconds, the read IO currently takes.

This should give you a nice overview of what is going on your device. Please share your experiences with the script.

Find the script on GitHub.