Source:
Pure Storage FlashArray v1 by HTTP
Overview
This template is designed for the effortless deployment of Pure Storage FlashArray v1 monitoring by Áú»¢¶Ä²© via HTTP and doesn't require any external scripts.
Requirements
Áú»¢¶Ä²© version: 7.2 and higher.
Tested versions
This template has been tested on:
- Pure Storage FlashArray FA-X20R4 (Purity//FA: 6.7.1)
Configuration
Áú»¢¶Ä²© should be configured according to the instructions in the Templates out of the box section.
Setup
- Create a host for the Pure Storage FlashArray device and assign to it the "Pure Storage FlashArray v1 by HTTP" template.
- Enter your API token from the FlashArray (Purity//FA) graphical user interface into the
{$PURE.FLASHARRAY.API.TOKEN}
macro. - It is possible to authenticate using username and password by entering them from the FlashArray (Purity//FA) graphical user interface into the
{$PURE.FLASHARRAY.API.USERNAME}
and{$PURE.FLASHARRAY.API.PASSWORD}
macros. - Set your FlashArray (Purity//FA) graphical user interface URL as the
{$PURE.FLASHARRAY.API.URL}
macro value.
Macros used
Name | Description | Default |
---|---|---|
{$PURE.FLASHARRAY.API.URL} | Pure Storage FlashArray Web interface URL. |
|
{$PURE.FLASHARRAY.API.TOKEN} | Pure Storage FlashArray API token. |
|
{$PURE.FLASHARRAY.API.USERNAME} | Pure Storage FlashArray Web interface username. |
|
{$PURE.FLASHARRAY.API.PASSWORD} | Pure Storage FlashArray Web interface password. |
|
{$PURE.FLASHARRAY.API.VERSION} | Pure Storage FlashArray API version. |
1.19 |
{$PURE.FLASHARRAY.CERT.EXPIRY.WARN} | Number of days until the certificate expires. |
7 |
{$PURE.FLASHARRAY.DATA.TIMEOUT} | Response timeout for the API. |
15s |
{$PURE.FLASHARRAY.POD.LLD.FILTER.NAME.MATCHES} | Filter of discoverable storage pods by name. |
.* |
{$PURE.FLASHARRAY.POD.LLD.FILTER.NAME.NOT_MATCHES} | Filter to exclude discoverable storage pods by name. |
CHANGE_IF_NEEDED |
{$PURE.FLASHARRAY.CERT.LLD.FILTER.NAME.MATCHES} | Filter of discoverable certificates by name. |
.* |
{$PURE.FLASHARRAY.CERT.LLD.FILTER.NAME.NOT_MATCHES} | Filter to exclude discoverable certificates by name. |
CHANGE_IF_NEEDED |
{$PURE.FLASHARRAY.CTRL.LLD.FILTER.INDEX.MATCHES} | Filter of discoverable controllers by index. |
.* |
{$PURE.FLASHARRAY.CTRL.LLD.FILTER.INDEX.NOT_MATCHES} | Filter to exclude discoverable controllers by index. |
CHANGE_IF_NEEDED |
{$PURE.FLASHARRAY.TEMP.LLD.FILTER.INDEX.MATCHES} | Filter of discoverable temperature sensors by index. |
.* |
{$PURE.FLASHARRAY.TEMP.LLD.FILTER.INDEX.NOT_MATCHES} | Filter to exclude discoverable temperature sensors by index. |
CHANGE_IF_NEEDED |
{$PURE.FLASHARRAY.POWER.LLD.FILTER.INDEX.MATCHES} | Filter of discoverable power supply components by index. |
.* |
{$PURE.FLASHARRAY.POWER.LLD.FILTER.INDEX.NOT_MATCHES} | Filter to exclude discoverable power supply components by index. |
CHANGE_IF_NEEDED |
{$PURE.FLASHARRAY.FAN.LLD.FILTER.INDEX.MATCHES} | Filter of discoverable fans by index. |
.* |
{$PURE.FLASHARRAY.FAN.LLD.FILTER.INDEX.NOT_MATCHES} | Filter to exclude discoverable fans by index. |
CHANGE_IF_NEEDED |
{$PURE.FLASHARRAY.DRIVE.LLD.FILTER.NAME.MATCHES} | Filter of discoverable storage drives by name. |
.* |
{$PURE.FLASHARRAY.DRIVE.LLD.FILTER.NAME.NOT_MATCHES} | Filter to exclude discoverable storage drives by name. |
CHANGE_IF_NEEDED |
{$PURE.FLASHARRAY.HOST.LLD.FILTER.NAME.MATCHES} | Filter of discoverable hosts by name. |
.* |
{$PURE.FLASHARRAY.HOST.LLD.FILTER.NAME.NOT_MATCHES} | Filter to exclude discoverable hosts by name. |
CHANGE_IF_NEEDED |
{$PURE.FLASHARRAY.HOST.LLD.FILTER.GROUP.MATCHES} | Filter of discoverable hosts by group. |
.* |
{$PURE.FLASHARRAY.HOST.LLD.FILTER.GROUP.NOT_MATCHES} | Filter to exclude discoverable hosts by group. |
CHANGE_IF_NEEDED |
{$PURE.FLASHARRAY.NETIF.LLD.FILTER.NAME.MATCHES} | Filter of discoverable network interfaces by name. |
.* |
{$PURE.FLASHARRAY.NETIF.LLD.FILTER.NAME.NOT_MATCHES} | Filter to exclude discoverable network interfaces by name. |
CHANGE_IF_NEEDED |
{$PURE.FLASHARRAY.VOLUME.LLD.FILTER.NAME.MATCHES} | Filter of discoverable storage volumes by name. |
.* |
{$PURE.FLASHARRAY.VOLUME.LLD.FILTER.NAME.NOT_MATCHES} | Filter to exclude discoverable storage volumes by name. |
CHANGE_IF_NEEDED |
{$PURE.FLASHARRAY.HTTP_PROXY} | HTTP proxy for API requests. You can specify it using the format [protocol://][username[:password]@]proxy.example.com[:port]. For more details, see the documentation at /documentation/7.2/manual/config/items/itemtypes/http |
Items
Name | Description | Type | Key and additional info |
---|---|---|---|
Authentication | Pure Storage FlashArray authentication with username and password or API token usage. Returns a session ID that is required only once and is used for all dependent script items. A session will expire after 30 minutes. Check the template documentation for details. |
Script | purestorage.flasharray.auth |
Authentication item errors | Collects errors from the authentication item. |
Dependent item | purestorage.flasharray.auth.errors Preprocessing
|
Get hardware data | Collects hardware from the Pure Storage FlashArray API. |
Dependent item | purestorage.flasharray.hardware.get Preprocessing
|
Storage hardware item errors | Collects errors from hardware retrieval. |
Dependent item | purestorage.flasharray.hardware.errors Preprocessing
|
Get hosts | Collects all hosts from the Pure Storage FlashArray API. |
Dependent item | purestorage.flasharray.hosts.get Preprocessing
|
Storage hosts item errors | Collects errors from host data retrieval. |
Dependent item | purestorage.flasharray.hosts.errors Preprocessing
|
Get volumes | Collects all volumes from the Pure Storage FlashArray API. |
Dependent item | purestorage.flasharray.volumes.get Preprocessing
|
Storage volumes item errors | Collects errors from volume retrieval. |
Dependent item | purestorage.flasharray.volumes.errors Preprocessing
|
Get certificates | Collects all certificates from the Pure Storage FlashArray API. |
Dependent item | purestorage.flasharray.certificates.get Preprocessing
|
Certificates item errors | Collects errors from certificate retrieval. |
Dependent item | purestorage.flasharray.certificates.errors Preprocessing
|
Get pods | Collects all pods from the Pure Storage FlashArray API. |
Dependent item | purestorage.flasharray.pods.get Preprocessing
|
Storage pods item errors | Collects errors from pod retrieval. |
Dependent item | purestorage.flasharray.pods.errors Preprocessing
|
Get network interfaces | Collects all network interfaces from the Pure Storage FlashArray API. |
Dependent item | purestorage.flasharray.net_ifs.get Preprocessing
|
Storage network interfaces item errors | Collects errors from network interface retrieval. |
Dependent item | purestorage.flasharray.net_ifs.errors Preprocessing
|
Get array data | Collects array data from the Pure Storage FlashArray API. |
Dependent item | purestorage.flasharray.array.get Preprocessing
|
Storage array item errors | Collects errors from array data retrieval. |
Dependent item | purestorage.flasharray.array.errors Preprocessing
|
Array capacity | Total capacity of the array. |
Dependent item | purestorage.flasharray.array.capacity Preprocessing
|
Array data reduction | The data reduction ratio (DRR) represents the efficiency of data reduction techniques such as compression and deduplication for the array volume. |
Dependent item | purestorage.flasharray.array.drr Preprocessing
|
Array total data reduction | The total reduction ratio of all data on the array volume that has been processed by the data deduplication and compression engines. |
Dependent item | purestorage.flasharray.array.total_drr Preprocessing
|
Array hostname | Host name of the array. |
Dependent item | purestorage.flasharray.array.hostname Preprocessing
|
Array bytes written per second | Number of bytes written per second. |
Dependent item | purestorage.flasharray.array.written_bytes.rate Preprocessing
|
Array bytes read per second | Number of bytes read per second. |
Dependent item | purestorage.flasharray.array.read_bytes.rate Preprocessing
|
Array read requests per second | Number of read requests processed per second. |
Dependent item | purestorage.flasharray.array.read_requests.rate Preprocessing
|
Array write requests per second | Number of write requests processed per second. |
Dependent item | purestorage.flasharray.array.write_requests.rate Preprocessing
|
Array microseconds per read | Average time in microseconds required to process an I/O read request from the array. The average time does not include SAN time, queue time, or QoS rate limit time. |
Dependent item | purestorage.flasharray.array.usec_per_read Preprocessing
|
Array microseconds per write | Average time in microseconds required to process an I/O write request to the array. The average time does not include SAN time, queue time, or QoS rate limit time. |
Dependent item | purestorage.flasharray.array.usec_per_write Preprocessing
|
Array microseconds per operation | Average local queue time in microseconds for both read and write operations. |
Dependent item | purestorage.flasharray.array.usec_per_op Preprocessing
|
Array shared space | The physical space occupied by deduplicated data. |
Dependent item | purestorage.flasharray.array.shared_space Preprocessing
|
Array used space | The total physical space occupied by system, shared space, volume, and snapshot data. |
Dependent item | purestorage.flasharray.array.used_space Preprocessing
|
Array volumes size | The physical space occupied by volumes. |
Dependent item | purestorage.flasharray.array.volumes_size Preprocessing
|
Array snapshots size | The physical space occupied by snapshots. |
Dependent item | purestorage.flasharray.array.snapshots_size Preprocessing
|
Array system size | The physical space occupied by internal array metadata. |
Dependent item | purestorage.flasharray.array.system_size Preprocessing
|
Array thin provisioning | The percentage of volume sectors that do not contain host-written data because the hosts have not written data to them or the sectors have been explicitly trimmed. |
Dependent item | purestorage.flasharray.array.thin_provisioning Preprocessing
|
Array parity | The percentage of data that is protected. |
Dependent item | purestorage.flasharray.array.parity Preprocessing
|
Array version | Version of the array. |
Dependent item | purestorage.flasharray.array.version Preprocessing
|
Remote assist status | Status of the remote assist connection. |
Dependent item | purestorage.flasharray.remote_assist.status Preprocessing
|
Phone home status | Current status of a manually-initiated phonehome. |
Dependent item | purestorage.flasharray.phone_home.status Preprocessing
|
Triggers
Name | Description | Expression | Severity | Dependencies and additional info |
---|---|---|---|---|
Pure Storage FlashArray: Authentication has failed | An error occurred when trying to perform authentication in the Pure Storage FlashArray API. |
length(last(/Pure Storage FlashArray v1 by HTTP/purestorage.flasharray.auth.errors))>0 |
Average | |
Pure Storage FlashArray: There are errors in the 'Get hardware data' metric | An error occurred when trying to get hardware data from the Pure Storage FlashArray API. |
length(last(/Pure Storage FlashArray v1 by HTTP/purestorage.flasharray.hardware.errors))>0 |
Warning | |
Pure Storage FlashArray: There are errors in the 'Get hosts' metric | An error occurred when trying to get host data from the Pure Storage FlashArray API. |
length(last(/Pure Storage FlashArray v1 by HTTP/purestorage.flasharray.hosts.errors))>0 |
Warning | |
Pure Storage FlashArray: There are errors in the 'Get volumes' metric | An error occurred when trying to get volume data from the Pure Storage FlashArray API. |
length(last(/Pure Storage FlashArray v1 by HTTP/purestorage.flasharray.volumes.errors))>0 |
Warning | |
Pure Storage FlashArray: There are errors in the 'Get certificates' metric | An error occurred when trying to get certificate data from the Pure Storage FlashArray API. |
length(last(/Pure Storage FlashArray v1 by HTTP/purestorage.flasharray.certificates.errors))>0 |
Warning | |
Pure Storage FlashArray: There are errors in the 'Get pods' metric | An error occurred when trying to get pod data from the Pure Storage FlashArray API. |
length(last(/Pure Storage FlashArray v1 by HTTP/purestorage.flasharray.pods.errors))>0 |
Warning | |
Pure Storage FlashArray: There are errors in the 'Get network interfaces' metric | An error occurred when trying to get network interface data from the Pure Storage FlashArray API. |
length(last(/Pure Storage FlashArray v1 by HTTP/purestorage.flasharray.net_ifs.errors))>0 |
Warning | |
Pure Storage FlashArray: There are errors in the 'Get storage array data' metric | An error occurred when trying to get array data from the Pure Storage FlashArray API. |
length(last(/Pure Storage FlashArray v1 by HTTP/purestorage.flasharray.array.errors))>0 |
Warning | |
Pure Storage FlashArray: RemoteAssist has been enabled | Purity's administrator-controlled RemoteAssist feature enables a Technical Support Engineer to communicate directly with the FlashArray via a secure link, effectively establishing an additional administrative session for the duration of the diagnosis and service. |
last(/Pure Storage FlashArray v1 by HTTP/purestorage.flasharray.remote_assist.status)=1 |
High | |
Pure Storage FlashArray: Phone Home has been disabled | Phone Home connects to the Pure1 service and uploads logs for continuous health monitoring. |
last(/Pure Storage FlashArray v1 by HTTP/purestorage.flasharray.phone_home.status)=0 |
Warning |
LLD rule Pod discovery
Name | Description | Type | Key and additional info |
---|---|---|---|
Pod discovery | Discovery of storage pods from the Pure Storage FlashArray API. |
Dependent item | purestorage.flasharray.pod.discovery Preprocessing
|
Item prototypes for Pod discovery
Name | Description | Type | Key and additional info |
---|---|---|---|
Pod [{#NAME}]: Get data | Collects data about the {#NAME} pod. |
Dependent item | purestorage.flasharray.pod.get[{#NAME}] Preprocessing
|
Pod [{#NAME}]: Promotion status | The current promotion status of the {#NAME} pod. |
Dependent item | purestorage.flasharray.pod.status[{#NAME}] Preprocessing
|
Pod [{#NAME}]: Number of arrays | Number of arrays connected to the {#NAME} pod. |
Dependent item | purestorage.flasharray.pod.arrays[{#NAME}] Preprocessing
|
LLD rule Drive discovery
Name | Description | Type | Key and additional info |
---|---|---|---|
Drive discovery | Discovery of storage drives from the Pure Storage FlashArray API. |
Dependent item | purestorage.flasharray.drive.discovery Preprocessing
|
Item prototypes for Drive discovery
Name | Description | Type | Key and additional info |
---|---|---|---|
Drive [{#NAME}]: Get data | Collects data about the {#NAME} drive. |
Dependent item | purestorage.flasharray.drive.get[{#NAME}] Preprocessing
|
Drive [{#NAME}]: Capacity | The capacity of the {#NAME} drive. |
Dependent item | purestorage.flasharray.drive.capacity[{#NAME}] Preprocessing
|
Drive [{#NAME}]: Status | The current status of the {#NAME} drive. |
Dependent item | purestorage.flasharray.drive.status[{#NAME}] Preprocessing
|
Drive [{#NAME}]: Serial number | Serial number of the {#NAME} drive device. |
Dependent item | purestorage.flasharray.drive.serial[{#NAME}] Preprocessing
|
Trigger prototypes for Drive discovery
Name | Description | Expression | Severity | Dependencies and additional info |
---|---|---|---|---|
Pure Storage FlashArray: Drive [{#NAME}]: Problem on the drive | Drive {#NAME} status is not "healthy", "updating", or "unused". |
last(/Pure Storage FlashArray v1 by HTTP/purestorage.flasharray.drive.status[{#NAME}])<>0 and last(/Pure Storage FlashArray v1 by HTTP/purestorage.flasharray.drive.status[{#NAME}])<>2 and last(/Pure Storage FlashArray v1 by HTTP/purestorage.flasharray.drive.status[{#NAME}])<>3 |
Average |
LLD rule Controller discovery
Name | Description | Type | Key and additional info |
---|---|---|---|
Controller discovery | Discovery of controllers from the Pure Storage FlashArray API. |
Dependent item | purestorage.flasharray.ctrl.discovery Preprocessing
|
Item prototypes for Controller discovery
Name | Description | Type | Key and additional info |
---|---|---|---|
Controller [{#NAME}]: Get data | Collects data about the {#NAME} controller. |
Dependent item | purestorage.flasharray.ctrl.get[{#NAME}] Preprocessing
|
Controller [{#NAME}]: Status | The current status of the {#NAME} controller. |
Dependent item | purestorage.flasharray.ctrl.status[{#NAME}] Preprocessing
|
Controller [{#NAME}]: Mode | The current mode of the {#NAME} controller. |
Dependent item | purestorage.flasharray.ctrl.mode[{#NAME}] Preprocessing
|
Controller [{#NAME}]: Serial number | Serial number of the {#NAME} controller. |
Dependent item | purestorage.flasharray.ctrl.serial[{#NAME}] Preprocessing
|
Controller [{#NAME}]: Model | Model of the {#NAME} controller. |
Dependent item | purestorage.flasharray.ctrl.model[{#NAME}] Preprocessing
|
Controller [{#NAME}]: Version | Version of the {#NAME} controller. |
Dependent item | purestorage.flasharray.ctrl.version[{#NAME}] Preprocessing
|
Trigger prototypes for Controller discovery
Name | Description | Expression | Severity | Dependencies and additional info |
---|---|---|---|---|
Pure Storage FlashArray: Controller [{#NAME}]: Controller is not ready | Controller {#NAME} status is not "ready" or "updating". |
last(/Pure Storage FlashArray v1 by HTTP/purestorage.flasharray.ctrl.status[{#NAME}])<>1 and last(/Pure Storage FlashArray v1 by HTTP/purestorage.flasharray.ctrl.status[{#NAME}])<>2 |
Average | |
Pure Storage FlashArray: Controller [{#NAME}]: Mode has been changed | The mode of the {#NAME} controller has changed. |
last(/Pure Storage FlashArray v1 by HTTP/purestorage.flasharray.ctrl.mode[{#NAME}],#1)<>last(/Pure Storage FlashArray v1 by HTTP/purestorage.flasharray.ctrl.mode[{#NAME}],#2) |
Average |
LLD rule Temperature sensor discovery
Name | Description | Type | Key and additional info |
---|---|---|---|
Temperature sensor discovery | Discovery of temperature sensors from the Pure Storage FlashArray API. |
Dependent item | purestorage.flasharray.temp.discovery Preprocessing
|
Item prototypes for Temperature sensor discovery
Name | Description | Type | Key and additional info |
---|---|---|---|
Sensor [{#NAME}]: Get data | Collects data about the {#NAME} temperature sensor. |
Dependent item | purestorage.flasharray.temp.get[{#NAME}] Preprocessing
|
Sensor [{#NAME}]: Status | The current status of the {#NAME} temperature sensor. |
Dependent item | purestorage.flasharray.temp.status[{#NAME}] Preprocessing
|
Sensor [{#NAME}]: Temperature | The current temperature value of the {#NAME} sensor. |
Dependent item | purestorage.flasharray.temp.value[{#NAME}] Preprocessing
|
Trigger prototypes for Temperature sensor discovery
Name | Description | Expression | Severity | Dependencies and additional info |
---|---|---|---|---|
Pure Storage FlashArray: Sensor [{#NAME}]: Sensor is not healthy | Temperature sensor {#NAME} status is not "ok". |
last(/Pure Storage FlashArray v1 by HTTP/purestorage.flasharray.temp.status[{#NAME}])<>0 |
Average |
LLD rule Power supply discovery
Name | Description | Type | Key and additional info |
---|---|---|---|
Power supply discovery | Discovery of power supply components from the Pure Storage FlashArray API. |
Dependent item | purestorage.flasharray.power.discovery Preprocessing
|
Item prototypes for Power supply discovery
Name | Description | Type | Key and additional info |
---|---|---|---|
Power supply [{#NAME}]: Get data | Collects data about the {#NAME} power supply component. |
Dependent item | purestorage.flasharray.power.get[{#NAME}] Preprocessing
|
Power supply [{#NAME}]: Status | The current status of the {#NAME} power supply component. |
Dependent item | purestorage.flasharray.power.status[{#NAME}] Preprocessing
|
Power supply [{#NAME}]: Serial number | Serial number of the {#NAME} power supply component. |
Dependent item | purestorage.flasharray.power.serial[{#NAME}] Preprocessing
|
Power supply [{#NAME}]: Model | Model of the {#NAME} power supply component. |
Dependent item | purestorage.flasharray.power.model[{#NAME}] Preprocessing
|
Power supply [{#NAME}]: Voltage | The current voltage value of the {#NAME} power supply component. |
Dependent item | purestorage.flasharray.power.value[{#NAME}] Preprocessing
|
Trigger prototypes for Power supply discovery
Name | Description | Expression | Severity | Dependencies and additional info |
---|---|---|---|---|
Pure Storage FlashArray: Power supply [{#NAME}]: Power supply is not healthy | Power supply component {#NAME} status is not "ok". |
last(/Pure Storage FlashArray v1 by HTTP/purestorage.flasharray.power.status[{#NAME}])<>0 |
Average |
LLD rule Fan discovery
Name | Description | Type | Key and additional info |
---|---|---|---|
Fan discovery | Discovery of fans from the Pure Storage FlashArray API. |
Dependent item | purestorage.flasharray.fan.discovery Preprocessing
|
Item prototypes for Fan discovery
Name | Description | Type | Key and additional info |
---|---|---|---|
Fan [{#NAME}]: Get data | Collects data about the {#NAME} fan. |
Dependent item | purestorage.flasharray.fan.get[{#NAME}] Preprocessing
|
Fan [{#NAME}]: Status | The current status of the {#NAME} fan. |
Dependent item | purestorage.flasharray.fan.status[{#NAME}] Preprocessing
|
Trigger prototypes for Fan discovery
Name | Description | Expression | Severity | Dependencies and additional info |
---|---|---|---|---|
Pure Storage FlashArray: Fan [{#NAME}]: Fan is not healthy | Fan {#NAME} status is not "ok". |
last(/Pure Storage FlashArray v1 by HTTP/purestorage.flasharray.fan.status[{#NAME}])<>0 |
Average |
LLD rule Host discovery
Name | Description | Type | Key and additional info |
---|---|---|---|
Host discovery | Discovery of storage hosts from the Pure Storage FlashArray API. |
Dependent item | purestorage.flasharray.host.discovery Preprocessing
|
Item prototypes for Host discovery
Name | Description | Type | Key and additional info |
---|---|---|---|
Host [{#NAME}]: Get data | Collects data about the {#NAME} host. |
Dependent item | purestorage.flasharray.host.get[{#NAME}] Preprocessing
|
Host [{#NAME}]: Size | The physical space occupied on the {#NAME} host volume. |
Dependent item | purestorage.flasharray.host.size[{#NAME}] Preprocessing
|
Host [{#NAME}]: Data reduction | The data reduction ratio (DRR) represents the efficiency of data reduction techniques such as compression and deduplication for the {#NAME} host volume. |
Dependent item | purestorage.flasharray.host.drr[{#NAME}] Preprocessing
|
Host [{#NAME}]: Total data reduction | The total reduction ratio of all data on the {#NAME} host volume that has been processed by the data deduplication and compression engines. |
Dependent item | purestorage.flasharray.host.total_drr[{#NAME}] Preprocessing
|
Host [{#NAME}]: Bytes written per second | Number of bytes written to the {#NAME} host volume per second. |
Dependent item | purestorage.flasharray.host.written_bytes.rate[{#NAME}] Preprocessing
|
Host [{#NAME}]: Bytes read per second | Number of bytes read from the {#NAME} host volume per second. |
Dependent item | purestorage.flasharray.host.read_bytes.rate[{#NAME}] Preprocessing
|
Host [{#NAME}]: Read requests per second | Number of read requests processed on the {#NAME} host volume per second. |
Dependent item | purestorage.flasharray.host.read_requests.rate[{#NAME}] Preprocessing
|
Host [{#NAME}]: Write requests per second | Number of write requests processed on the {#NAME} host volume per second. |
Dependent item | purestorage.flasharray.host.write_requests.rate[{#NAME}] Preprocessing
|
Host [{#NAME}]: Microseconds per read | Average time in microseconds required to process an I/O read request from the {#NAME} host volume. |
Dependent item | purestorage.flasharray.host.usec_per_read[{#NAME}] Preprocessing
|
Host [{#NAME}]: Microseconds per write | Average time in microseconds required to process an I/O write request to the {#NAME} host volume. |
Dependent item | purestorage.flasharray.host.usec_per_write[{#NAME}] Preprocessing
|
Host [{#NAME}]: Used space | The total physical space occupied by all data on the {#NAME} host volume. |
Dependent item | purestorage.flasharray.host.used_space[{#NAME}] Preprocessing
|
Host [{#NAME}]: Snapshots size | The physical space occupied by snapshots on the {#NAME} host volume. |
Dependent item | purestorage.flasharray.host.snapshots_size[{#NAME}] Preprocessing
|
Host [{#NAME}]: Thin provisioning | The percentage of sectors in the {#NAME} host volume that do not contain host-written data because the hosts have not written data to them or the sectors have been explicitly trimmed. |
Dependent item | purestorage.flasharray.host.thin_provisioning[{#NAME}] Preprocessing
|
LLD rule Volume discovery
Name | Description | Type | Key and additional info |
---|---|---|---|
Volume discovery | Discovery of storage volumes from the Pure Storage FlashArray API. |
Dependent item | purestorage.flasharray.volume.discovery Preprocessing
|
Item prototypes for Volume discovery
Name | Description | Type | Key and additional info |
---|---|---|---|
Volume [{#NAME}]: Get data | Collects data about the {#NAME} volume. |
Dependent item | purestorage.flasharray.volume.get[{#SN}] Preprocessing
|
Volume [{#NAME}]: Size | The physical space occupied by the {#NAME} volume. |
Dependent item | purestorage.flasharray.volume.size[{#SN}] Preprocessing
|
Volume [{#NAME}]: Data reduction | The data reduction ratio (DRR) represents the efficiency of data reduction techniques such as compression and deduplication for the {#NAME} volume. |
Dependent item | purestorage.flasharray.volume.drr[{#SN}] Preprocessing
|
Volume [{#NAME}]: Total data reduction | The total reduction ratio of all data on the {#NAME} volume that has been processed by the data deduplication and compression engines. |
Dependent item | purestorage.flasharray.volume.total_drr[{#SN}] Preprocessing
|
Volume [{#NAME}]: Bytes written per second | Number of bytes written to the {#NAME} volume per second. |
Dependent item | purestorage.flasharray.volume.written_bytes.rate[{#SN}] Preprocessing
|
Volume [{#NAME}]: Bytes read per second | Number of bytes read from the {#NAME} volume per second. |
Dependent item | purestorage.flasharray.volume.read_bytes.rate[{#SN}] Preprocessing
|
Volume [{#NAME}]: Read requests per second | Number of read requests processed on the {#NAME} volume per second. |
Dependent item | purestorage.flasharray.volume.read_requests.rate[{#SN}] Preprocessing
|
Volume [{#NAME}]: Write requests per second | Number of write requests processed on the {#NAME} volume per second. |
Dependent item | purestorage.flasharray.volume.write_requests.rate[{#SN}] Preprocessing
|
Volume [{#NAME}]: Microseconds per read | Average time in microseconds required to process an I/O read request from the {#NAME} volume. |
Dependent item | purestorage.flasharray.volume.usec_per_read[{#SN}] Preprocessing
|
Volume [{#NAME}]: Microseconds per write | Average time in microseconds required to process an I/O write request to the {#NAME} volume. |
Dependent item | purestorage.flasharray.volume.usec_per_write[{#SN}] Preprocessing
|
Volume [{#NAME}]: Shared space | The physical space occupied by deduplicated data on the {#NAME} volume. |
Dependent item | purestorage.flasharray.volume.shared_space[{#SN}] Preprocessing
|
Volume [{#NAME}]: Used space | The total physical space occupied by all data on the {#NAME} volume. |
Dependent item | purestorage.flasharray.volume.used_space[{#SN}] Preprocessing
|
Volume [{#NAME}]: Snapshots size | The physical space occupied by snapshots on the {#NAME} volume. |
Dependent item | purestorage.flasharray.volume.snapshots_size[{#SN}] Preprocessing
|
Volume [{#NAME}]: Thin provisioning | The percentage of sectors in the {#NAME} volume that do not contain host-written data because the hosts have not written data to them or the sectors have been explicitly trimmed. |
Dependent item | purestorage.flasharray.volume.thin_provisioning[{#SN}] Preprocessing
|
Trigger prototypes for Volume discovery
Name | Description | Expression | Severity | Dependencies and additional info |
---|---|---|---|---|
Pure Storage FlashArray: Volume [{#NAME}]: Volume size has been changed | Physical space occupied by the {#NAME} volume has been changed. |
last(/Pure Storage FlashArray v1 by HTTP/purestorage.flasharray.volume.size[{#SN}],#1)<>last(/Pure Storage FlashArray v1 by HTTP/purestorage.flasharray.volume.size[{#SN}],#2) |
Warning |
LLD rule Certificate discovery
Name | Description | Type | Key and additional info |
---|---|---|---|
Certificate discovery | Discovery of certificates from the Pure Storage FlashArray API. |
Dependent item | purestorage.flasharray.cert.discovery Preprocessing
|
Item prototypes for Certificate discovery
Name | Description | Type | Key and additional info |
---|---|---|---|
Certificate [{#NAME}]: Get data | Collects data about the {#NAME} certificate. |
Dependent item | purestorage.flasharray.cert.get[{#NAME}] Preprocessing
|
Certificate [{#NAME}]: Common name | The common name field listed in the {#NAME} certificate. |
Dependent item | purestorage.flasharray.cert.cn[{#NAME}] Preprocessing
|
Certificate [{#NAME}]: Issued to | Indicates the entity which holds the {#NAME} certificate. |
Dependent item | purestorage.flasharray.cert.issued_to[{#NAME}] Preprocessing
|
Certificate [{#NAME}]: Issued by | Indicates the authority or organization that issued the {#NAME} certificate, typically including information such as the name of the Certificate Authority (CA) and its digital signature. |
Dependent item | purestorage.flasharray.cert.issued_by[{#NAME}] Preprocessing
|
Certificate [{#NAME}]: Valid from | Indicates the date and time when the {#NAME} certificate takes effect. |
Dependent item | purestorage.flasharray.cert.valid_from[{#NAME}] Preprocessing
|
Certificate [{#NAME}]: Valid to | Indicates the expiration date and time of the {#NAME} certificate. |
Dependent item | purestorage.flasharray.cert.valid_to[{#NAME}] Preprocessing
|
Trigger prototypes for Certificate discovery
Name | Description | Expression | Severity | Dependencies and additional info |
---|---|---|---|---|
Pure Storage FlashArray: Certificate [{#NAME}]: SSL certificate expires soon | Consider reissuing and replacing the {#NAME} certificate. |
last(/Pure Storage FlashArray v1 by HTTP/purestorage.flasharray.cert.valid_to[{#NAME}]) > 0 and (last(/Pure Storage FlashArray v1 by HTTP/purestorage.flasharray.cert.valid_to[{#NAME}]) - now()) / 86400 < {$PURE.FLASHARRAY.CERT.EXPIRY.WARN} |
Average |
LLD rule Network interface discovery
Name | Description | Type | Key and additional info |
---|---|---|---|
Network interface discovery | Discovery of storage hosts from the Pure Storage FlashArray API. |
Dependent item | purestorage.flasharray.net_if.discovery Preprocessing
|
Item prototypes for Network interface discovery
Name | Description | Type | Key and additional info |
---|---|---|---|
Interface [{#IFNAME}]: Get data | Collects data about the {#IFNAME} network interface. |
Dependent item | purestorage.flasharray.net_if.get[{#IFNAME}] Preprocessing
|
Interface [{#IFNAME}]: Speed | Current bandwidth of the interface. |
Dependent item | purestorage.flasharray.net_if.speed[{#IFNAME}] Preprocessing
|
Interface [{#IFNAME}]: IP address | Represents the IP address of the {#IFNAME} interface. |
Dependent item | purestorage.flasharray.net_if.ip[{#IFNAME}] Preprocessing
|
Interface [{#IFNAME}]: MAC address | Represents the MAC address of the {#IFNAME} interface. |
Dependent item | purestorage.flasharray.net_if.mac[{#IFNAME}] Preprocessing
|
Interface [{#IFNAME}]: Gateway | Represents the IP address of the gateway for the {#IFNAME} interface. |
Dependent item | purestorage.flasharray.net_if.gateway[{#IFNAME}] Preprocessing
|
Trigger prototypes for Network interface discovery
Name | Description | Expression | Severity | Dependencies and additional info |
---|---|---|---|---|
Pure Storage FlashArray: Interface [{#IFNAME}]: Ethernet has changed to lower speed than it was before | This Ethernet connection has transitioned down from its known maximum speed. This might be a sign of autonegotiation issues. Acknowledge to close the problem manually. |
change(/Pure Storage FlashArray v1 by HTTP/purestorage.flasharray.net_if.speed[{#IFNAME}])<0 and last(/Pure Storage FlashArray v1 by HTTP/purestorage.flasharray.net_if.speed[{#IFNAME}])>0 |
Info | Manual close: Yes |
Pure Storage FlashArray v2 by HTTP
Overview
This template is designed for the effortless deployment of Pure Storage FlashArray v2 monitoring by Áú»¢¶Ä²© via HTTP and doesn't require any external scripts.
Requirements
Áú»¢¶Ä²© version: 7.2 and higher.
Tested versions
This template has been tested on:
- Pure Storage FlashArray FA-X20R4 (Purity//FA: 6.7.1)
Configuration
Áú»¢¶Ä²© should be configured according to the instructions in the Templates out of the box section.
Setup
- Create a host for the Pure Storage FlashArray device and assign to it the "Pure Storage FlashArray v2 by HTTP" template.
- Enter your API token from the FlashArray (Purity//FA) graphical user interface into the
{$PURE.FLASHARRAY.API.TOKEN}
macro. - Set your FlashArray (Purity//FA) graphical user interface URL as the
{$PURE.FLASHARRAY.API.URL}
macro value.
Macros used
Name | Description | Default |
---|---|---|
{$PURE.FLASHARRAY.API.URL} | Pure Storage FlashArray Web interface URL. |
|
{$PURE.FLASHARRAY.API.TOKEN} | Pure Storage FlashArray API token. |
|
{$PURE.FLASHARRAY.API.VERSION} | Pure Storage FlashArray API version. |
2.36 |
{$PURE.FLASHARRAY.CERT.EXPIRY.WARN} | Number of days until the certificate expires. |
7 |
{$PURE.FLASHARRAY.DATA.TIMEOUT} | Response timeout for the API. |
15s |
{$PURE.FLASHARRAY.POD.LLD.FILTER.NAME.MATCHES} | Filter of discoverable storage pods by name. |
.* |
{$PURE.FLASHARRAY.POD.LLD.FILTER.NAME.NOT_MATCHES} | Filter to exclude discoverable storage pods by name. |
CHANGE_IF_NEEDED |
{$PURE.FLASHARRAY.CERT.LLD.FILTER.NAME.MATCHES} | Filter of discoverable certificates by name. |
.* |
{$PURE.FLASHARRAY.CERT.LLD.FILTER.NAME.NOT_MATCHES} | Filter to exclude discoverable certificates by name. |
CHANGE_IF_NEEDED |
{$PURE.FLASHARRAY.CTRL.LLD.FILTER.INDEX.MATCHES} | Filter of discoverable controllers by index. |
.* |
{$PURE.FLASHARRAY.CTRL.LLD.FILTER.INDEX.NOT_MATCHES} | Filter to exclude discoverable controllers by index. |
CHANGE_IF_NEEDED |
{$PURE.FLASHARRAY.TEMP.LLD.FILTER.INDEX.MATCHES} | Filter of discoverable temperature sensors by index. |
.* |
{$PURE.FLASHARRAY.TEMP.LLD.FILTER.INDEX.NOT_MATCHES} | Filter to exclude discoverable temperature sensors by index. |
CHANGE_IF_NEEDED |
{$PURE.FLASHARRAY.POWER.LLD.FILTER.INDEX.MATCHES} | Filter of discoverable power supply components by index. |
.* |
{$PURE.FLASHARRAY.POWER.LLD.FILTER.INDEX.NOT_MATCHES} | Filter to exclude discoverable power supply components by index. |
CHANGE_IF_NEEDED |
{$PURE.FLASHARRAY.FAN.LLD.FILTER.INDEX.MATCHES} | Filter of discoverable fans by index. |
.* |
{$PURE.FLASHARRAY.FAN.LLD.FILTER.INDEX.NOT_MATCHES} | Filter to exclude discoverable fans by index. |
CHANGE_IF_NEEDED |
{$PURE.FLASHARRAY.DRIVE.LLD.FILTER.NAME.MATCHES} | Filter of discoverable storage drives by name. |
.* |
{$PURE.FLASHARRAY.DRIVE.LLD.FILTER.NAME.NOT_MATCHES} | Filter to exclude discoverable storage drives by name. |
CHANGE_IF_NEEDED |
{$PURE.FLASHARRAY.HOST.LLD.FILTER.NAME.MATCHES} | Filter of discoverable hosts by name. |
.* |
{$PURE.FLASHARRAY.HOST.LLD.FILTER.NAME.NOT_MATCHES} | Filter to exclude discoverable hosts by name. |
CHANGE_IF_NEEDED |
{$PURE.FLASHARRAY.HOST.LLD.FILTER.GROUP.MATCHES} | Filter of discoverable hosts by group. |
.* |
{$PURE.FLASHARRAY.HOST.LLD.FILTER.GROUP.NOT_MATCHES} | Filter to exclude discoverable hosts by group. |
CHANGE_IF_NEEDED |
{$PURE.FLASHARRAY.NETIF.LLD.FILTER.NAME.MATCHES} | Filter of discoverable network interfaces by name. |
.* |
{$PURE.FLASHARRAY.NETIF.LLD.FILTER.NAME.NOT_MATCHES} | Filter to exclude discoverable network interfaces by name. |
CHANGE_IF_NEEDED |
{$PURE.FLASHARRAY.VOLUME.LLD.FILTER.NAME.MATCHES} | Filter of discoverable storage volumes by name. |
.* |
{$PURE.FLASHARRAY.VOLUME.LLD.FILTER.NAME.NOT_MATCHES} | Filter to exclude discoverable storage volumes by name. |
CHANGE_IF_NEEDED |
{$PURE.FLASHARRAY.HTTP_PROXY} | HTTP proxy for API requests. You can specify it using the format [protocol://][username[:password]@]proxy.example.com[:port]. For more details, see the documentation at /documentation/7.2/manual/config/items/itemtypes/http |
Items
Name | Description | Type | Key and additional info |
---|---|---|---|
Authentication | Pure Storage FlashArray authentication with API token usage. Returns a session token; it is required only once and is used for all dependent script items. A session will expire after 30 minutes. Check the template documentation for the details. |
Script | purestorage.flasharray.auth |
Authentication item errors | Collects errors from the authentication item. |
Dependent item | purestorage.flasharray.auth.errors Preprocessing
|
Get hardware data | Collects hardware from the Pure Storage FlashArray API. |
Dependent item | purestorage.flasharray.hardware.get Preprocessing
|
Storage hardware item errors | Collects errors from hardware retrieval. |
Dependent item | purestorage.flasharray.hardware.errors Preprocessing
|
Get hosts | Collects all hosts from the Pure Storage FlashArray API. |
Dependent item | purestorage.flasharray.hosts.get Preprocessing
|
Storage hosts item errors | Collects errors from host data retrieval. |
Dependent item | purestorage.flasharray.hosts.errors Preprocessing
|
Get volumes | Collects all volumes from the Pure Storage FlashArray API. |
Dependent item | purestorage.flasharray.volumes.get Preprocessing
|
Storage volumes item errors | Collects errors from volume retrieval. |
Dependent item | purestorage.flasharray.volumes.errors Preprocessing
|
Get certificates | Collects all certificates from the Pure Storage FlashArray API. |
Dependent item | purestorage.flasharray.certificates.get Preprocessing
|
Certificates item errors | Collects errors from certificate retrieval. |
Dependent item | purestorage.flasharray.certificates.errors Preprocessing
|
Get pods | Collects all pods from the Pure Storage FlashArray API. |
Dependent item | purestorage.flasharray.pods.get Preprocessing
|
Storage pods item errors | Collects errors from pod retrieval. |
Dependent item | purestorage.flasharray.pods.errors Preprocessing
|
Get network interfaces | Collects all network interfaces from the Pure Storage FlashArray API. |
Dependent item | purestorage.flasharray.net_ifs.get Preprocessing
|
Storage network interfaces item errors | Collects errors from network interface retrieval. |
Dependent item | purestorage.flasharray.net_ifs.errors Preprocessing
|
Get array data | Collects array data from the Pure Storage FlashArray API. |
Dependent item | purestorage.flasharray.array.get Preprocessing
|
Storage array item errors | Collects errors from array data retrieval. |
Dependent item | purestorage.flasharray.array.errors Preprocessing
|
Get support information | Collects support information from the Pure Storage FlashArray API. |
Dependent item | purestorage.flasharray.support.get Preprocessing
|
Support information item errors | Collects errors from support information retrieval. |
Dependent item | purestorage.flasharray.support.errors Preprocessing
|
Get alerts data | Collects alert data from the Pure Storage FlashArray API. |
Dependent item | purestorage.flasharray.alert.get Preprocessing
|
Alerts data item errors | Collects errors from alert data retrieval. |
Dependent item | purestorage.flasharray.alert.errors Preprocessing
|
Critical alerts | Number of active alerts in the web interface of Pure Storage FlashArray with a severity level of Critical. |
Dependent item | purestorage.flasharray.alert.critical Preprocessing
|
Warning alerts | Number of active alerts in the web interface of Pure Storage FlashArray with a severity level of Warning. |
Dependent item | purestorage.flasharray.alert.warning Preprocessing
|
Array capacity | Total capacity of the array. |
Dependent item | purestorage.flasharray.array.capacity Preprocessing
|
Array data reduction | The data reduction ratio (DRR) represents the efficiency of data reduction techniques such as compression and deduplication for the array volume. |
Dependent item | purestorage.flasharray.array.drr Preprocessing
|
Array total data reduction | The total reduction ratio of all data on the array volume that has been processed by the data deduplication and compression engines. |
Dependent item | purestorage.flasharray.array.total_drr Preprocessing
|
Array hostname | Host name of the array. |
Dependent item | purestorage.flasharray.array.hostname Preprocessing
|
Array bytes written per second | Number of bytes written per second. |
Dependent item | purestorage.flasharray.array.written_bytes.rate Preprocessing
|
Array bytes read per second | Number of bytes read per second. |
Dependent item | purestorage.flasharray.array.read_bytes.rate Preprocessing
|
Array read requests per second | Number of read requests processed per second. |
Dependent item | purestorage.flasharray.array.read_requests.rate Preprocessing
|
Array write requests per second | Number of write requests processed per second. |
Dependent item | purestorage.flasharray.array.write_requests.rate Preprocessing
|
Array microseconds per read | Average time in microseconds required to process an I/O read request from the array. The average time does not include SAN time, queue time, or QoS rate limit time. |
Dependent item | purestorage.flasharray.array.usec_per_read Preprocessing
|
Array microseconds per write | Average time in microseconds required to process an I/O write request to the array. The average time does not include SAN time, queue time, or QoS rate limit time. |
Dependent item | purestorage.flasharray.array.usec_per_write Preprocessing
|
Array microseconds per operation | Average local queue time in microseconds for both read and write operations. |
Dependent item | purestorage.flasharray.array.usec_per_op Preprocessing
|
Array shared space | The physical space occupied by deduplicated data. |
Dependent item | purestorage.flasharray.array.shared_space Preprocessing
|
Array used space | The total space occupied by system, shared space, volume, and snapshot data. |
Dependent item | purestorage.flasharray.array.used_space Preprocessing
|
Array physical size | The total physical space occupied by system, shared space, volume, and snapshot data. |
Dependent item | purestorage.flasharray.array.physical_size Preprocessing
|
Array snapshots size | The physical space occupied by snapshots. |
Dependent item | purestorage.flasharray.array.snapshots_size Preprocessing
|
Array system size | The physical space occupied by internal array metadata. |
Dependent item | purestorage.flasharray.array.system_size Preprocessing
|
Array thin provisioning | The percentage of volume sectors that do not contain host-written data because the hosts have not written data to them or the sectors have been explicitly trimmed. |
Dependent item | purestorage.flasharray.array.thin_provisioning Preprocessing
|
Array parity | The percentage of data that is protected. |
Dependent item | purestorage.flasharray.array.parity Preprocessing
|
Array OS | Operating system of the array. |
Dependent item | purestorage.flasharray.array.os Preprocessing
|
Array version | Version of the array. |
Dependent item | purestorage.flasharray.array.version Preprocessing
|
Remote assist status | Status of the remote assist connection. |
Dependent item | purestorage.flasharray.remote_assist.status Preprocessing
|
Phone home status | Current status of a manually-initiated phone home. |
Dependent item | purestorage.flasharray.phone_home.status Preprocessing
|
Triggers
Name | Description | Expression | Severity | Dependencies and additional info |
---|---|---|---|---|
Pure Storage FlashArray: Authentication has failed | An error occurred when trying to perform authentication in the Pure Storage FlashArray API. |
length(last(/Pure Storage FlashArray v2 by HTTP/purestorage.flasharray.auth.errors))>0 |
Average | |
Pure Storage FlashArray: There are errors in the 'Get hardware data' metric | An error occurred when trying to get hardware data from the Pure Storage FlashArray API. |
length(last(/Pure Storage FlashArray v2 by HTTP/purestorage.flasharray.hardware.errors))>0 |
Warning | |
Pure Storage FlashArray: There are errors in the 'Get hosts' metric | An error occurred when trying to get host data from the Pure Storage FlashArray API. |
length(last(/Pure Storage FlashArray v2 by HTTP/purestorage.flasharray.hosts.errors))>0 |
Warning | |
Pure Storage FlashArray: There are errors in the 'Get volumes' metric | An error occurred when trying to get volume data from the Pure Storage FlashArray API. |
length(last(/Pure Storage FlashArray v2 by HTTP/purestorage.flasharray.volumes.errors))>0 |
Warning | |
Pure Storage FlashArray: There are errors in the 'Get certificates' metric | An error occurred when trying to get certificate data from the Pure Storage FlashArray API. |
length(last(/Pure Storage FlashArray v2 by HTTP/purestorage.flasharray.certificates.errors))>0 |
Warning | |
Pure Storage FlashArray: There are errors in the 'Get pods' metric | An error occurred when trying to get pod data from the Pure Storage FlashArray API. |
length(last(/Pure Storage FlashArray v2 by HTTP/purestorage.flasharray.pods.errors))>0 |
Warning | |
Pure Storage FlashArray: There are errors in the 'Get network interfaces' metric | An error occurred when trying to get network interface data from the Pure Storage FlashArray API. |
length(last(/Pure Storage FlashArray v2 by HTTP/purestorage.flasharray.net_ifs.errors))>0 |
Warning | |
Pure Storage FlashArray: There are errors in the 'Get storage array data' metric | An error occurred when trying to get array data from the Pure Storage FlashArray API. |
length(last(/Pure Storage FlashArray v2 by HTTP/purestorage.flasharray.array.errors))>0 |
Warning | |
Pure Storage FlashArray: There are errors in the 'Get support information' metric | An error occurred when trying to get support information from the Pure Storage FlashArray API. |
length(last(/Pure Storage FlashArray v2 by HTTP/purestorage.flasharray.support.errors))>0 |
Warning | |
Pure Storage FlashArray: There are errors in the 'Get alerts data' metric | An error occurred when trying to get alert data from the Pure Storage FlashArray API. |
length(last(/Pure Storage FlashArray v2 by HTTP/purestorage.flasharray.alert.errors))>0 |
Warning | |
Pure Storage FlashArray: Critical alerts have been detected | Recommended to refer to the Pure Storage FlashArray web interface to check the alert details. |
last(/Pure Storage FlashArray v2 by HTTP/purestorage.flasharray.alert.critical)>0 |
High | |
Pure Storage FlashArray: Warning alerts have been detected | Recommended to refer to the Pure Storage FlashArray web interface to check the alert details. |
last(/Pure Storage FlashArray v2 by HTTP/purestorage.flasharray.alert.warning)>0 |
Warning | |
Pure Storage FlashArray: RemoteAssist has been enabled | Purity's administrator-controlled RemoteAssist feature enables a Technical Support Engineer to communicate directly with the FlashArray via a secure link, effectively establishing an additional administrative session for the duration of the diagnosis and service. |
last(/Pure Storage FlashArray v2 by HTTP/purestorage.flasharray.remote_assist.status)=1 |
High | |
Pure Storage FlashArray: Phone Home has been disabled | Phone Home connects to the Pure1 service and uploads logs for continuous health monitoring. |
last(/Pure Storage FlashArray v2 by HTTP/purestorage.flasharray.phone_home.status)=0 |
Warning |
LLD rule Pod discovery
Name | Description | Type | Key and additional info |
---|---|---|---|
Pod discovery | Discovery of storage pods from the Pure Storage FlashArray API. |
Dependent item | purestorage.flasharray.pod.discovery Preprocessing
|
Item prototypes for Pod discovery
Name | Description | Type | Key and additional info |
---|---|---|---|
Pod [{#NAME}]: Get data | Collects data about the {#NAME} pod. |
Dependent item | purestorage.flasharray.pod.get[{#NAME}] Preprocessing
|
Pod [{#NAME}]: Quota | The quota limit of the {#NAME} pod. |
Dependent item | purestorage.flasharray.pod.quota[{#NAME}] Preprocessing
|
Pod [{#NAME}]: Status | The current promotion status of the {#NAME} pod. |
Dependent item | purestorage.flasharray.pod.status[{#NAME}] Preprocessing
|
Pod [{#NAME}]: Number of arrays | Number of arrays connected to the {#NAME} pod. |
Dependent item | purestorage.flasharray.pod.arrays[{#NAME}] Preprocessing
|
LLD rule Drive discovery
Name | Description | Type | Key and additional info |
---|---|---|---|
Drive discovery | Discovery of storage drives from the Pure Storage FlashArray API. |
Dependent item | purestorage.flasharray.drive.discovery Preprocessing
|
Item prototypes for Drive discovery
Name | Description | Type | Key and additional info |
---|---|---|---|
Drive [{#NAME}]: Get data | Collects data about the {#NAME} drive. |
Dependent item | purestorage.flasharray.drive.get[{#NAME}] Preprocessing
|
Drive [{#NAME}]: Capacity | The capacity of the {#NAME} drive. |
Dependent item | purestorage.flasharray.drive.capacity[{#NAME}] Preprocessing
|
Drive [{#NAME}]: Status | The current status of the {#NAME} drive. |
Dependent item | purestorage.flasharray.drive.status[{#NAME}] Preprocessing
|
Drive [{#NAME}]: Serial number | Serial number of the {#NAME} drive device. |
Dependent item | purestorage.flasharray.drive.serial[{#NAME}] Preprocessing
|
Trigger prototypes for Drive discovery
Name | Description | Expression | Severity | Dependencies and additional info |
---|---|---|---|---|
Pure Storage FlashArray: Drive [{#NAME}]: Problem on the drive | Drive {#NAME} status is not "healthy", "updating", or "unused". |
last(/Pure Storage FlashArray v2 by HTTP/purestorage.flasharray.drive.status[{#NAME}])<>0 and last(/Pure Storage FlashArray v2 by HTTP/purestorage.flasharray.drive.status[{#NAME}])<>2 and last(/Pure Storage FlashArray v2 by HTTP/purestorage.flasharray.drive.status[{#NAME}])<>3 |
Average |
LLD rule Controller discovery
Name | Description | Type | Key and additional info |
---|---|---|---|
Controller discovery | Discovery of controllers from the Pure Storage FlashArray API. |
Dependent item | purestorage.flasharray.ctrl.discovery Preprocessing
|
Item prototypes for Controller discovery
Name | Description | Type | Key and additional info |
---|---|---|---|
Controller [{#NAME}]: Get data | Collects data about the {#NAME} controller. |
Dependent item | purestorage.flasharray.ctrl.get[{#NAME}] Preprocessing
|
Controller [{#NAME}]: Status | The current status of the {#NAME} controller. |
Dependent item | purestorage.flasharray.ctrl.status[{#NAME}] Preprocessing
|
Controller [{#NAME}]: Mode | The current mode of the {#NAME} controller. |
Dependent item | purestorage.flasharray.ctrl.mode[{#NAME}] Preprocessing
|
Controller [{#NAME}]: Serial number | Serial number of the {#NAME} controller. |
Dependent item | purestorage.flasharray.ctrl.serial[{#NAME}] Preprocessing
|
Controller [{#NAME}]: Model | Model of the {#NAME} controller. |
Dependent item | purestorage.flasharray.ctrl.model[{#NAME}] Preprocessing
|
Controller [{#NAME}]: Version | Version of the {#NAME} controller. |
Dependent item | purestorage.flasharray.ctrl.version[{#NAME}] Preprocessing
|
Trigger prototypes for Controller discovery
Name | Description | Expression | Severity | Dependencies and additional info |
---|---|---|---|---|
Pure Storage FlashArray: Controller [{#NAME}]: Controller is not ready | Controller {#NAME} status is not "ready" or "updating". |
last(/Pure Storage FlashArray v2 by HTTP/purestorage.flasharray.ctrl.status[{#NAME}])<>1 and last(/Pure Storage FlashArray v2 by HTTP/purestorage.flasharray.ctrl.status[{#NAME}])<>2 |
Average | |
Pure Storage FlashArray: Controller [{#NAME}]: Mode has been changed | The mode of the {#NAME} controller has changed. |
last(/Pure Storage FlashArray v2 by HTTP/purestorage.flasharray.ctrl.mode[{#NAME}],#1)<>last(/Pure Storage FlashArray v2 by HTTP/purestorage.flasharray.ctrl.mode[{#NAME}],#2) |
Average |
LLD rule Temperature sensor discovery
Name | Description | Type | Key and additional info |
---|---|---|---|
Temperature sensor discovery | Discovery of temperature sensors from the Pure Storage FlashArray API. |
Dependent item | purestorage.flasharray.temp.discovery Preprocessing
|
Item prototypes for Temperature sensor discovery
Name | Description | Type | Key and additional info |
---|---|---|---|
Sensor [{#NAME}]: Get data | Collects data about the {#NAME} temperature sensor. |
Dependent item | purestorage.flasharray.temp.get[{#NAME}] Preprocessing
|
Sensor [{#NAME}]: Status | The current status of the {#NAME} temperature sensor. |
Dependent item | purestorage.flasharray.temp.status[{#NAME}] Preprocessing
|
Sensor [{#NAME}]: Temperature | The current temperature value of the {#NAME} sensor. |
Dependent item | purestorage.flasharray.temp.value[{#NAME}] Preprocessing
|
Trigger prototypes for Temperature sensor discovery
Name | Description | Expression | Severity | Dependencies and additional info |
---|---|---|---|---|
Pure Storage FlashArray: Sensor [{#NAME}]: Sensor is not healthy | Temperature sensor {#NAME} status is not "ok". |
last(/Pure Storage FlashArray v2 by HTTP/purestorage.flasharray.temp.status[{#NAME}])<>0 |
Average |
LLD rule Power supply discovery
Name | Description | Type | Key and additional info |
---|---|---|---|
Power supply discovery | Discovery of power supply components from the Pure Storage FlashArray API. |
Dependent item | purestorage.flasharray.power.discovery Preprocessing
|
Item prototypes for Power supply discovery
Name | Description | Type | Key and additional info |
---|---|---|---|
Power supply [{#NAME}]: Get data | Collects data about the {#NAME} power supply component. |
Dependent item | purestorage.flasharray.power.get[{#NAME}] Preprocessing
|
Power supply [{#NAME}]: Status | The current status of the {#NAME} power supply component. |
Dependent item | purestorage.flasharray.power.status[{#NAME}] Preprocessing
|
Power supply [{#NAME}]: Serial number | Serial number of the {#NAME} power supply component. |
Dependent item | purestorage.flasharray.power.serial[{#NAME}] Preprocessing
|
Power supply [{#NAME}]: Model | Model of the {#NAME} power supply component. |
Dependent item | purestorage.flasharray.power.model[{#NAME}] Preprocessing
|
Power supply [{#NAME}]: Voltage | The current voltage value of the {#NAME} power supply component. |
Dependent item | purestorage.flasharray.power.value[{#NAME}] Preprocessing
|
Trigger prototypes for Power supply discovery
Name | Description | Expression | Severity | Dependencies and additional info |
---|---|---|---|---|
Pure Storage FlashArray: Power supply [{#NAME}]: Power supply is not healthy | Power supply component {#NAME} status is not "ok". |
last(/Pure Storage FlashArray v2 by HTTP/purestorage.flasharray.power.status[{#NAME}])<>0 |
Average |
LLD rule Fan discovery
Name | Description | Type | Key and additional info |
---|---|---|---|
Fan discovery | Discovery of fans from the Pure Storage FlashArray API. |
Dependent item | purestorage.flasharray.fan.discovery Preprocessing
|
Item prototypes for Fan discovery
Name | Description | Type | Key and additional info |
---|---|---|---|
Fan [{#NAME}]: Get data | Collects data about the {#NAME} fan. |
Dependent item | purestorage.flasharray.fan.get[{#NAME}] Preprocessing
|
Fan [{#NAME}]: Status | The current status of the {#NAME} fan. |
Dependent item | purestorage.flasharray.fan.status[{#NAME}] Preprocessing
|
Trigger prototypes for Fan discovery
Name | Description | Expression | Severity | Dependencies and additional info |
---|---|---|---|---|
Pure Storage FlashArray: Fan [{#NAME}]: Fan is not healthy | Fan {#NAME} status is not "ok". |
last(/Pure Storage FlashArray v2 by HTTP/purestorage.flasharray.fan.status[{#NAME}])<>0 |
Average |
LLD rule Host discovery
Name | Description | Type | Key and additional info |
---|---|---|---|
Host discovery | Discovery of storage hosts from the Pure Storage FlashArray API. |
Dependent item | purestorage.flasharray.host.discovery Preprocessing
|
Item prototypes for Host discovery
Name | Description | Type | Key and additional info |
---|---|---|---|
Host [{#NAME}]: Get data | Collects data about the {#NAME} host. |
Dependent item | purestorage.flasharray.host.get[{#NAME}] Preprocessing
|
Host [{#NAME}]: Total space provisioned | The total provisioned space on the {#NAME} host volume. |
Dependent item | purestorage.flasharray.host.size[{#NAME}] Preprocessing
|
Host [{#NAME}]: Used space provisioned | The provisioned space occupied on the {#NAME} host volume. |
Dependent item | purestorage.flasharray.host.used_provisioned[{#NAME}] Preprocessing
|
Host [{#NAME}]: Data reduction | The data reduction ratio (DRR) represents the efficiency of data reduction techniques such as compression and deduplication for the {#NAME} host volume. |
Dependent item | purestorage.flasharray.host.drr[{#NAME}] Preprocessing
|
Host [{#NAME}]: Total data reduction | The total reduction ratio of all data on the {#NAME} host volume that has been processed by the data deduplication and compression engines. |
Dependent item | purestorage.flasharray.host.total_drr[{#NAME}] Preprocessing
|
Host [{#NAME}]: Bytes written per second | Number of bytes written to the {#NAME} host volume per second. |
Dependent item | purestorage.flasharray.host.written_bytes.rate[{#NAME}] Preprocessing
|
Host [{#NAME}]: Bytes read per second | Number of bytes read from the {#NAME} host volume per second. |
Dependent item | purestorage.flasharray.host.read_bytes.rate[{#NAME}] Preprocessing
|
Host [{#NAME}]: Read requests per second | Number of read requests processed on the {#NAME} host volume per second. |
Dependent item | purestorage.flasharray.host.read_requests.rate[{#NAME}] Preprocessing
|
Host [{#NAME}]: Write requests per second | Number of write requests processed on the {#NAME} host volume per second. |
Dependent item | purestorage.flasharray.host.write_requests.rate[{#NAME}] Preprocessing
|
Host [{#NAME}]: Microseconds per read | Average time in microseconds required to process an I/O read request from the {#NAME} host volume. |
Dependent item | purestorage.flasharray.host.usec_per_read[{#NAME}] Preprocessing
|
Host [{#NAME}]: Microseconds per write | Average time in microseconds required to process an I/O write request to the {#NAME} host volume. |
Dependent item | purestorage.flasharray.host.usec_per_write[{#NAME}] Preprocessing
|
Host [{#NAME}]: Used space | The total physical space occupied by all data on the {#NAME} host volume. |
Dependent item | purestorage.flasharray.host.used_space[{#NAME}] Preprocessing
|
Host [{#NAME}]: Snapshots size | The physical space occupied by snapshots on the {#NAME} host volume. |
Dependent item | purestorage.flasharray.host.snapshots_size[{#NAME}] Preprocessing
|
Host [{#NAME}]: Thin provisioning | The percentage of sectors in the {#NAME} host volume that do not contain host-written data because the hosts have not written data to them or the sectors have been explicitly trimmed. |
Dependent item | purestorage.flasharray.host.thin_provisioning[{#NAME}] Preprocessing
|
LLD rule Volume discovery
Name | Description | Type | Key and additional info |
---|---|---|---|
Volume discovery | Discovery of storage volumes from the Pure Storage FlashArray API. |
Dependent item | purestorage.flasharray.volume.discovery Preprocessing
|
Item prototypes for Volume discovery
Name | Description | Type | Key and additional info |
---|---|---|---|
Volume [{#NAME}]: Get data | Collects data about the {#NAME} volume. |
Dependent item | purestorage.flasharray.volume.get[{#SN}] Preprocessing
|
Volume [{#NAME}]: Size | The physical space occupied by the {#NAME} volume. |
Dependent item | purestorage.flasharray.volume.size[{#SN}] Preprocessing
|
Volume [{#NAME}]: Data reduction | The data reduction ratio (DRR) represents the efficiency of data reduction techniques such as compression and deduplication for the {#NAME} volume. |
Dependent item | purestorage.flasharray.volume.drr[{#SN}] Preprocessing
|
Volume [{#NAME}]: Total data reduction | The total reduction ratio of all data on the {#NAME} volume that has been processed by the data deduplication and compression engines. |
Dependent item | purestorage.flasharray.volume.total_drr[{#SN}] Preprocessing
|
Volume [{#NAME}]: Bytes written per second | Number of bytes written to the {#NAME} volume per second. |
Dependent item | purestorage.flasharray.volume.written_bytes.rate[{#SN}] Preprocessing
|
Volume [{#NAME}]: Bytes read per second | Number of bytes read from the {#NAME} volume per second. |
Dependent item | purestorage.flasharray.volume.read_bytes.rate[{#SN}] Preprocessing
|
Volume [{#NAME}]: Read requests per second | Number of read requests processed on the {#NAME} volume per second. |
Dependent item | purestorage.flasharray.volume.read_requests.rate[{#SN}] Preprocessing
|
Volume [{#NAME}]: Write requests per second | Number of write requests processed on the {#NAME} volume per second. |
Dependent item | purestorage.flasharray.volume.write_requests.rate[{#SN}] Preprocessing
|
Volume [{#NAME}]: Microseconds per read | Average time in microseconds required to process an I/O read request from the {#NAME} volume. |
Dependent item | purestorage.flasharray.volume.usec_per_read[{#SN}] Preprocessing
|
Volume [{#NAME}]: Microseconds per write | Average time in microseconds required to process an I/O write request to the {#NAME} volume. |
Dependent item | purestorage.flasharray.volume.usec_per_write[{#SN}] Preprocessing
|
Volume [{#NAME}]: Shared space | The physical space occupied by deduplicated data on the {#NAME} volume. |
Dependent item | purestorage.flasharray.volume.shared_space[{#SN}] Preprocessing
|
Volume [{#NAME}]: Provisioned space | The total provisioned space on the {#NAME} volume. |
Dependent item | purestorage.flasharray.volume.provisioned[{#SN}] Preprocessing
|
Volume [{#NAME}]: Used provisioned | The total provisioned space occupied by all data on the {#NAME} volume. |
Dependent item | purestorage.flasharray.volume.used_provisioned[{#SN}] Preprocessing
|
Volume [{#NAME}]: Used space | The total physical space occupied by all data on the {#NAME} volume. |
Dependent item | purestorage.flasharray.volume.used_space[{#SN}] Preprocessing
|
Volume [{#NAME}]: Snapshots size | The physical space occupied by snapshots on the {#NAME} volume. |
Dependent item | purestorage.flasharray.volume.snapshots_size[{#SN}] Preprocessing
|
Volume [{#NAME}]: Thin provisioning | The percentage of sectors in the {#NAME} volume that do not contain host-written data because the hosts have not written data to them or the sectors have been explicitly trimmed. |
Dependent item | purestorage.flasharray.volume.thin_provisioning[{#SN}] Preprocessing
|
Trigger prototypes for Volume discovery
Name | Description | Expression | Severity | Dependencies and additional info |
---|---|---|---|---|
Pure Storage FlashArray: Volume [{#NAME}]: Volume size has been changed | Physical space occupied by the {#NAME} volume has been changed. |
last(/Pure Storage FlashArray v2 by HTTP/purestorage.flasharray.volume.size[{#SN}],#1)<>last(/Pure Storage FlashArray v2 by HTTP/purestorage.flasharray.volume.size[{#SN}],#2) |
Warning |
LLD rule Certificate discovery
Name | Description | Type | Key and additional info |
---|---|---|---|
Certificate discovery | Discovery of certificates from the Pure Storage FlashArray API. |
Dependent item | purestorage.flasharray.cert.discovery Preprocessing
|
Item prototypes for Certificate discovery
Name | Description | Type | Key and additional info |
---|---|---|---|
Certificate [{#NAME}]: Get data | Collects data about the {#NAME} certificate. |
Dependent item | purestorage.flasharray.cert.get[{#NAME}] Preprocessing
|
Certificate [{#NAME}]: Common name | The common name field listed in the {#NAME} certificate. |
Dependent item | purestorage.flasharray.cert.cn[{#NAME}] Preprocessing
|
Certificate [{#NAME}]: Issued to | Indicates the entity which holds the {#NAME} certificate. |
Dependent item | purestorage.flasharray.cert.issued_to[{#NAME}] Preprocessing
|
Certificate [{#NAME}]: Issued by | Indicates the authority or organization that issued the {#NAME} certificate, typically including information such as the name of the Certificate Authority (CA) and its digital signature. |
Dependent item | purestorage.flasharray.cert.issued_by[{#NAME}] Preprocessing
|
Certificate [{#NAME}]: Valid from | Indicates the date and time when the {#NAME} certificate takes effect. |
Dependent item | purestorage.flasharray.cert.valid_from[{#NAME}] Preprocessing
|
Certificate [{#NAME}]: Valid to | Indicates the expiration date and time of the {#NAME} certificate. |
Dependent item | purestorage.flasharray.cert.valid_to[{#NAME}] Preprocessing
|
Trigger prototypes for Certificate discovery
Name | Description | Expression | Severity | Dependencies and additional info |
---|---|---|---|---|
Pure Storage FlashArray: Certificate [{#NAME}]: SSL certificate expires soon | Consider reissuing and replacing the {#NAME} certificate. |
last(/Pure Storage FlashArray v2 by HTTP/purestorage.flasharray.cert.valid_to[{#NAME}]) > 0 and (last(/Pure Storage FlashArray v2 by HTTP/purestorage.flasharray.cert.valid_to[{#NAME}]) - now()) / 86400 < {$PURE.FLASHARRAY.CERT.EXPIRY.WARN} |
Average |
LLD rule Network interface discovery
Name | Description | Type | Key and additional info |
---|---|---|---|
Network interface discovery | Discovery of storage hosts from the Pure Storage FlashArray API. |
Dependent item | purestorage.flasharray.net_if.discovery Preprocessing
|
Item prototypes for Network interface discovery
Name | Description | Type | Key and additional info |
---|---|---|---|
Interface [{#IFNAME}]: Get data | Collects data about the {#IFNAME} network interface. |
Dependent item | purestorage.flasharray.net_if.get[{#IFNAME}] Preprocessing
|
Interface [{#IFNAME}]: Speed | Current bandwidth of the interface. |
Dependent item | purestorage.flasharray.net_if.speed[{#IFNAME}] Preprocessing
|
Interface [{#IFNAME}]: IP address | Represents the IP address of the {#IFNAME} interface. |
Dependent item | purestorage.flasharray.net_if.ip[{#IFNAME}] Preprocessing
|
Interface [{#IFNAME}]: MAC address | Represents the MAC address of the {#IFNAME} interface. |
Dependent item | purestorage.flasharray.net_if.mac[{#IFNAME}] Preprocessing
|
Interface [{#IFNAME}]: Gateway | Represents the IP address of the gateway for the {#IFNAME} interface. |
Dependent item | purestorage.flasharray.net_if.gateway[{#IFNAME}] Preprocessing
|
Trigger prototypes for Network interface discovery
Name | Description | Expression | Severity | Dependencies and additional info |
---|---|---|---|---|
Pure Storage FlashArray: Interface [{#IFNAME}]: Ethernet has changed to lower speed than it was before | This Ethernet connection has transitioned down from its known maximum speed. This might be a sign of autonegotiation issues. Acknowledge to close the problem manually. |
change(/Pure Storage FlashArray v2 by HTTP/purestorage.flasharray.net_if.speed[{#IFNAME}])<0 and last(/Pure Storage FlashArray v2 by HTTP/purestorage.flasharray.net_if.speed[{#IFNAME}])>0 |
Info | Manual close: Yes |
Feedback
Please report any issues with the template at
You can also provide feedback, discuss the template, or ask for help at ZABBIX forums