Skip to content

Add HPE Nimble Storage using HTTP/SNMP discovery templates#702

Open
lucthienphong1120 wants to merge 7 commits intozabbix:mainfrom
lucthienphong1120:feature/add-hp-nimble
Open

Add HPE Nimble Storage using HTTP/SNMP discovery templates#702
lucthienphong1120 wants to merge 7 commits intozabbix:mainfrom
lucthienphong1120:feature/add-hp-nimble

Conversation

@lucthienphong1120
Copy link
Copy Markdown

@lucthienphong1120 lucthienphong1120 commented Apr 22, 2026

This template monitors HPE Nimble Storage (Nimble OS 5.x) all-flash arrays via SNMP v2c/v3 and HTTP RestAPI over HTTPS.

{1FC41EF1-597E-4846-95D4-A76419195F09}

It uses the vendor's enterprise MIB (NIMBLE-MIB, enterprise OID .1.3.6.1.4.1.37447) for array-level performance and capacity metrics, IF-MIB for network interface monitoring, and SNMP Traps for hardware health alerting.

A single SCRIPT master item handles authentication, queries all API endpoints, and returns a consolidated JSON payload. All metrics are extracted using DEPENDENT items and Low-Level Discovery (LLD), minimizing API calls and load on the storage array.

Tested On

Product Firmware
HPE Nimble Storage CS-Series Nimble OS 5.0.10.0
HPE Alletra 6000 Nimble OS 6.x compatible

API Authentication Flow

1. POST /v1/tokens          → Get session token
2. GET  /v1/arrays/<id>     → Array details
3. GET  /v1/controllers/<id>→ Controller details (per ID)
4. GET  /v1/pools/<id>      → Pool details
5. GET  /v1/volumes/<id>    → Volume details
6. GET  /v1/disks/<id>      → Disk details
7. GET  /v1/network_interfaces/<id> → NIC details
8. GET  /v1/shelves/<id>    → Shelf details
9. GET  /v1/alarms/<id>     → Active alarm details
10. DELETE /v1/tokens/<token> → Logout

Macros

Macro Default Description
{$SNMP_COMMUNITY} public SNMP community string
{$SNMP.TIMEOUT} 5m Timeout for SNMP availability check

Metrics collected

System (SNMPv2-MIB)

Item Key Interval
System name nimble.system.name[sysName] 15m
System description nimble.system.descr[sysDescr] 1h
System location nimble.system.location[sysLocation] 1h
System contact nimble.system.contact[sysContact] 1h
Uptime (network) nimble.system.net.uptime[sysUpTime] 1m
SNMP agent availability zabbix[host,snmp,available] 1m

Array Performance (NIMBLE-MIB)

Item Key Interval
Total Read IOPS nimble.io.reads 1m
Total Write IOPS nimble.io.writes 1m
Total Read Throughput nimble.io.read_bps 1m
Total Write Throughput nimble.io.write_bps 1m
Total Read Latency nimble.io.read_lat 1m
Total Write Latency nimble.io.write_lat 1m
Sequential Read IOPS nimble.io.seq_reads 1m
Sequential Write IOPS nimble.io.seq_writes 1m

Array Capacity (NIMBLE-MIB)

Item Key Interval
Global Volume Capacity Used nimble.array.vol_used 5m
Global Snapshot Capacity Used nimble.array.snap_used 5m

SNMP Traps

Item Key Purpose
SNMP Trap: Hardware Alert nimble.trap.hardware Fan, PSU, disk, temperature events
SNMP Trap: All Events nimble.trap.all Catch-all for any array alerts

Discovery Rules

Volume Discovery

Automatically discovers all volumes via volName OID table (.1.3.6.1.4.1.37447.1.2.1.3).

Item prototypes per volume:

Prototype Description
Volume {#VOL_NAME}: Size Provisioned size in bytes
Volume {#VOL_NAME}: Used Currently used bytes
Volume {#VOL_NAME}: Status Online (1) / Offline (2)
Volume {#VOL_NAME}: Read IOPS Per-volume read IOPS
Volume {#VOL_NAME}: Write IOPS Per-volume write IOPS

Trigger prototypes:

  • Volume {#VOL_NAME}: is OfflineHIGH
  • Volume {#VOL_NAME}: Usage over 80%WARNING

Network Interface Discovery

Discovers all network interfaces via IF-MIB::ifDescr (.1.3.6.1.2.1.2.2.1.2). Loopback (lo) is excluded automatically.

Item prototypes per interface:

Prototype Description
Interface {#IF_NAME}: Status Operational status (up/down)
Interface {#IF_NAME}: In Inbound traffic (bps)
Interface {#IF_NAME}: Out Outbound traffic (bps)

Trigger prototypes:

  • Interface {#IF_NAME}: DownAVERAGE

Triggers

Trigger Severity Description
Nimble: No SNMP data collection WARNING SNMP polling not reachable
Nimble: Device has been restarted WARNING Uptime < 10 minutes
Nimble: System name has changed INFO Hostname change detected
Nimble: Hardware alert received via SNMP Trap HIGH Any hardware trap received

Value Maps

Name Values
Nimble Volume Status 1=Online, 2=Offline
IF-MIB::ifOperStatus 1=up, 2=down
zabbix.host.available 0=not available, 1=available, 2=unknown

Template Tags

Tag Value
class storage
target hpe
target nimble

Add Zabbix template for HPE Nimble Storage monitoring via SNMP, including items for capacity, performance, and system health.
This README provides an overview, requirements, setup instructions, metrics collected, discovery rules, triggers, and value maps for monitoring HPE Nimble Storage via SNMP.
@lucthienphong1120 lucthienphong1120 marked this pull request as ready for review April 22, 2026 02:39
@lucthienphong1120 lucthienphong1120 changed the title Add HPE Nimble Storage using SNMP discovery templates Add HPE Nimble Storage using HTTP/SNMP discovery templates Apr 23, 2026
This README template provides comprehensive monitoring details for HPE Nimble Storage arrays using Zabbix, including features, setup instructions, API authentication flow, and known limitations.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant