Pure Storage FlashArray v1 by HTTP
Overview
This template is designed for the effortless deployment of Pure Storage FlashArray v1 monitoring by Zabbix via HTTP and doesn't require any external scripts.
Requirements
Zabbix version: 7.2 and higher.
Tested versions
This template has been tested on:
- Pure Storage FlashArray FA-X20R4 (Purity//FA: 6.7.1)
Configuration
Zabbix 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 https://www.zabbix.com/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 Zabbix via HTTP and doesn't require any external scripts.
Requirements
Zabbix version: 7.2 and higher.
Tested versions
This template has been tested on:
- Pure Storage FlashArray FA-X20R4 (Purity//FA: 6.7.1)
Configuration
Zabbix 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 https://www.zabbix.com/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 https://support.zabbix.com
You can also provide feedback, discuss the template, or ask for help at ZABBIX forums