HP Enterprise SAN

HP Enterprise is a part of the splitting of the Hewlett-Packard company. It works in servers, storage, networking, consulting and support, and Financial Services.

Available solutions




This template is for Zabbix version: 7.0
Also available for: 6.4 6.2 6.0

Source: https://git.zabbix.com/projects/ZBX/repos/zabbix/browse/templates/san/hpe_msa2040_http?at=release/7.0

HPE MSA 2040 Storage by HTTP

Overview

The template to monitor HPE MSA 2040 by HTTP. It works without any external scripts and uses the script item.

Requirements

Zabbix version: 7.0 and higher.

Tested versions

This template has been tested on:

  • HPE MSA 2040 Storage

Configuration

Zabbix should be configured according to the instructions in the Templates out of the box section.

Setup

  1. Create a user with a monitor role on the storage, for example "zabbix".
  2. Link the template to a host.
  3. Set the hostname or IP address of the host in the {$HPE.MSA.API.HOST} macro and configure the username and password in the {$HPE.MSA.API.USERNAME} and {$HPE.MSA.API.PASSWORD} macros.
  4. Change the {$HPE.MSA.API.SCHEME} and {$HPE.MSA.API.PORT} macros if needed.

Macros used

Name Description Default
{$HPE.MSA.API.SCHEME}

Connection scheme for API.

https
{$HPE.MSA.API.HOST}

The hostname or IP address of the API host.

<SET API HOST>
{$HPE.MSA.API.PORT}

Connection port for API.

443
{$HPE.MSA.DATA.TIMEOUT}

Response timeout for API.

30s
{$HPE.MSA.API.USERNAME}

Specify user name for API.

zabbix
{$HPE.MSA.API.PASSWORD}

Specify password for API.

{$HPE.MSA.DISKS.GROUP.PUSED.MAX.WARN}

The warning threshold of the disk group space utilization in %.

80
{$HPE.MSA.DISKS.GROUP.PUSED.MAX.CRIT}

The critical threshold of the disk group space utilization in %.

90
{$HPE.MSA.POOL.PUSED.MAX.WARN}

The warning threshold of the pool space utilization in %.

80
{$HPE.MSA.POOL.PUSED.MAX.CRIT}

The critical threshold of the pool space utilization in %.

90
{$HPE.MSA.CONTROLLER.CPU.UTIL.CRIT}

The critical threshold of the CPU utilization expressed in %.

90

Items

Name Description Type Key and additional info
Get data

The JSON with result of API requests.

Script hpe.msa.get.data
Get system

The system data.

Dependent item hpe.msa.get.system

Preprocessing

  • JSON Path: $.system[0]

    ⛔️Custom on fail: Discard value

Get FRU

FRU data.

Dependent item hpe.msa.get.fru

Preprocessing

  • JSON Path: $.['frus']

    ⛔️Custom on fail: Discard value

Get fans

Fans data.

Dependent item hpe.msa.get.fans

Preprocessing

  • JSON Path: $.['fans']

    ⛔️Custom on fail: Discard value

Get disks

Disks data.

Dependent item hpe.msa.get.disks

Preprocessing

  • JSON Path: $.['disks']

    ⛔️Custom on fail: Discard value

Get enclosures

Enclosures data.

Dependent item hpe.msa.get.enclosures

Preprocessing

  • JSON Path: $.['enclosures']

    ⛔️Custom on fail: Discard value

Get ports

Ports data.

Dependent item hpe.msa.get.ports

Preprocessing

  • JSON Path: $.['ports']

    ⛔️Custom on fail: Discard value

Get power supplies

Power supplies data.

Dependent item hpe.msa.get.power_supplies

Preprocessing

  • JSON Path: $.['power-supplies']

    ⛔️Custom on fail: Discard value

Get pools

Pools data.

Dependent item hpe.msa.get.pools

Preprocessing

  • JSON Path: $.['pools']

    ⛔️Custom on fail: Discard value

Get controllers

Controllers data.

Dependent item hpe.msa.get.controllers

Preprocessing

  • JSON Path: $.['controllers']

    ⛔️Custom on fail: Discard value

Get controller statistics

Controllers statistics data.

Dependent item hpe.msa.get.controller_statistics

Preprocessing

  • JSON Path: $.['controller-statistics']

    ⛔️Custom on fail: Discard value

Get disk groups

Disk groups data.

Dependent item hpe.msa.get.disks.groups

Preprocessing

  • JSON Path: $.['disk-groups']

    ⛔️Custom on fail: Discard value

Get disk group statistics

Disk groups statistics data.

Dependent item hpe.msa.disks.get.groups.statistics

Preprocessing

  • JSON Path: $.['disk-group-statistics']

    ⛔️Custom on fail: Discard value

Get volumes

Volumes data.

Dependent item hpe.msa.get.volumes

Preprocessing

  • JSON Path: $.['volumes']

    ⛔️Custom on fail: Discard value

Get volume statistics

Volumes statistics data.

Dependent item hpe.msa.get.volumes.statistics

Preprocessing

  • JSON Path: $.['volume-statistics']

    ⛔️Custom on fail: Discard value

Get method errors

A list of method errors from API requests.

Dependent item hpe.msa.get.errors

Preprocessing

  • JSON Path: $.['errors']

  • Discard unchanged with heartbeat: 1d

Product ID

The product model identifier.

Dependent item hpe.msa.system.product_id

Preprocessing

  • JSON Path: $.['product-id']

  • Discard unchanged with heartbeat: 1d

System contact

The name of the person who administers the system.

Dependent item hpe.msa.system.contact

Preprocessing

  • JSON Path: $.['system-contact']

  • Discard unchanged with heartbeat: 1d

System information

A brief description of what the system is used for or how it is configured.

Dependent item hpe.msa.system.info

Preprocessing

  • JSON Path: $.['system-information']

  • Discard unchanged with heartbeat: 1d

System location

The location of the system.

Dependent item hpe.msa.system.location

Preprocessing

  • JSON Path: $.['system-location']

  • Discard unchanged with heartbeat: 1d

System name

The name of the storage system.

Dependent item hpe.msa.system.name

Preprocessing

  • JSON Path: $.['system-name']

  • Discard unchanged with heartbeat: 1d

Vendor name

The vendor name.

Dependent item hpe.msa.system.vendor_name

Preprocessing

  • JSON Path: $.['vendor-name']

  • Discard unchanged with heartbeat: 1d

System health

System health status.

Dependent item hpe.msa.system.health

Preprocessing

  • JSON Path: $.['health-numeric']

    ⛔️Custom on fail: Set value to: 4

Service ping

Check if HTTP/HTTPS service accepts TCP connections.

Simple check net.tcp.service["{$HPE.MSA.API.SCHEME}","{$HPE.MSA.API.HOST}","{$HPE.MSA.API.PORT}"]

Preprocessing

  • Discard unchanged with heartbeat: 1h

Triggers

Name Description Expression Severity Dependencies and additional info
There are errors in method requests to API

There are errors in method requests to API.

length(last(/HPE MSA 2040 Storage by HTTP/hpe.msa.get.errors))>0 Average Depends on:
  • Service is down or unavailable
System health is in degraded state

System health is in degraded state.

last(/HPE MSA 2040 Storage by HTTP/hpe.msa.system.health)=1 Warning
System health is in fault state

System health is in fault state.

