Why A PRTG Sensor?
So What Does It Do?
- Array capacity status
- Array performance metrics
- General hardware status of Controllers, Shelves and Chassis
- General drive health
|Array object sensor summary page|
Each sensor can contain one or more channels, a channel can be thought of as a single value aligned to the sensor such as 'capacity consumed' within the 'capacity' sensor. Then as appropriate limits are assigned to the channel that define the thresholds that a channels value goes either above (maxlimit) or under (minlimit) to raise a warning or error condition for the sensor. Some channels have explicit limits set such as those related to capacity and health but others, such as the performance metrics, are left to self determine when an exceptional condition occurs based on operational patterns already recorded. For example latency may stay steady under a millisecond for normal operations but if suddenly it increases to 20 milliseconds for multiple recordings, PRTG will determine this to be an exception and raise a warning condition.
|Array capacity sensor|
Because each channel needs to provide a value that supports numeric comparisons to determine if limits are met, textual values returned from the array had to be converted to a representative numeric value. The textual values such as for Hardware components status to be reported as 'healthy', is enabled through the use of lookup tables included in the pack. Currently there are two included which provide lookup values for the channels in the 'Drive Health' and 'Hardware Health' sensor status values
|Array Hardware Sensor|
|Array Performance Sensor|
|Array Drive Health Sensor|
- First, get the scripts and associated lookup files from GitHub at Pure Storage Sensor Module. This will provide a Zip file of the required files but you can also download it directly from the GHitHub site at 'https://github.com/davlloyd/purestorage-prtg'
- This set contains 4 files including:
- - The main PowerShell script
- The Powershell script and lookup files need to be copied onto the PRTG server and then associated sensors created accordingly.
- Ensure the PRTG server (or PRTG probe if running sensor from a probe)is running PowerShell 4.0
- Copy the script to the directory 'C:\Program Files (x86)\PRTG Network Monitor\Custom Sensors\EXEXML'
- Copy the two lookup files prtg.standardlookups.purestorage.drivestatus.ovl and prtg.standardlookups.purestorage.hardwarestatus.ovl to the directory 'C:\Program Files (x86)\PRTG Network Monitor\lookups\custom'
- Restart the Windows service 'PRTG Core Server Service'. This step is required to have PRTG read in the new custom lookup files
- Create a new device in PRTG with the address (IP or FQDN of the FlashArray you want to monitor
- Now, select <Add Sensor>. On the search field, type "Script Advanced" and then select the sensor type <EXE/Script Advanced Sensor> from the result list.
- On the Add Sensor to Device screen, enter the following:
- The sensor's name and tags (optional): There are currently four sensors to create. I have been naming them as follows:
- Drive Health
- Hardware Health
- Under Exe/Script, use the Drop-down to select the script ' from the list.
- Set the parameters for Array access and sensor scope as follows
- [ArrayAddress] (use the PRTG variable '%host' to inherit from device entry
- Either of the following combinations for security authentication:
- [username] and [password] - This is ok for testing purposes but as password is stored in clear text not recommended for production. This will generate or read the APIKey for the account
- [apikey] - preferred access method. The APIKey is generated from within the Purity Console for the preferred account. You do not need to enter account details if specifying an APIKey
- [Scope] to set what is monitored for this sensor. Scope option values are:
|-arrayaddress '%host' -scope 'hardware' -apikey '3bdf3b60-f0c0-fa8a-83c1-b794ba8f562c'|
You are now ready to go. For a look at how to set a sensor up watch the video on this blog.