PRTG script to check PURE storage SAN statistics using REST API
To use:
-
Copy necessary files (prtg.standardlookups.purestorage.hardwarestatus.ovl and prtg.standardlookups.purestorage.drivestatus.ovl) to the lookups directory of prtg (C:\Program Files (x86)\PRTG Network Monitor\lookups\custom) and (prtg-pure-storage.py to C:\Program Files (x86)\PRTG Network Monitor\Custom Sensors\python).
-
Ensure you at least modify the API_TOKEN variable at the top. You can use the pureuser API key for this purpose. For pure-api-v22.py and prtg-pure-flashblade.py set api key as placeholder1, on "Credentials for Script Sensors" under the device settings.

-
Modify the url address (prtg-puer-storage.py and pure-api-v20.py). For pure-api-v22.py and prtg-pure-flashblade.py use additional parameter arrayaddress=%host

-
Restart PRTG core service to load these files as per https://www.paessler.com/manuals/prtg/prtg_probe_administrator
-
Create a "Python Script Advanced" sensor in PRTG
-
Select the right python script, and add the right additional parameter as the table below. For pure-api-v22.py and prtg-pure-flashblade.py use key=value format (scope=capacity)

-
Create a separate sensor for each switch/parameter
| switch | Description |
|---|---|
| -v | List all PURE storage volumes and its front end disk usage (as seen by client) |
| -u | List all PURE storage volumes and its back end disk usage(after dedup/compress with parity overhead) |
| -m | List all manually created volume snapshots and its backend size |
| -c | List PURE storage controllers and their health |
| -d | List PURE storage drives and their health |
| -h | List PURE storage hardware (fans, PSU, chassis, etc) and their health |
| -p | List PURE storage array performance including queue depth (with threshold for warning), IOPS, and RW rate and latency |
| -s | List PURE storage array capacity including snapshot size, data reduction and user definable WARNING and ERROR threshold for disk usage |
| -r | List PURE storage volumes read and write stats in bytes/s |
| -i | List PURE storage volumes IOPS stats |
v20 addition. Prtg has released its v20 of its prtg network monitor software. Please use the corresponding script for this version. Switches are also different and has checks to ensure that channel name is longer than prtg maximum (32 characters) and channel count is less than max (50). If you have more than 50 volumes, this will only display the first 50 returned by the pure storage SAN
| switch | Description |
|---|---|
| -v | List all PURE storage volumes and its front end disk usage (as seen by client) |
| -u | List all PURE storage volumes and its back end disk usage(after dedup/compress with parity overhead) |
| -m | List all manually created volume snapshots and its backend size |
| -c | List PURE storage controllers and their health |
| -d | List PURE storage drives and their health |
| -h | List PURE storage hardware (fans, PSU, chassis, etc) and their health |
| -p | List PURE storage array performance including queue depth (with threshold for warning), IOPS, and RW rate and latency |
| -s | List PURE storage array capacity including snapshot size, data reduction and user definable WARNING and ERROR threshold for disk usage |
| -br | List PURE storage volumes read stats in bytes/s |
| -bw | List PURE storage volumes write stats in bytes/s |
| -ir | List PURE storage volumes read IOPS stats |
| -iw | List PURE storage volumes write IOPS stats |
| -q | List PURE storage volumes queue depth |
v22 addition. Prtg has released its v22 of its prtg network monitor software. Please use the corresponding script for this version. Example for additional paramenter scope=hardware
| scope | Description |
|---|---|
| volumes | List all PURE storage volumes and its front end disk usage (as seen by client) |
| usage | List all PURE storage volumes and its back end disk usage(after dedup/compress with parity overhead) |
| snapshots | List all manually created volume snapshots and its backend size |
| controllers | List PURE storage controllers and their health |
| drive | List PURE storage drives and their health |
| shelf | List PURE storage shelf drives and their health |
| hardware | List PURE storage hardware (fans, PSU, chassis, etc) and their health |
| performance | List PURE storage array performance including IOPS and RW rate and latency |
| capacity | List PURE storage array capacity including snapshot size, data reduction and user definable WARNING and ERROR threshold for disk usage |
| bytesread | List PURE storage volumes read stats in bytes/s |
| byteswrite | List PURE storage volumes write stats in bytes/s |
| ioread | List PURE storage volumes read IOPS stats |
| iowrite | List PURE storage volumes write IOPS stats |
Flashblade options. Please use the corresponding script for this version. Example for additional paramenter scope=hardware
| scope | Description |
|---|---|
| hardware | List PURE storage Flashblade hardware (PSU, chassis, etc) and their health |
| hardware_fan | List PURE storage Flashblade hardware fans and their health |
| drive | List PURE storage Flashblade drives and their health |
| drive_2 | List PURE storage Flashblade drives from second controller and their health |
| performance | List PURE storage Flashblade performance including IOPS and RW rate and latency |
| capacity | List PURE storage Flashblade capacity including snapshot size, data reduction and user definable WARNING and ERROR threshold for disk usage |
In case of error, set the debug mode on https://kb.paessler.com/en/topic/59621-how-can-i-activate-log-writting
If you need to install python modules, follow these guide