last(/HPE MSA 2040 Storage by HTTP/hpe.msa.system.health)=2 Average
System health is in unknown state

System health is in unknown state.

last(/HPE MSA 2040 Storage by HTTP/hpe.msa.system.health)=3 Info
Service is down or unavailable

HTTP/HTTPS service is down or unable to establish TCP connection.

max(/HPE MSA 2040 Storage by HTTP/net.tcp.service["{$HPE.MSA.API.SCHEME}","{$HPE.MSA.API.HOST}","{$HPE.MSA.API.PORT}"],5m)=0 High

LLD rule Controllers discovery

Name Description Type Key and additional info
Controllers discovery

Discover controllers.

Dependent item hpe.msa.controllers.discovery

Item prototypes for Controllers discovery

Name Description Type Key and additional info
Controller [{#CONTROLLER.ID}]: Get data

The discovered controller data.

Dependent item hpe.msa.get.controllers["{#CONTROLLER.ID}",data]

Preprocessing

  • JSON Path: $.[?(@['durable-id'] == "{#DURABLE.ID}")].first()

Controller [{#CONTROLLER.ID}]: Get statistics data

The discovered controller statistics data.

Dependent item hpe.msa.get.controller_statistics["{#CONTROLLER.ID}",data]

Preprocessing

  • JSON Path: $.[?(@['durable-id'] == "{#DURABLE.ID}")].first()

Controller [{#CONTROLLER.ID}]: Firmware version

Storage controller firmware version.

Dependent item hpe.msa.controllers["{#CONTROLLER.ID}",firmware]

Preprocessing

  • JSON Path: $.['sc-fw']

  • Discard unchanged with heartbeat: 1d

Controller [{#CONTROLLER.ID}]: Part number

Part number of the controller.

Dependent item hpe.msa.controllers["{#CONTROLLER.ID}",part_number]

Preprocessing

  • JSON Path: $.['part-number']

  • Discard unchanged with heartbeat: 1d

Controller [{#CONTROLLER.ID}]: Serial number

Storage controller serial number.

Dependent item hpe.msa.controllers["{#CONTROLLER.ID}",serial_number]

Preprocessing

  • JSON Path: $.['serial-number']

  • Discard unchanged with heartbeat: 1d

Controller [{#CONTROLLER.ID}]: Health

Controller health status.

Dependent item hpe.msa.controllers["{#CONTROLLER.ID}",health]

Preprocessing

  • JSON Path: $.['health-numeric']

    ⛔️Custom on fail: Set value to: 4

  • Discard unchanged with heartbeat: 1h

Controller [{#CONTROLLER.ID}]: Status

Storage controller status.

Dependent item hpe.msa.controllers["{#CONTROLLER.ID}",status]

Preprocessing

  • JSON Path: $.['status-numeric']

  • Discard unchanged with heartbeat: 1d

Controller [{#CONTROLLER.ID}]: Disks

Number of disks in the storage system.

Dependent item hpe.msa.controllers["{#CONTROLLER.ID}",disks]

Preprocessing

  • JSON Path: $.['disks']

  • Discard unchanged with heartbeat: 1d

Controller [{#CONTROLLER.ID}]: Pools

Number of pools in the storage system.

Dependent item hpe.msa.controllers["{#CONTROLLER.ID}",pools]

Preprocessing

  • JSON Path: $.['number-of-storage-pools']

  • Discard unchanged with heartbeat: 1d

Controller [{#CONTROLLER.ID}]: Disk groups

Number of disk groups in the storage system.

Dependent item hpe.msa.controllers["{#CONTROLLER.ID}",disk_groups]

Preprocessing

  • JSON Path: $.['virtual-disks']

  • Discard unchanged with heartbeat: 1d

Controller [{#CONTROLLER.ID}]: IP address

Controller network port IP address.

Dependent item hpe.msa.controllers["{#CONTROLLER.ID}",ip_address]

Preprocessing

  • JSON Path: $.['ip-address']

  • Discard unchanged with heartbeat: 1d

Controller [{#CONTROLLER.ID}]: Cache memory size

Controller cache memory size.

Dependent item hpe.msa.controllers.cache["{#CONTROLLER.ID}",total]

Preprocessing

  • JSON Path: $.['cache-memory-size']

  • Discard unchanged with heartbeat: 1d

  • Custom multiplier: 1048576

Controller [{#CONTROLLER.ID}]: Cache: Write utilization

Percentage of write cache in use, from 0 to 100.

Dependent item hpe.msa.controllers.cache.write["{#CONTROLLER.ID}",util]

Preprocessing

  • JSON Path: $.['write-cache-used']

Controller [{#CONTROLLER.ID}]: Cache: Read hits, rate

For the controller that owns the volume, the number of times the block to be read is found in cache per second.

Dependent item hpe.msa.controllers.cache.read.hits["{#CONTROLLER.ID}",rate]

Preprocessing

  • JSON Path: $.['read-cache-hits']

  • Change per second
Controller [{#CONTROLLER.ID}]: Cache: Read misses, rate

For the controller that owns the volume, the number of times the block to be read is not found in cache per second.

Dependent item hpe.msa.controllers.cache.read.misses["{#CONTROLLER.ID}",rate]

Preprocessing

  • JSON Path: $.['read-cache-misses']

  • Change per second
Controller [{#CONTROLLER.ID}]: Cache: Write hits, rate

For the controller that owns the volume, the number of times the block written to is found in cache per second.

Dependent item hpe.msa.controllers.cache.write.hits["{#CONTROLLER.ID}",rate]

Preprocessing

  • JSON Path: $.['write-cache-hits']

  • Change per second
Controller [{#CONTROLLER.ID}]: Cache: Write misses, rate

For the controller that owns the volume, the number of times the block written to is not found in cache per second.

Dependent item hpe.msa.controllers.cache.write.misses["{#CONTROLLER.ID}",rate]

Preprocessing

  • JSON Path: $.['write-cache-misses']

  • Change per second
Controller [{#CONTROLLER.ID}]: CPU utilization

Percentage of time the CPU is busy, from 0 to 100.

Dependent item hpe.msa.controllers.cpu["{#CONTROLLER.ID}",util]

Preprocessing

  • JSON Path: $.['cpu-load']

Controller [{#CONTROLLER.ID}]: IOPS, total rate

Input/output operations per second, calculated over the interval since these statistics were last requested or reset. This value will be zero if it has not been requested or reset since a controller restart.

Dependent item hpe.msa.controllers.iops.total["{#CONTROLLER.ID}",rate]

Preprocessing

  • JSON Path: $.['iops']

Controller [{#CONTROLLER.ID}]: IOPS, read rate

Number of read operations per second.

Dependent item hpe.msa.controllers.iops.read["{#CONTROLLER.ID}",rate]

Preprocessing

  • JSON Path: $.['number-of-reads']

  • Change per second
Controller [{#CONTROLLER.ID}]: IOPS, write rate

Number of write operations per second.

Dependent item hpe.msa.controllers.iops.write["{#CONTROLLER.ID}",rate]

Preprocessing

  • JSON Path: $.['number-of-writes']

  • Change per second
Controller [{#CONTROLLER.ID}]: Data transfer rate: Total

The data transfer rate, in bytes per second, calculated over the interval since these statistics were last requested or reset. This value will be zero if it has not been requested or reset since a controller restart.

Dependent item hpe.msa.controllers.data_transfer.total["{#CONTROLLER.ID}",rate]

Preprocessing

  • JSON Path: $.['bytes-per-second-numeric']

Controller [{#CONTROLLER.ID}]: Data transfer rate: Reads

The data read rate, in bytes per second.

Dependent item hpe.msa.controllers.data_transfer.reads["{#CONTROLLER.ID}",rate]

Preprocessing

  • JSON Path: $.['data-read-numeric']

  • Change per second
Controller [{#CONTROLLER.ID}]: Data transfer rate: Writes

The data write rate, in bytes per second.

Dependent item hpe.msa.controllers.data_transfer.writes["{#CONTROLLER.ID}",rate]

Preprocessing

  • JSON Path: $.['data-written-numeric']

  • Change per second
Controller [{#CONTROLLER.ID}]: Uptime

Number of seconds since the controller was restarted.

Dependent item hpe.msa.controllers["{#CONTROLLER.ID}",uptime]

Preprocessing

  • JSON Path: $.['power-on-time']

Trigger prototypes for Controllers discovery

Name Description Expression Severity Dependencies and additional info
Controller [{#CONTROLLER.ID}]: Controller health is in degraded state

Controller health is in degraded state.

last(/HPE MSA 2040 Storage by HTTP/hpe.msa.controllers["{#CONTROLLER.ID}",health])=1 Warning Depends on:
  • Controller [{#CONTROLLER.ID}]: Controller is down
Controller [{#CONTROLLER.ID}]: Controller health is in fault state

Controller health is in fault state.

last(/HPE MSA 2040 Storage by HTTP/hpe.msa.controllers["{#CONTROLLER.ID}",health])=2 Average Depends on:
  • Controller [{#CONTROLLER.ID}]: Controller is down
Controller [{#CONTROLLER.ID}]: Controller health is in unknown state

Controller health is in unknown state.

last(/HPE MSA 2040 Storage by HTTP/hpe.msa.controllers["{#CONTROLLER.ID}",health])=3 Info Depends on:
  • Controller [{#CONTROLLER.ID}]: Controller is down
Controller [{#CONTROLLER.ID}]: Controller is down

The controller is down.

last(/HPE MSA 2040 Storage by HTTP/hpe.msa.controllers["{#CONTROLLER.ID}",status])=1 High
Controller [{#CONTROLLER.ID}]: High CPU utilization

Controller CPU utilization is too high. The system might be slow to respond.

min(/HPE MSA 2040 Storage by HTTP/hpe.msa.controllers.cpu["{#CONTROLLER.ID}",util],5m)>{$HPE.MSA.CONTROLLER.CPU.UTIL.CRIT} Warning
Controller [{#CONTROLLER.ID}]: Controller has been restarted

The controller uptime is less than 10 minutes.

last(/HPE MSA 2040 Storage by HTTP/hpe.msa.controllers["{#CONTROLLER.ID}",uptime])<10m Warning

LLD rule Disk groups discovery

Name Description Type Key and additional info
Disk groups discovery

Discover disk groups.

Dependent item hpe.msa.disks.groups.discovery

Item prototypes for Disk groups discovery

Name Description Type Key and additional info
Disk group [{#NAME}]: Get data

The discovered disk group data.

Dependent item hpe.msa.get.disks.groups["{#NAME}",data]

Preprocessing

  • JSON Path: $.[?(@['name'] == "{#NAME}")].first()

Disk group [{#NAME}]: Get statistics data

The discovered disk group statistics data.

Dependent item hpe.msa.get.disks.groups.statistics["{#NAME}",data]

Preprocessing

  • JSON Path: $.[?(@['name'] == "{#NAME}")].first()

Disk group [{#NAME}]: Disks count

Number of disks in the disk group.

Dependent item hpe.msa.disks.groups["{#NAME}",disk_count]

Preprocessing

  • JSON Path: $.['diskcount']

    ⛔️Custom on fail: Discard value

  • Discard unchanged with heartbeat: 1h

Disk group [{#NAME}]: Pool space used

The percentage of pool capacity that the disk group occupies.

Dependent item hpe.msa.disks.groups.space["{#NAME}",pool_util]

Preprocessing

  • JSON Path: $.['pool-percentage']

  • Discard unchanged with heartbeat: 1h

Disk group [{#NAME}]: Health

Disk group health.

Dependent item hpe.msa.disks.groups["{#NAME}",health]

Preprocessing

  • JSON Path: $.['health-numeric']

    ⛔️Custom on fail: Set value to: 4

  • Discard unchanged with heartbeat: 1h

Disk group [{#NAME}]: Space free

The free space in the disk group.

Dependent item hpe.msa.disks.groups.space["{#NAME}",free]

Preprocessing

  • JSON Path: $['freespace-numeric']

  • Discard unchanged with heartbeat: 1h

  • Custom multiplier: 512

Disk group [{#NAME}]: Space total

The capacity of the disk group.

Dependent item hpe.msa.disks.groups.space["{#NAME}",total]

Preprocessing

  • JSON Path: $.['size-numeric']

  • Discard unchanged with heartbeat: 1h

  • Custom multiplier: 512

Disk group [{#NAME}]: Space utilization

The space utilization percentage in the disk group.

Calculated hpe.msa.disks.groups.space["{#NAME}",util]

Preprocessing

  • Discard unchanged with heartbeat: 1h

Disk group [{#NAME}]: RAID type

The RAID level of the disk group.

Dependent item hpe.msa.disks.groups.raid["{#NAME}",type]

Preprocessing

  • JSON Path: $.['raidtype-numeric']

  • Discard unchanged with heartbeat: 1d

Disk group [{#NAME}]: Status

The status of the disk group:

- CRIT: Critical. The disk group is online but isn't fault tolerant because some of it's disks are down.

- DMGD: Damaged. The disk group is online and fault tolerant, but some of it's disks are damaged.

- FTDN: Fault tolerant with a down disk.The disk group is online and fault tolerant, but some of it's disks are down.

- FTOL: Fault tolerant.

- MSNG: Missing. The disk group is online and fault tolerant, but some of it's disks are missing.

- OFFL: Offline. Either the disk group is using offline initialization, or it's disks are down and data may be lost.

- QTCR: Quarantined critical. The disk group is critical with at least one inaccessible disk. For example, two disks are inaccessible in a RAID 6 disk group or one disk is inaccessible for other fault-tolerant RAID levels. If the inaccessible disks come online or if after 60 seconds from being quarantined the disk group is QTCRor QTDN, the disk group is automatically dequarantined.

- QTDN: Quarantined with a down disk. The RAID6 disk group has one inaccessible disk. The disk group is fault tolerant but degraded. If the inaccessible disks come online or if after 60 seconds from being quarantined the disk group is QTCRor QTDN, the disk group is automatically dequarantined.

- QTOF: Quarantined offline. The disk group is offline with multiple inaccessible disks causing user data to be incomplete, or is an NRAID or RAID 0 disk group.

- QTUN: Quarantined unsupported. The disk group contains data in a format that is not supported by this system. For example, this system does not support linear disk groups.

- STOP: The disk group is stopped.

- UNKN: Unknown.

- UP: Up. The disk group is online and does not have fault-tolerant attributes.

Dependent item hpe.msa.disks.groups["{#NAME}",status]

Preprocessing

  • JSON Path: $.['status-numeric']

  • Discard unchanged with heartbeat: 1h

Disk group [{#NAME}]: IOPS, total rate

Input/output operations per second, calculated over the interval since these statistics were last requested or reset. This value will be zero if it has not been requested or reset since a controller restart.

Dependent item hpe.msa.disks.groups.iops.total["{#NAME}",rate]

Preprocessing

  • JSON Path: $.['iops']

Disk group [{#NAME}]: Average response time: Total

Average response time for read and write operations, calculated over the interval since these statistics were last requested or reset.

Dependent item hpe.msa.disks.groups.avg_rsp_time["{#NAME}",total]

Preprocessing

  • JSON Path: $.['avg-rsp-time']

  • Custom multiplier: 0.000001

Disk group [{#NAME}]: Average response time: Read

Average response time for all read operations, calculated over the interval since these statistics were last requested or reset.

Dependent item hpe.msa.disks.groups.avg_rsp_time["{#NAME}",read]

Preprocessing

  • JSON Path: $.['avg-read-rsp-time']

  • Custom multiplier: 0.000001

Disk group [{#NAME}]: Average response time: Write

Average response time for all write operations, calculated over the interval since these statistics were last requested or reset.

Dependent item hpe.msa.disks.groups.avg_rsp_time["{#NAME}",write]

Preprocessing

  • JSON Path: $.['avg-write-rsp-time']

  • Custom multiplier: 0.000001

Disk group [{#NAME}]: IOPS, read rate

Number of read operations per second.

Dependent item hpe.msa.disks.groups.iops.read["{#NAME}",rate]

Preprocessing

  • JSON Path: $.['number-of-reads']

  • Change per second
Disk group [{#NAME}]: IOPS, write rate

Number of write operations per second.

Dependent item hpe.msa.disks.groups.iops.write["{#NAME}",rate]

Preprocessing

  • JSON Path: $.['number-of-writes']

  • Change per second
Disk group [{#NAME}]: Data transfer rate: Total

The data transfer rate, in bytes per second, calculated over the interval since these statistics were last requested or reset. This value will be zero if it has not been requested or reset since a controller restart.

Dependent item hpe.msa.disks.groups.data_transfer.total["{#NAME}",rate]

Preprocessing

  • JSON Path: $.['bytes-per-second-numeric']

Disk group [{#NAME}]: Data transfer rate: Reads

The data read rate, in bytes per second.

Dependent item hpe.msa.disks.groups.data_transfer.reads["{#NAME}",rate]

Preprocessing

  • JSON Path: $.['data-read-numeric']

  • Change per second
Disk group [{#NAME}]: Data transfer rate: Writes

The data write rate, in bytes per second.

Dependent item hpe.msa.disks.groups.data_transfer.writes["{#NAME}",rate]

Preprocessing

  • JSON Path: $.['data-written-numeric']

  • Change per second

Trigger prototypes for Disk groups discovery

Name Description Expression Severity Dependencies and additional info
Disk group [{#NAME}]: Disk group health is in degraded state

Disk group health is in degraded state.

last(/HPE MSA 2040 Storage by HTTP/hpe.msa.disks.groups["{#NAME}",health])=1 Warning
Disk group [{#NAME}]: Disk group health is in fault state

Disk group health is in fault state.

last(/HPE MSA 2040 Storage by HTTP/hpe.msa.disks.groups["{#NAME}",health])=2 Average
Disk group [{#NAME}]: Disk group health is in unknown state

Disk group health is in unknown state.

last(/HPE MSA 2040 Storage by HTTP/hpe.msa.disks.groups["{#NAME}",health])=3 Info
Disk group [{#NAME}]: Disk group space is low

Disk group is running low on free space (less than {$HPE.MSA.DISKS.GROUP.PUSED.MAX.WARN:"{#NAME}"}% available).

min(/HPE MSA 2040 Storage by HTTP/hpe.msa.disks.groups.space["{#NAME}",util],5m)>{$HPE.MSA.DISKS.GROUP.PUSED.MAX.WARN:"{#NAME}"} Warning Depends on:
  • Disk group [{#NAME}]: Disk group space is critically low
Disk group [{#NAME}]: Disk group space is critically low

Disk group is running low on free space (less than {$HPE.MSA.DISKS.GROUP.PUSED.MAX.CRIT:"{#NAME}"}% available).

min(/HPE MSA 2040 Storage by HTTP/hpe.msa.disks.groups.space["{#NAME}",util],5m)>{$HPE.MSA.DISKS.GROUP.PUSED.MAX.CRIT:"{#NAME}"} Average
Disk group [{#NAME}]: Disk group is fault tolerant with a down disk

The disk group is online and fault tolerant, but some of it's disks are down.

last(/HPE MSA 2040 Storage by HTTP/hpe.msa.disks.groups["{#NAME}",status])=1 Average
Disk group [{#NAME}]: Disk group has damaged disks

The disk group is online and fault tolerant, but some of it's disks are damaged.

last(/HPE MSA 2040 Storage by HTTP/hpe.msa.disks.groups["{#NAME}",status])=9 Average
Disk group [{#NAME}]: Disk group has missing disks

The disk group is online and fault tolerant, but some of it's disks are missing.

last(/HPE MSA 2040 Storage by HTTP/hpe.msa.disks.groups["{#NAME}",status])=8 Average
Disk group [{#NAME}]: Disk group is offline

Either the disk group is using offline initialization, or it's disks are down and data may be lost.

last(/HPE MSA 2040 Storage by HTTP/hpe.msa.disks.groups["{#NAME}",status])=3 Average
Disk group [{#NAME}]: Disk group is quarantined critical

The disk group is critical with at least one inaccessible disk. For example, two disks are inaccessible in a RAID 6 disk group or one disk is inaccessible for other fault-tolerant RAID levels. If the inaccessible disks come online or if after 60 seconds from being quarantined the disk group is QTCRor QTDN, the disk group is automatically dequarantined.

last(/HPE MSA 2040 Storage by HTTP/hpe.msa.disks.groups["{#NAME}",status])=4 Average
Disk group [{#NAME}]: Disk group is quarantined offline

The disk group is offline with multiple inaccessible disks causing user data to be incomplete, or is an NRAID or RAID 0 disk group.

last(/HPE MSA 2040 Storage by HTTP/hpe.msa.disks.groups["{#NAME}",status])=5 Average
Disk group [{#NAME}]: Disk group is quarantined unsupported

The disk group contains data in a format that is not supported by this system. For example, this system does not support linear disk groups.

last(/HPE MSA 2040 Storage by HTTP/hpe.msa.disks.groups["{#NAME}",status])=5 Average
Disk group [{#NAME}]: Disk group is quarantined with an inaccessible disk

The RAID6 disk group has one inaccessible disk. The disk group is fault tolerant but degraded. If the inaccessible disks come online or if after 60 seconds from being quarantined the disk group is QTCRor QTDN, the disk group is automatically dequarantined.

last(/HPE MSA 2040 Storage by HTTP/hpe.msa.disks.groups["{#NAME}",status])=6 Average
Disk group [{#NAME}]: Disk group is stopped

The disk group is stopped.

last(/HPE MSA 2040 Storage by HTTP/hpe.msa.disks.groups["{#NAME}",status])=7 Average
Disk group [{#NAME}]: Disk group status is critical

The disk group is online but isn't fault tolerant because some of its disks are down.

last(/HPE MSA 2040 Storage by HTTP/hpe.msa.disks.groups["{#NAME}",status])=2 Average

LLD rule Pools discovery

Name Description Type Key and additional info
Pools discovery

Discover pools.

Dependent item hpe.msa.pools.discovery

Item prototypes for Pools discovery

Name Description Type Key and additional info
Pool [{#NAME}]: Get data

The discovered pool data.

Dependent item hpe.msa.get.pools["{#NAME}",data]

Preprocessing

  • JSON Path: $[?(@['name'] == "{#NAME}")].first()

Pool [{#NAME}]: Health

Pool health.

Dependent item hpe.msa.pools["{#NAME}",health]

Preprocessing

  • JSON Path: $.['health-numeric']

    ⛔️Custom on fail: Set value to: 4

  • Discard unchanged with heartbeat: 1h

Pool [{#NAME}]: Space free

The free space in the pool.

Dependent item hpe.msa.pools.space["{#NAME}",free]

Preprocessing

  • JSON Path: $['total-avail-numeric']

  • Discard unchanged with heartbeat: 1h

  • Custom multiplier: 512

Pool [{#NAME}]: Space total

The capacity of the pool.

Dependent item hpe.msa.pools.space["{#NAME}",total]

Preprocessing

  • JSON Path: $['total-size-numeric']

  • Discard unchanged with heartbeat: 1h

  • Custom multiplier: 512

Pool [{#NAME}]: Space utilization

The space utilization percentage in the pool.

Calculated hpe.msa.pools.space["{#NAME}",util]

Preprocessing

  • Discard unchanged with heartbeat: 1h

Trigger prototypes for Pools discovery

Name Description Expression Severity Dependencies and additional info
Pool [{#NAME}]: Pool health is in degraded state

Pool health is in degraded state.

last(/HPE MSA 2040 Storage by HTTP/hpe.msa.pools["{#NAME}",health])=1 Warning
Pool [{#NAME}]: Pool health is in fault state

Pool health is in fault state.

last(/HPE MSA 2040 Storage by HTTP/hpe.msa.pools["{#NAME}",health])=2 Average
Pool [{#NAME}]: Pool health is in unknown state

Pool [{#NAME}] health is in unknown state.

last(/HPE MSA 2040 Storage by HTTP/hpe.msa.pools["{#NAME}",health])=3 Info
Pool [{#NAME}]: Pool space is low

Pool is running low on free space (less than {$HPE.MSA.POOL.PUSED.MAX.WARN:"{#NAME}"}% available).

min(/HPE MSA 2040 Storage by HTTP/hpe.msa.pools.space["{#NAME}",util],5m)>{$HPE.MSA.POOL.PUSED.MAX.WARN:"{#NAME}"} Warning Depends on:
  • Pool [{#NAME}]: Pool space is critically low
Pool [{#NAME}]: Pool space is critically low

Pool is running low on free space (less than {$HPE.MSA.POOL.PUSED.MAX.CRIT:"{#NAME}"}% available).

min(/HPE MSA 2040 Storage by HTTP/hpe.msa.pools.space["{#NAME}",util],5m)>{$HPE.MSA.POOL.PUSED.MAX.CRIT:"{#NAME}"} Average

LLD rule Volumes discovery

Name Description Type Key and additional info
Volumes discovery

Discover volumes.

Dependent item hpe.msa.volumes.discovery

Item prototypes for Volumes discovery

Name Description Type Key and additional info
Volume [{#NAME}]: Get data

The discovered volume data.

Dependent item hpe.msa.get.volumes["{#NAME}",data]

Preprocessing

  • JSON Path: $.[?(@['volume-name'] == "{#NAME}")].first()

Volume [{#NAME}]: Health

Volume health status.

Dependent item hpe.msa.volumes["{#DURABLE.ID}",health]

Preprocessing

  • JSON Path: $.['health-numeric']

    ⛔️Custom on fail: Set value to: 4

  • Discard unchanged with heartbeat: 1h

Volume [{#NAME}]: Get statistics data

The discovered volume statistics data.

Dependent item hpe.msa.get.volumes.statistics["{#NAME}",data]

Preprocessing

  • JSON Path: $.[?(@['volume-name'] == "{#NAME}")].first()

Volume [{#NAME}]: Space allocated

The amount of space currently allocated to the volume.

Dependent item hpe.msa.volumes.space["{#NAME}",allocated]

Preprocessing

  • JSON Path: $['allocated-size-numeric']

  • Discard unchanged with heartbeat: 1h

  • Custom multiplier: 512

Volume [{#NAME}]: Space total

The capacity of the volume.

Dependent item hpe.msa.volumes.space["{#NAME}",total]

Preprocessing

  • JSON Path: $.['size-numeric']

  • Discard unchanged with heartbeat: 1h

  • Custom multiplier: 512

Volume [{#NAME}]: IOPS, total rate

Total input/output operations per second, calculated over the interval since these statistics were last requested or reset. This value will be zero if it has not been requested or reset since a controller restart.

Dependent item hpe.msa.volumes.iops.total["{#NAME}",rate]

Preprocessing

  • JSON Path: $.['iops']

Volume [{#NAME}]: IOPS, read rate

Number of read operations per second.

Dependent item hpe.msa.volumes.iops.read["{#NAME}",rate]

Preprocessing

  • JSON Path: $.['number-of-reads']

  • Change per second
Volume [{#NAME}]: IOPS, write rate

Number of write operations per second.

Dependent item hpe.msa.volumes.iops.write["{#NAME}",rate]

Preprocessing

  • JSON Path: $.['number-of-writes']

  • Change per second
Volume [{#NAME}]: Data transfer rate: Total

The data transfer rate, in bytes per second, calculated over the interval since these statistics were last requested or reset. This value will be zero if it has not been requested or reset since a controller restart.

Dependent item hpe.msa.volumes.data_transfer.total["{#NAME}",rate]

Preprocessing

  • JSON Path: $.['bytes-per-second-numeric']

Volume [{#NAME}]: Data transfer rate: Reads

The data read rate, in bytes per second.

Dependent item hpe.msa.volumes.data_transfer.reads["{#NAME}",rate]

Preprocessing

  • JSON Path: $.['data-read-numeric']

  • Change per second
Volume [{#NAME}]: Data transfer rate: Writes

The data write rate, in bytes per second.

Dependent item hpe.msa.volumes.data_transfer.writes["{#NAME}",rate]

Preprocessing

  • JSON Path: $.['data-written-numeric']

  • Change per second
Volume [{#NAME}]: Cache: Read hits, rate

For the controller that owns the volume, the number of times the block to be read is found in cache per second.

Dependent item hpe.msa.volumes.cache.read.hits["{#NAME}",rate]

Preprocessing

  • JSON Path: $.['read-cache-hits']

  • Change per second
Volume [{#NAME}]: Cache: Read misses, rate

For the controller that owns the volume, the number of times the block to be read is not found in cache per second.

Dependent item hpe.msa.volumes.cache.read.misses["{#NAME}",rate]

Preprocessing

  • JSON Path: $.['read-cache-misses']

  • Change per second
Volume [{#NAME}]: Cache: Write hits, rate

For the controller that owns the volume, the number of times the block written to is found in cache per second.

Dependent item hpe.msa.volumes.cache.write.hits["{#NAME}",rate]

Preprocessing

  • JSON Path: $.['write-cache-hits']

  • Change per second
Volume [{#NAME}]: Cache: Write misses, rate

For the controller that owns the volume, the number of times the block written to is not found in cache per second.

Dependent item hpe.msa.volumes.cache.write.misses["{#NAME}",rate]

Preprocessing

  • JSON Path: $.['write-cache-misses']

  • Change per second

Trigger prototypes for Volumes discovery

Name Description Expression Severity Dependencies and additional info
Volume [{#NAME}]: Volume health is in degraded state

Volume health is in degraded state.

last(/HPE MSA 2040 Storage by HTTP/hpe.msa.volumes["{#DURABLE.ID}",health])=1 Warning
Volume [{#NAME}]: Volume health is in fault state

Volume health is in fault state.

last(/HPE MSA 2040 Storage by HTTP/hpe.msa.volumes["{#DURABLE.ID}",health])=2 Average
Volume [{#NAME}]: Volume health is in unknown state

Volume health is in unknown state.

last(/HPE MSA 2040 Storage by HTTP/hpe.msa.volumes["{#DURABLE.ID}",health])=3 Info

LLD rule Enclosures discovery

Name Description Type Key and additional info
Enclosures discovery

Discover enclosures.

Dependent item hpe.msa.enclosures.discovery

Item prototypes for Enclosures discovery

Name Description Type Key and additional info
Enclosure [{#DURABLE.ID}]: Get data

The discovered enclosure data.

Dependent item hpe.msa.get.enclosures["{#DURABLE.ID}",data]

Preprocessing

  • JSON Path: $[?(@['durable-id'] == "{#DURABLE.ID}")].first()

Enclosure [{#DURABLE.ID}]: Health

Enclosure health.

Dependent item hpe.msa.enclosures["{#DURABLE.ID}",health]

Preprocessing

  • JSON Path: $.['health-numeric']

    ⛔️Custom on fail: Set value to: 4

  • Discard unchanged with heartbeat: 1h

Enclosure [{#DURABLE.ID}]: Status

Enclosure status.

Dependent item hpe.msa.enclosures["{#DURABLE.ID}",status]

Preprocessing

  • JSON Path: $.['status-numeric']

    ⛔️Custom on fail: Set value to: 6

  • Discard unchanged with heartbeat: 1d

Enclosure [{#DURABLE.ID}]: Midplane serial number

Midplane serial number.

Dependent item hpe.msa.enclosures["{#DURABLE.ID}",midplane_serial_number]

Preprocessing

  • JSON Path: $.['midplane-serial-number']

  • Discard unchanged with heartbeat: 1d

Enclosure [{#DURABLE.ID}]: Part number

Enclosure part number.

Dependent item hpe.msa.enclosures["{#DURABLE.ID}",part_number]

Preprocessing

  • JSON Path: $.['part-number']

  • Discard unchanged with heartbeat: 1d

Enclosure [{#DURABLE.ID}]: Model

Enclosure model.

Dependent item hpe.msa.enclosures["{#DURABLE.ID}",model]

Preprocessing

  • JSON Path: $.['model']

  • Discard unchanged with heartbeat: 1d

Enclosure [{#DURABLE.ID}]: Power

Enclosure power in watts.

Dependent item hpe.msa.enclosures["{#DURABLE.ID}",power]

Preprocessing

  • JSON Path: $.['enclosure-power']

Trigger prototypes for Enclosures discovery

Name Description Expression Severity Dependencies and additional info
Enclosure [{#DURABLE.ID}]: Enclosure health is in degraded state

Enclosure health is in degraded state.

last(/HPE MSA 2040 Storage by HTTP/hpe.msa.enclosures["{#DURABLE.ID}",health])=1 Warning
Enclosure [{#DURABLE.ID}]: Enclosure health is in fault state

Enclosure health is in fault state.

last(/HPE MSA 2040 Storage by HTTP/hpe.msa.enclosures["{#DURABLE.ID}",health])=2 Average
Enclosure [{#DURABLE.ID}]: Enclosure health is in unknown state

Enclosure health is in unknown state.

last(/HPE MSA 2040 Storage by HTTP/hpe.msa.enclosures["{#DURABLE.ID}",health])=3 Info
Enclosure [{#DURABLE.ID}]: Enclosure has critical status

Enclosure has critical status.

last(/HPE MSA 2040 Storage by HTTP/hpe.msa.enclosures["{#DURABLE.ID}",status])=2 High
Enclosure [{#DURABLE.ID}]: Enclosure has warning status

Enclosure has warning status.

last(/HPE MSA 2040 Storage by HTTP/hpe.msa.enclosures["{#DURABLE.ID}",status])=3 Warning
Enclosure [{#DURABLE.ID}]: Enclosure is unavailable

Enclosure is unavailable.

last(/HPE MSA 2040 Storage by HTTP/hpe.msa.enclosures["{#DURABLE.ID}",status])=7 High
Enclosure [{#DURABLE.ID}]: Enclosure is unrecoverable

Enclosure is unrecoverable.

last(/HPE MSA 2040 Storage by HTTP/hpe.msa.enclosures["{#DURABLE.ID}",status])=4 High
Enclosure [{#DURABLE.ID}]: Enclosure has unknown status

Enclosure has unknown status.

last(/HPE MSA 2040 Storage by HTTP/hpe.msa.enclosures["{#DURABLE.ID}",status])=6 Info

LLD rule Power supplies discovery

Name Description Type Key and additional info
Power supplies discovery

Discover power supplies.

Dependent item hpe.msa.power_supplies.discovery

Item prototypes for Power supplies discovery

Name Description Type Key and additional info
Power supply [{#DURABLE.ID}]: Get data

The discovered power supply data.

Dependent item hpe.msa.get.power_supplies["{#DURABLE.ID}",data]

Preprocessing

  • JSON Path: $[?(@['durable-id'] == "{#DURABLE.ID}")].first()

Power supply [{#DURABLE.ID}]: Health

Power supply health status.

Dependent item hpe.msa.power_supplies["{#DURABLE.ID}",health]

Preprocessing

  • JSON Path: $.['health-numeric']

    ⛔️Custom on fail: Set value to: 4

  • Discard unchanged with heartbeat: 1h

Power supply [{#DURABLE.ID}]: Status

Power supply status.

Dependent item hpe.msa.power_supplies["{#DURABLE.ID}",status]

Preprocessing

  • JSON Path: $.['status-numeric']

    ⛔️Custom on fail: Set value to: 4

  • Discard unchanged with heartbeat: 1h

Power supply [{#DURABLE.ID}]: Part number

Power supply part number.

Dependent item hpe.msa.power_supplies["{#DURABLE.ID}",part_number]

Preprocessing

  • JSON Path: $.['part-number']

  • Discard unchanged with heartbeat: 1d

Power supply [{#DURABLE.ID}]: Serial number

Power supply serial number.

Dependent item hpe.msa.power_supplies["{#DURABLE.ID}",serial_number]

Preprocessing

  • JSON Path: $.['serial-number']

  • Discard unchanged with heartbeat: 1d

Power supply [{#DURABLE.ID}]: Temperature

Power supply temperature.

Dependent item hpe.msa.power_supplies["{#DURABLE.ID}",temperature]

Preprocessing

  • JSON Path: $.['dctemp']

  • Discard unchanged with heartbeat: 1h

Trigger prototypes for Power supplies discovery

Name Description Expression Severity Dependencies and additional info
Power supply [{#DURABLE.ID}]: Power supply health is in degraded state

Power supply health is in degraded state.

last(/HPE MSA 2040 Storage by HTTP/hpe.msa.power_supplies["{#DURABLE.ID}",health])=1 Warning
Power supply [{#DURABLE.ID}]: Power supply health is in fault state

Power supply health is in fault state.

last(/HPE MSA 2040 Storage by HTTP/hpe.msa.power_supplies["{#DURABLE.ID}",health])=2 Average
Power supply [{#DURABLE.ID}]: Power supply health is in unknown state

Power supply health is in unknown state.

last(/HPE MSA 2040 Storage by HTTP/hpe.msa.power_supplies["{#DURABLE.ID}",health])=3 Info
Power supply [{#DURABLE.ID}]: Power supply has error status

Power supply has error status.

last(/HPE MSA 2040 Storage by HTTP/hpe.msa.power_supplies["{#DURABLE.ID}",status])=2 Average
Power supply [{#DURABLE.ID}]: Power supply has warning status

Power supply has warning status.

last(/HPE MSA 2040 Storage by HTTP/hpe.msa.power_supplies["{#DURABLE.ID}",status])=1 Warning
Power supply [{#DURABLE.ID}]: Power supply has unknown status

Power supply has unknown status.

last(/HPE MSA 2040 Storage by HTTP/hpe.msa.power_supplies["{#DURABLE.ID}",status])=4 Info

LLD rule Ports discovery

Name Description Type Key and additional info
Ports discovery

Discover ports.

Dependent item hpe.msa.ports.discovery

Item prototypes for Ports discovery

Name Description Type Key and additional info
Port [{#NAME}]: Get data

The discovered port data.

Dependent item hpe.msa.get.ports["{#NAME}",,data]

Preprocessing

  • JSON Path: $[?(@['port'] == "{#NAME}")].first()

Port [{#NAME}]: Health

Port health status.

Dependent item hpe.msa.ports["{#NAME}",health]

Preprocessing

  • JSON Path: $.['health-numeric']

    ⛔️Custom on fail: Set value to: 4

  • Discard unchanged with heartbeat: 1h

Port [{#NAME}]: Status

Port status.

Dependent item hpe.msa.ports["{#NAME}",status]

Preprocessing

  • JSON Path: $.['status-numeric']

    ⛔️Custom on fail: Set value to: 4

  • Discard unchanged with heartbeat: 1h

Port [{#NAME}]: Type

Port type.

Dependent item hpe.msa.ports["{#NAME}",type]

Preprocessing

  • JSON Path: $.['port-type-numeric']

  • Discard unchanged with heartbeat: 1d

Trigger prototypes for Ports discovery

Name Description Expression Severity Dependencies and additional info
Port [{#NAME}]: Port health is in degraded state

Port health is in degraded state.

last(/HPE MSA 2040 Storage by HTTP/hpe.msa.ports["{#NAME}",health])=1 Warning
Port [{#NAME}]: Port health is in fault state

Port health is in fault state.

last(/HPE MSA 2040 Storage by HTTP/hpe.msa.ports["{#NAME}",health])=2 Average
Port [{#NAME}]: Port health is in unknown state

Port health is in unknown state.

last(/HPE MSA 2040 Storage by HTTP/hpe.msa.ports["{#NAME}",health])=3 Info
Port [{#NAME}]: Port has error status

Port has error status.

last(/HPE MSA 2040 Storage by HTTP/hpe.msa.ports["{#NAME}",status])=2 Average
Port [{#NAME}]: Port has warning status

Port has warning status.

last(/HPE MSA 2040 Storage by HTTP/hpe.msa.ports["{#NAME}",status])=1 Warning
Port [{#NAME}]: Port has unknown status

Port has unknown status.

last(/HPE MSA 2040 Storage by HTTP/hpe.msa.ports["{#NAME}",status])=4 Info

LLD rule Fans discovery

Name Description Type Key and additional info
Fans discovery

Discover fans.

Dependent item hpe.msa.fans.discovery

Item prototypes for Fans discovery

Name Description Type Key and additional info
Fan [{#DURABLE.ID}]: Get data

The discovered fan data.

Dependent item hpe.msa.get.fans["{#DURABLE.ID}",data]

Preprocessing

  • JSON Path: $[?(@['durable-id'] == "{#DURABLE.ID}")].first()

Fan [{#DURABLE.ID}]: Health

Fan health status.

Dependent item hpe.msa.fans["{#DURABLE.ID}",health]

Preprocessing

  • JSON Path: $.['health-numeric']

    ⛔️Custom on fail: Set value to: 4

  • Discard unchanged with heartbeat: 1h

Fan [{#DURABLE.ID}]: Status

Fan status.

Dependent item hpe.msa.fans["{#DURABLE.ID}",status]

Preprocessing

  • JSON Path: $.['status-numeric']

  • Discard unchanged with heartbeat: 1h

Fan [{#DURABLE.ID}]: Speed

Fan speed (revolutions per minute).

Dependent item hpe.msa.fans["{#DURABLE.ID}",speed]

Preprocessing

  • JSON Path: $.['speed']

Trigger prototypes for Fans discovery

Name Description Expression Severity Dependencies and additional info
Fan [{#DURABLE.ID}]: Fan health is in degraded state

Fan health is in degraded state.

last(/HPE MSA 2040 Storage by HTTP/hpe.msa.fans["{#DURABLE.ID}",health])=1 Warning
Fan [{#DURABLE.ID}]: Fan health is in fault state

Fan health is in fault state.

last(/HPE MSA 2040 Storage by HTTP/hpe.msa.fans["{#DURABLE.ID}",health])=2 Average
Fan [{#DURABLE.ID}]: Fan health is in unknown state

Fan health is in unknown state.

last(/HPE MSA 2040 Storage by HTTP/hpe.msa.fans["{#DURABLE.ID}",health])=3 Info
Fan [{#DURABLE.ID}]: Fan has error status

Fan has error status.

last(/HPE MSA 2040 Storage by HTTP/hpe.msa.fans["{#DURABLE.ID}",status])=1 Average
Fan [{#DURABLE.ID}]: Fan is missing

Fan is missing.

last(/HPE MSA 2040 Storage by HTTP/hpe.msa.fans["{#DURABLE.ID}",status])=3 Info
Fan [{#DURABLE.ID}]: Fan is off

Fan is off.

last(/HPE MSA 2040 Storage by HTTP/hpe.msa.fans["{#DURABLE.ID}",status])=2 Warning

LLD rule Disks discovery

Name Description Type Key and additional info
Disks discovery

Discover disks.

Dependent item hpe.msa.disks.discovery

Item prototypes for Disks discovery

Name Description Type Key and additional info
Disk [{#DURABLE.ID}]: Get data

The discovered disk data.

Dependent item hpe.msa.get.disks["{#DURABLE.ID}",data]

Preprocessing

  • JSON Path: $[?(@['durable-id'] == "{#DURABLE.ID}")].first()

Disk [{#DURABLE.ID}]: Health

Disk health status.

Dependent item hpe.msa.disks["{#DURABLE.ID}",health]

Preprocessing

  • JSON Path: $.['health-numeric']

    ⛔️Custom on fail: Set value to: 4

  • Discard unchanged with heartbeat: 1h

Disk [{#DURABLE.ID}]: Temperature status

Disk temperature status.

Dependent item hpe.msa.disks["{#DURABLE.ID}",temperature_status]

Preprocessing

  • JSON Path: $.['temperature-status-numeric']

    ⛔️Custom on fail: Discard value

  • In range: 1 -> 3

    ⛔️Custom on fail: Set value to: 4

  • Discard unchanged with heartbeat: 1h

Disk [{#DURABLE.ID}]: Temperature

Temperature of the disk.

Dependent item hpe.msa.disks["{#DURABLE.ID}",temperature]

Preprocessing

  • JSON Path: $.['temperature-numeric']

    ⛔️Custom on fail: Discard value

  • Discard unchanged with heartbeat: 1h

Disk [{#DURABLE.ID}]: Type

Disk type:

SAS: Enterprise SAS spinning disk.

SAS MDL: Midline SAS spinning disk.

SSD SAS: SAS solit-state disk.

Dependent item hpe.msa.disks["{#DURABLE.ID}",type]

Preprocessing

  • JSON Path: $.['description-numeric']

  • Discard unchanged with heartbeat: 1d

Disk [{#DURABLE.ID}]: Disk group

If the disk is in a disk group, the disk group name.

Dependent item hpe.msa.disks["{#DURABLE.ID}",group]

Preprocessing

  • JSON Path: $.['disk-group']

    ⛔️Custom on fail: Discard value

  • Discard unchanged with heartbeat: 1d

Disk [{#DURABLE.ID}]: Storage pool

If the disk is in a pool, the pool name.

Dependent item hpe.msa.disks["{#DURABLE.ID}",pool]

Preprocessing

  • JSON Path: $.['storage-pool-name']

    ⛔️Custom on fail: Discard value

  • Discard unchanged with heartbeat: 1d

Disk [{#DURABLE.ID}]: Vendor

Disk vendor.

Dependent item hpe.msa.disks["{#DURABLE.ID}",vendor]

Preprocessing

  • JSON Path: $.['vendor']

  • Discard unchanged with heartbeat: 1d

Disk [{#DURABLE.ID}]: Model

Disk model.

Dependent item hpe.msa.disks["{#DURABLE.ID}",model]

Preprocessing

  • JSON Path: $.['model']

  • Discard unchanged with heartbeat: 1d

Disk [{#DURABLE.ID}]: Serial number

Disk serial number.

Dependent item hpe.msa.disks["{#DURABLE.ID}",serial_number]

Preprocessing

  • JSON Path: $.['serial-number']

  • Discard unchanged with heartbeat: 1d

Disk [{#DURABLE.ID}]: Space total

Total size of the disk.

Dependent item hpe.msa.disks.space["{#DURABLE.ID}",total]

Preprocessing

  • JSON Path: $.['size-numeric']

  • Discard unchanged with heartbeat: 1h

  • Custom multiplier: 512

Disk [{#DURABLE.ID}]: SSD life left

The percentage of disk life remaining.

Dependent item hpe.msa.disks.ssd["{#DURABLE.ID}",life_left]

Preprocessing

  • JSON Path: $.['ssd-life-left-numeric']

  • Discard unchanged with heartbeat: 1h

Trigger prototypes for Disks discovery

Name Description Expression Severity Dependencies and additional info
Disk [{#DURABLE.ID}]: Disk health is in degraded state

Disk health is in degraded state.

last(/HPE MSA 2040 Storage by HTTP/hpe.msa.disks["{#DURABLE.ID}",health])=1 Warning
Disk [{#DURABLE.ID}]: Disk health is in fault state

Disk health is in fault state.

last(/HPE MSA 2040 Storage by HTTP/hpe.msa.disks["{#DURABLE.ID}",health])=2 Average
Disk [{#DURABLE.ID}]: Disk health is in unknown state

Disk health is in unknown state.

last(/HPE MSA 2040 Storage by HTTP/hpe.msa.disks["{#DURABLE.ID}",health])=3 Info
Disk [{#DURABLE.ID}]: Disk temperature is high

Disk temperature is high.

last(/HPE MSA 2040 Storage by HTTP/hpe.msa.disks["{#DURABLE.ID}",temperature_status])=3 Warning
Disk [{#DURABLE.ID}]: Disk temperature is critically high

Disk temperature is critically high.

last(/HPE MSA 2040 Storage by HTTP/hpe.msa.disks["{#DURABLE.ID}",temperature_status])=2 Average
Disk [{#DURABLE.ID}]: Disk temperature is unknown

Disk temperature is unknown.

last(/HPE MSA 2040 Storage by HTTP/hpe.msa.disks["{#DURABLE.ID}",temperature_status])=4 Info

LLD rule FRU discovery

Name Description Type Key and additional info
FRU discovery

Discover FRU.

Dependent item hpe.msa.frus.discovery

Item prototypes for FRU discovery

Name Description Type Key and additional info
FRU [{#ENCLOSURE.ID}: {#LOCATION}]: Get data

The discovered FRU data.

Dependent item hpe.msa.get.frus["{#ENCLOSURE.ID}:{#LOCATION}",data]

Preprocessing

  • JSON Path: $[?(@['name'] == "{#TYPE}")].first()

FRU [{#ENCLOSURE.ID}: {#LOCATION}]: Status

{#DESCRIPTION}. FRU status:

Absent: Component is not present.

Fault: At least one subcomponent has a fault.

Invalid data: For a power supply module, the EEPROM is improperly programmed.

OK: All subcomponents are operating normally.

Not available: Status is not available.

Dependent item hpe.msa.frus["{#ENCLOSURE.ID}:{#LOCATION}",status]

Preprocessing

  • JSON Path: $.['fru-status']

  • Discard unchanged with heartbeat: 1h

  • JavaScript: The text is too long. Please see the template.

FRU [{#ENCLOSURE.ID}: {#LOCATION}]: Part number

{#DESCRIPTION}. Part number of the FRU.

Dependent item hpe.msa.frus["{#ENCLOSURE.ID}:{#LOCATION}",part_number]

Preprocessing

  • JSON Path: $.['part-number']

  • Discard unchanged with heartbeat: 1d

FRU [{#ENCLOSURE.ID}: {#LOCATION}]: Serial number

{#DESCRIPTION}. FRU serial number.

Dependent item hpe.msa.frus["{#ENCLOSURE.ID}:{#LOCATION}",serial_number]

Preprocessing

  • JSON Path: $.['serial-number']

  • Discard unchanged with heartbeat: 1d

Trigger prototypes for FRU discovery

Name Description Expression Severity Dependencies and additional info
FRU [{#ENCLOSURE.ID}: {#LOCATION}]: FRU status is Degraded or Fault

FRU status is Degraded or Fault.

last(/HPE MSA 2040 Storage by HTTP/hpe.msa.frus["{#ENCLOSURE.ID}:{#LOCATION}",status])=1 Average
FRU [{#ENCLOSURE.ID}: {#LOCATION}]: FRU ID data is invalid

The FRU ID data is invalid. The FRU's EEPROM is improperly programmed.

last(/HPE MSA 2040 Storage by HTTP/hpe.msa.frus["{#ENCLOSURE.ID}:{#LOCATION}",status])=0 Warning

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

Articles and documentation

+ Propose new article

Didn't find what you are looking for?