NetApp FAS3220 by SNMP
Overview
The template to monitor SAN NetApp FAS3220 cluster by Zabbix SNMP agent.
Requirements
Zabbix version: 7.4 and higher.
Tested versions
This template has been tested on:
- NetApp FAS3220, firmware version: 5.3.0
Configuration
Zabbix should be configured according to the instructions in the Templates out of the box section.
Setup
-
Create a host for FAS3220 with cluster management IP as SNMPv2 interface.
-
Link the template to the host.
-
Customize macro values if needed.
Macros used
Name | Description | Default |
---|---|---|
{$IF.UTIL.MAX} | 95 |
|
{$IF.ERRORS.WARN} | ||
{$CPU.UTIL.CRIT} | The critical threshold of the CPU utilization expressed in %. |
90 |
{$FAS3220.FS.NAME.MATCHES} | This macro is used in filesystems discovery. Can be overridden on the host or linked template level. |
.* |
{$FAS3220.FS.NAME.NOT_MATCHES} | This macro is used in filesystems discovery. Can be overridden on the host or linked template level. |
snapshot |
{$FAS3220.FS.TYPE.MATCHES} | This macro is used in filesystems discovery. Can be overridden on the host or linked template level. Value should be integer: 2 - flexibleVolume, 3 - aggregate, 4 - stripedAggregate, 5 - stripedVolume. |
.* |
{$FAS3220.FS.TYPE.NOT_MATCHES} | This macro is used in filesystems discovery. Can be overridden on the host or linked template level. Value should be integer: 2 - flexibleVolume, 3 - aggregate, 4 - stripedAggregate, 5 - stripedVolume. |
CHANGE_IF_NEEDED |
{$FAS3220.NET.PORT.TYPE.MATCHES} | This macro is used in net ports discovery. Can be overridden on the host or linked template level. {#TYPE} is integer. Possible values: physical, if-group, vlan, undef. |
.* |
{$FAS3220.NET.PORT.TYPE.NOT_MATCHES} | This macro is used in net ports discovery. Can be overridden on the host or linked template level. {#TYPE} is integer. Possible values: physical, if-group, vlan, undef. |
CHANGE_IF_NEEDED |
{$FAS3220.NET.PORT.ROLE.MATCHES} | This macro is used in net ports discovery. Can be overridden on the host or linked template level. {#ROLE} is integer. Possible values: 0 - undef 1 - cluster 2 - data 3 - node-mgmt 4 - intercluster 5 - cluster-mgmt |
.* |
{$FAS3220.NET.PORT.ROLE.NOT_MATCHES} | This macro is used in net ports discovery. Can be overridden on the host or linked template level. {#ROLE} is integer. Possible values: 0 - undef 1 - cluster 2 - data 3 - node-mgmt 4 - intercluster 5 - cluster-mgmt |
CHANGE_IF_NEEDED |
{$FAS3220.NET.PORT.NAME.MATCHES} | This macro is used in net ports discovery. Can be overridden on the host or linked template level. |
.* |
{$FAS3220.NET.PORT.NAME.NOT_MATCHES} | This macro is used in net ports discovery. Can be overridden on the host or linked template level. |
CHANGE_IF_NEEDED |
{$FAS3220.FS.PUSED.MAX.CRIT} | Maximum percentage of disk used. Can be used with {#FSNAME} as context. |
90 |
{$FAS3220.FS.AVAIL.MIN.CRIT} | Minimum available space on the disk. Can be used with {#FSNAME} as context. |
10G |
{$FAS3220.FS.TIME} | The time during which disk usage may exceed the threshold. Can be used with {#FSNAME} as context. |
10m |
{$FAS3220.FS.USE.PCT} | Macro define what threshold will be used for disk space trigger: 0 - use Bytes ({$FAS3220.FS.AVAIL.MIN.CRIT}) 1 - use percents ({$FAS3220.FS.PUSED.MAX.CRIT}) Can be used with {#FSNAME} as context. |
1 |
{$SNMP.TIMEOUT} | Time interval for the SNMP availability trigger. |
5m |
{$ICMP_LOSS_WARN} | Warning threshold of ICMP packet loss in %. |
20 |
{$ICMP_RESPONSE_TIME_WARN} | Warning threshold of the average ICMP response time in seconds. |
0.15 |
Items
Name | Description | Type | Key and additional info |
---|---|---|---|
Product version | MIB: NETAPP-MIB Version string for the software running on this platform. |
SNMP agent | fas3220.inventory[productVersion] Preprocessing
|
Product firmware version | Version string for the firmware running on this platform. |
SNMP agent | fas3220.inventory[productFirmwareVersion] Preprocessing
|
Failed disks count | The number of disks that are currently broken. |
SNMP agent | fas3220.disk[diskFailedCount] Preprocessing
|
Failed disks message | If diskFailedCount is non-zero, this is a string describing the failed disk or disks. Each failed disk is described. |
SNMP agent | fas3220.disk[diskFailedMessage] Preprocessing
|
Uptime (network) | MIB: SNMPv2-MIB Time (in hundredths of a second) since the network management portion of the system was last re-initialized. |
SNMP agent | system.net.uptime[sysUpTime.0] Preprocessing
|
Uptime (hardware) | MIB: HOST-RESOURCES-MIB The amount of time since this host was last initialized. Note that this is different from sysUpTime in the SNMPv2-MIB [RFC1907] because sysUpTime is the uptime of the network management portion of the system. |
SNMP agent | system.hw.uptime[hrSystemUptime.0] Preprocessing
|
SNMP traps (fallback) | The item is used to collect all SNMP traps unmatched by other snmptrap items |
SNMP trap | snmptrap.fallback |
System location | MIB: SNMPv2-MIB Physical location of the node (e.g., |
SNMP agent | system.location[sysLocation.0] Preprocessing
|
System contact details | MIB: SNMPv2-MIB The textual identification of the contact person for this managed node, together with information on how to contact this person. If no contact information is known, the value is the zero-length string. |
SNMP agent | system.contact[sysContact.0] Preprocessing
|
System object ID | MIB: SNMPv2-MIB The vendor's authoritative identification of the network management subsystem contained in the entity. This value is allocated within the SMI enterprises subtree (1.3.6.1.4.1) and provides an easy and unambiguous means for determining |
SNMP agent | system.objectid[sysObjectID.0] Preprocessing
|
System name | MIB: SNMPv2-MIB An administratively-assigned name for this managed node.By convention, this is the node's fully-qualified domain name. If the name is unknown, the value is the zero-length string. |
SNMP agent | system.name Preprocessing
|
System description | MIB: SNMPv2-MIB A textual description of the entity. This value should include the full name and version identification of the system's hardware type, software operating-system, and networking software. |
SNMP agent | system.descr[sysDescr.0] Preprocessing
|
SNMP agent availability | Availability of SNMP checks on the host. The value of this item corresponds to availability icons in the host list. Possible values: 0 - not available 1 - available 2 - unknown |
Zabbix internal | zabbix[host,snmp,available] |
ICMP ping | Simple check | icmpping | |
ICMP loss | Simple check | icmppingloss | |
ICMP response time | Simple check | icmppingsec |
Triggers
Name | Description | Expression | Severity | Dependencies and additional info |
---|---|---|---|---|
NetApp FAS3220: Number of failed disks has changed | {{ITEM.LASTVALUE2}.regsub("(.*)", \1)} |
last(/NetApp FAS3220 by SNMP/fas3220.disk[diskFailedCount])>0 and last(/NetApp FAS3220 by SNMP/fas3220.disk[diskFailedMessage],#1)<>last(/NetApp FAS3220 by SNMP/fas3220.disk[diskFailedMessage],#2) |
Warning | |
NetApp FAS3220: Host has been restarted | Uptime is less than 10 minutes. |
(last(/NetApp FAS3220 by SNMP/system.hw.uptime[hrSystemUptime.0])>0 and last(/NetApp FAS3220 by SNMP/system.hw.uptime[hrSystemUptime.0])<10m) or (last(/NetApp FAS3220 by SNMP/system.hw.uptime[hrSystemUptime.0])=0 and last(/NetApp FAS3220 by SNMP/system.net.uptime[sysUpTime.0])<10m) |
Warning | Manual close: Yes Depends on:
|
NetApp FAS3220: System name has changed | The name of the system has changed. Acknowledge to close the problem manually. |
last(/NetApp FAS3220 by SNMP/system.name,#1)<>last(/NetApp FAS3220 by SNMP/system.name,#2) and length(last(/NetApp FAS3220 by SNMP/system.name))>0 |
Info | Manual close: Yes |
NetApp FAS3220: No SNMP data collection | SNMP is not available for polling. Please check device connectivity and SNMP settings. |
max(/NetApp FAS3220 by SNMP/zabbix[host,snmp,available],{$SNMP.TIMEOUT})=0 |
Warning | Depends on:
|
NetApp FAS3220: Unavailable by ICMP ping | Last three attempts returned timeout. Please check device connectivity. |
max(/NetApp FAS3220 by SNMP/icmpping,#3)=0 |
High | |
NetApp FAS3220: High ICMP ping loss | min(/NetApp FAS3220 by SNMP/icmppingloss,5m)>{$ICMP_LOSS_WARN} and min(/NetApp FAS3220 by SNMP/icmppingloss,5m)<100 |
Warning | Depends on:
|
|
NetApp FAS3220: High ICMP ping response time | Average ICMP response time is too high. |
avg(/NetApp FAS3220 by SNMP/icmppingsec,5m)>{$ICMP_RESPONSE_TIME_WARN} |
Warning | Depends on:
|
LLD rule CPU discovery
Name | Description | Type | Key and additional info |
---|---|---|---|
CPU discovery | Discovery of CPU metrics per node |
SNMP agent | fas3220.cpu.discovery |
Item prototypes for CPU discovery
Name | Description | Type | Key and additional info |
---|---|---|---|
Node {#NODE.NAME}: CPU utilization | The average, over the last minute, of the percentage of time that this processor was not idle. |
SNMP agent | fas3220.cpu[cDOTCpuBusyTimePerCent, "{#NODE.NAME}"] |
Trigger prototypes for CPU discovery
Name | Description | Expression | Severity | Dependencies and additional info |
---|---|---|---|---|
NetApp FAS3220: Node {#NODE.NAME}: High CPU utilization | The CPU utilization is too high. The system might be slow to respond. |
min(/NetApp FAS3220 by SNMP/fas3220.cpu[cDOTCpuBusyTimePerCent, "{#NODE.NAME}"],5m)>{$CPU.UTIL.CRIT} |
Warning |
LLD rule Cluster metrics discovery
Name | Description | Type | Key and additional info |
---|---|---|---|
Cluster metrics discovery | Discovery of Cluster metrics per node |
SNMP agent | fas3220.cluster.discovery |
Item prototypes for Cluster metrics discovery
Name | Description | Type | Key and additional info |
---|---|---|---|
Node {#NODE.NAME}: Location | Node Location. Same as sysLocation for a specific node. |
SNMP agent | fas3220.cluster[nodeLocation, "{#NODE.NAME}"] Preprocessing
|
Node {#NODE.NAME}: Model | Node Model. Same as productModel for a specific node. |
SNMP agent | fas3220.cluster[nodeModel, "{#NODE.NAME}"] Preprocessing
|
Node {#NODE.NAME}: Serial number | Node Serial Number. Same as productSerialNum for a specific node. |
SNMP agent | fas3220.cluster[nodeSerialNumber, "{#NODE.NAME}"] Preprocessing
|
Node {#NODE.NAME}: Uptime | Node uptime. Same as sysUpTime for a specific node. |
SNMP agent | fas3220.cluster[nodeUptime, "{#NODE.NAME}"] Preprocessing
|
Node {#NODE.NAME}: Health | Whether or not the node can communicate with the cluster. |
SNMP agent | fas3220.cluster[nodeHealth, "{#NODE.NAME}"] Preprocessing
|
Node {#NODE.NAME}: NVRAM battery status | An indication of the current status of the NVRAM battery or batteries. Batteries which are fully or partially discharged may not fully protect the system during a crash. The end-of-life status values are based on the manufacturer's recommended life for the batteries. Possible values: ok(1), partiallyDischarged(2), fullyDischarged(3), notPresent(4), nearEndOfLife(5), atEndOfLife(6), unknown(7), overCharged(8), fullyCharged(9). |
SNMP agent | fas3220.cluster[nodeNvramBatteryStatus, "{#NODE.NAME}"] Preprocessing
|
Node {#NODE.NAME}: Over-temperature | An indication of whether the hardware is currently operating outside of its recommended temperature range. The hardware will shutdown if the temperature exceeds critical thresholds. |
SNMP agent | fas3220.cluster[nodeEnvOverTemperature, "{#NODE.NAME}"] Preprocessing
|
Node {#NODE.NAME}: Failed FAN count | Count of the number of chassis fans that are not operating within the recommended RPM range. |
SNMP agent | fas3220.cluster[nodeEnvFailedFanCount, "{#NODE.NAME}"] Preprocessing
|
Node {#NODE.NAME}: Failed FAN message | Text message describing current condition of chassis fans. This is useful only if envFailedFanCount is not zero. |
SNMP agent | fas3220.cluster[nodeEnvFailedFanMessage, "{#NODE.NAME}"] Preprocessing
|
Node {#NODE.NAME}: Degraded power supplies count | Count of the number of power supplies that are in degraded mode. |
SNMP agent | fas3220.cluster[nodeEnvFailedPowerSupplyCount, "{#NODE.NAME}"] Preprocessing
|
Node {#NODE.NAME}: Degraded power supplies message | Text message describing the state of any power supplies that are currently degraded. This is useful only if envFailedPowerSupplyCount is not zero. |
SNMP agent | fas3220.cluster[nodeEnvFailedPowerSupplyMessage, "{#NODE.NAME}"] Preprocessing
|
Trigger prototypes for Cluster metrics discovery
Name | Description | Expression | Severity | Dependencies and additional info |
---|---|---|---|---|
NetApp FAS3220: Node {#NODE.NAME}: Host has been restarted | Uptime is less than 10 minutes. |
last(/NetApp FAS3220 by SNMP/fas3220.cluster[nodeUptime, "{#NODE.NAME}"])<10m |
Info | Manual close: Yes |
NetApp FAS3220: Node {#NODE.NAME}: Node can not communicate with the cluster | last(/NetApp FAS3220 by SNMP/fas3220.cluster[nodeHealth, "{#NODE.NAME}"])=0 |
High | Manual close: Yes | |
NetApp FAS3220: Node {#NODE.NAME}: NVRAM battery status is not OK | last(/NetApp FAS3220 by SNMP/fas3220.cluster[nodeNvramBatteryStatus, "{#NODE.NAME}"])<>1 |
Average | Manual close: Yes | |
NetApp FAS3220: Node {#NODE.NAME}: Temperature is over than recommended | The hardware will shutdown if the temperature exceeds critical thresholds. |
last(/NetApp FAS3220 by SNMP/fas3220.cluster[nodeEnvOverTemperature, "{#NODE.NAME}"])=2 |
High | |
NetApp FAS3220: Node {#NODE.NAME}: Failed FAN count is over than zero | {{ITEM.VALUE2}.regsub("(.*)", \1)} |
last(/NetApp FAS3220 by SNMP/fas3220.cluster[nodeEnvFailedFanCount, "{#NODE.NAME}"])>0 and last(/NetApp FAS3220 by SNMP/fas3220.cluster[nodeEnvFailedFanMessage, "{#NODE.NAME}"])=last(/NetApp FAS3220 by SNMP/fas3220.cluster[nodeEnvFailedFanMessage, "{#NODE.NAME}"]) |
High | |
NetApp FAS3220: Node {#NODE.NAME}: Degraded power supplies count is more than zero | {{ITEM.VALUE2}.regsub("(.*)", \1)} |
last(/NetApp FAS3220 by SNMP/fas3220.cluster[nodeEnvFailedPowerSupplyCount, "{#NODE.NAME}"])>0 and last(/NetApp FAS3220 by SNMP/fas3220.cluster[nodeEnvFailedPowerSupplyMessage, "{#NODE.NAME}"])=last(/NetApp FAS3220 by SNMP/fas3220.cluster[nodeEnvFailedPowerSupplyMessage, "{#NODE.NAME}"]) |
Average |
LLD rule HA discovery
Name | Description | Type | Key and additional info |
---|---|---|---|
HA discovery | Discovery of high availability metrics per node |
SNMP agent | fas3220.ha.discovery |
Item prototypes for HA discovery
Name | Description | Type | Key and additional info |
---|---|---|---|
Node {#NODE.NAME}: Cannot takeover cause | The reason node cannot take over it's HA partner {#PARTNER.NAME}. Possible states: ok(1), unknownReason(2), disabledByOperator(3), interconnectOffline(4), disabledByPartner(5), takeoverFailed(6), mailboxIsInDegradedState(7), partnermailboxIsInUninitialisedState(8), mailboxVersionMismatch(9), nvramSizeMismatch(10), kernelVersionMismatch(11), partnerIsInBootingStage(12), diskshelfIsTooHot(13), partnerIsPerformingRevert(14), nodeIsPerformingRevert(15), sametimePartnerIsAlsoTryingToTakeUsOver(16), alreadyInTakenoverMode(17), nvramLogUnsynchronized(18), stateofBackupMailboxIsDoubtful(19). |
SNMP agent | fas3220.ha[haCannotTakeoverCause, "{#NODE.NAME}"] Preprocessing
|
Node {#NODE.NAME}: HA settings | High Availability configuration settings. The value notConfigured(1) indicates that the HA is not licensed. The thisNodeDead(5) setting indicates that this node has been takenover. |
SNMP agent | fas3220.ha[haSettings, "{#NODE.NAME}"] Preprocessing
|
Trigger prototypes for HA discovery
Name | Description | Expression | Severity | Dependencies and additional info |
---|---|---|---|---|
NetApp FAS3220: Node {#NODE.NAME}: Node cannot takeover it's HA partner {#PARTNER.NAME}. Reason: {ITEM.VALUE} | Possible reasons: |
last(/NetApp FAS3220 by SNMP/fas3220.ha[haCannotTakeoverCause, "{#NODE.NAME}"])<>1 |
High | |
NetApp FAS3220: Node {#NODE.NAME}: Node has been taken over | The thisNodeDead(5) setting indicates that this node has been takenover. |
last(/NetApp FAS3220 by SNMP/fas3220.ha[haSettings, "{#NODE.NAME}"])=5 |
High | |
NetApp FAS3220: Node {#NODE.NAME}: HA is not licensed | The value notConfigured(1) indicates that the HA is not licensed. |
last(/NetApp FAS3220 by SNMP/fas3220.ha[haSettings, "{#NODE.NAME}"])=1 |
Average |
LLD rule Filesystems discovery
Name | Description | Type | Key and additional info |
---|---|---|---|
Filesystems discovery | Filesystems discovery with filter. |
SNMP agent | fas3220.fs.discovery |
Item prototypes for Filesystems discovery
Name | Description | Type | Key and additional info |
---|---|---|---|
{#VSERVER}{#FSNAME}: Total space used | The total disk space that is in use on {#FSNAME}. |
SNMP agent | fas3220.fs[df64UsedKBytes, "{#VSERVER}{#FSNAME}"] Preprocessing
|
{#VSERVER}{#FSNAME}: Total space available | The total disk space that is free for use on {#FSNAME}. |
SNMP agent | fas3220.fs[df64AvailKBytes, "{#VSERVER}{#FSNAME}"] Preprocessing
|
{#VSERVER}{#FSNAME}: Total space | The total capacity in bytes for {#FSNAME}. |
SNMP agent | fas3220.fs[df64TotalKBytes, "{#VSERVER}{#FSNAME}"] Preprocessing
|
{#VSERVER}{#FSNAME}: Used space percents | The percentage of disk space currently in use on {#FSNAME}. |
SNMP agent | fas3220.fs[dfPerCentKBytesCapacity, "{#VSERVER}{#FSNAME}"] |
{#VSERVER}{#FSNAME}: Saved by compression percents | Provides the percentage of compression savings in a volume, which is ((compr_saved/used)) * 10(compr_saved + 0). This is only returned for volumes. |
SNMP agent | fas3220.fs[dfCompressSavedPercent, "{#VSERVER}{#FSNAME}"] |
{#VSERVER}{#FSNAME}: Saved by deduplication percents | Provides the percentage of deduplication savings in a volume, which is ((dedup_saved/(dedup_saved + used)) * 100). This is only returned for volumes. |
SNMP agent | fas3220.fs[dfDedupeSavedPercent, "{#VSERVER}{#FSNAME}"] |
Trigger prototypes for Filesystems discovery
Name | Description | Expression | Severity | Dependencies and additional info |
---|---|---|---|---|
NetApp FAS3220: {#VSERVER}{#FSNAME}: Disk space is too low | min(/NetApp FAS3220 by SNMP/fas3220.fs[df64AvailKBytes, "{#VSERVER}{#FSNAME}"],{$FAS3220.FS.TIME:"{#FSNAME}"})<{$FAS3220.FS.AVAIL.MIN.CRIT:"{#FSNAME}"} and {$FAS3220.FS.USE.PCT:"{#FSNAME}"}=0 |
High | ||
NetApp FAS3220: {#VSERVER}{#FSNAME}: Disk space is too low | max(/NetApp FAS3220 by SNMP/fas3220.fs[dfPerCentKBytesCapacity, "{#VSERVER}{#FSNAME}"],{$FAS3220.FS.TIME:"{#FSNAME}"})>{$FAS3220.FS.PUSED.MAX.CRIT:"{#FSNAME}"} and {$FAS3220.FS.USE.PCT:"{#FSNAME}"}=1 |
High |
LLD rule Network ports discovery
Name | Description | Type | Key and additional info |
---|---|---|---|
Network ports discovery | Network interfaces discovery with filter. |
SNMP agent | fas3220.net.discovery Preprocessing
|
Item prototypes for Network ports discovery
Name | Description | Type | Key and additional info |
---|---|---|---|
Node {#NODE}: port {#IFNAME} ({#TYPE}): Up by an administrator | Indicates whether the port status is set 'UP' by an administrator. |
SNMP agent | fas3220.net.port[netportUpAdmin, "{#NODE}", "{#IFNAME}"] Preprocessing
|
Node {#NODE}: port {#IFNAME} ({#TYPE}): Role | Role of the port. A port must have one of the following roles: cluster(1), data(2), mgmt(3), intercluster(4), cluster-mgmt(5) or undef(0). The cluster port is used to communicate to other node(s) in the cluster. The data port services clients' requests. It is where all the file requests come in. The management port is used by administrator to manage resources within a node. The intercluster port is used to communicate to other cluster. The cluster-mgmt port is used to manage resources within the cluster. The undef role is for the port that has not yet been assigned a role. |
SNMP agent | fas3220.net.port[netportRole, "{#NODE}", "{#IFNAME}"] Preprocessing
|
Node {#NODE}: port {#IFNAME} ({#TYPE}): Speed | The speed appears on the port. It can be either undef(0), auto(1), ten Mb/s(2), hundred Mb/s(3), one Gb/s(4), or ten Gb/s(5). |
SNMP agent | fas3220.net.port[netportSpeedOper, "{#NODE}", "{#IFNAME}"] Preprocessing
|
Node {#NODE}: port {#IFNAME} ({#TYPE}): Bits received | The total number of octets received on the interface, including framing characters. |
SNMP agent | fas3220.net.if[if64InOctets, "{#NODE}", "{#IFNAME}"] Preprocessing
|
Node {#NODE}: port {#IFNAME} ({#TYPE}): Bits sent | The total number of octets transmitted out of the interface, including framing characters. |
SNMP agent | fas3220.net.if[if64OutOctets, "{#NODE}", "{#IFNAME}"] Preprocessing
|
Node {#NODE}: port {#IFNAME} ({#TYPE}): Inbound packets with errors | MIB: IF-MIB The number of inbound packets that contained errors preventing them from being deliverable to a higher-layer protocol. |
SNMP agent | fas3220.net.if[if64InErrors, "{#NODE}", "{#IFNAME}"] Preprocessing
|
Node {#NODE}: port {#IFNAME} ({#TYPE}): Outbound packets with errors | MIB: IF-MIB The number of outbound packets that could not be transmitted because of errors. |
SNMP agent | fas3220.net.if[if64OutErrors, "{#NODE}", "{#IFNAME}"] Preprocessing
|
Node {#NODE}: port {#IFNAME} ({#TYPE}): Inbound packets discarded | MIB: IF-MIB The number of inbound packets that were chosen to be discarded even though no errors had been detected to prevent their being deliverable to a higher-layer protocol. One possible reason for discarding such a packet could be to free up buffer space. |
SNMP agent | fas3220.net.if[if64InDiscards, "{#NODE}", "{#IFNAME}"] Preprocessing
|
Node {#NODE}: port {#IFNAME} ({#TYPE}): Outbound packets discarded | MIB: IF-MIB The number of outbound packets that were chosen to be discarded even though no errors had been detected to prevent their being transmitted. One possible reason for discarding such a packet could be to free up buffer space. |
SNMP agent | fas3220.net.if[if64OutDiscards, "{#NODE}", "{#IFNAME}"] Preprocessing
|
Node {#NODE}: port {#IFNAME} ({#TYPE}): State | The link-state of the port. Normally it is either UP(2) or DOWN(3). |
SNMP agent | fas3220.net.port[netportLinkState, "{#NODE}", "{#IFNAME}"] Preprocessing
|
Node {#NODE}: port {#IFNAME} ({#TYPE}): Health | The health status of the port. |
SNMP agent | fas3220.net.port[netportHealthStatus, "{#NODE}", "{#IFNAME}"] Preprocessing
|
Node {#NODE}: port {#IFNAME} ({#TYPE}): Health degraded reason | The list of reasons why the port is marked as degraded. |
SNMP agent | fas3220.net.port[netportDegradedReason, "{#NODE}", "{#IFNAME}"] Preprocessing
|
Trigger prototypes for Network ports discovery
Name | Description | Expression | Severity | Dependencies and additional info |
---|---|---|---|---|
NetApp FAS3220: Node {#NODE}: port {#IFNAME} ({#TYPE}): High error rate | It recovers when it is below 80% of the |
min(/NetApp FAS3220 by SNMP/fas3220.net.if[if64InErrors, "{#NODE}", "{#IFNAME}"],5m)>{$IF.ERRORS.WARN:"{#IFNAME}"} or min(/NetApp FAS3220 by SNMP/fas3220.net.if[if64OutErrors, "{#NODE}", "{#IFNAME}"],5m)>{$IF.ERRORS.WARN:"{#IFNAME}"} |
Warning | Manual close: Yes |
NetApp FAS3220: Node {#NODE}: port {#IFNAME} ({#TYPE}): Link down | Link state is not UP and the port status is set 'UP' by an administrator. |
last(/NetApp FAS3220 by SNMP/fas3220.net.port[netportLinkState, "{#NODE}", "{#IFNAME}"])<>2 and last(/NetApp FAS3220 by SNMP/fas3220.net.port[netportUpAdmin, "{#NODE}", "{#IFNAME}"])=1 |
Average | Manual close: Yes |
NetApp FAS3220: Node {#NODE}: port {#IFNAME} ({#TYPE}): Port is not healthy | {{ITEM.LASTVALUE2}.regsub("(.*)", \1)} |
last(/NetApp FAS3220 by SNMP/fas3220.net.port[netportHealthStatus, "{#NODE}", "{#IFNAME}"])<>0 and length(last(/NetApp FAS3220 by SNMP/fas3220.net.port[netportDegradedReason, "{#NODE}", "{#IFNAME}"]))>0 |
Info |
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
NetApp FAS3220 by SNMP
Overview
The template to monitor SAN NetApp FAS3220 cluster by Zabbix SNMP agent.
Requirements
Zabbix version: 7.2 and higher.
Tested versions
This template has been tested on:
- NetApp FAS3220, firmware version: 5.3.0
Configuration
Zabbix should be configured according to the instructions in the Templates out of the box section.
Setup
-
Create a host for FAS3220 with cluster management IP as SNMPv2 interface.
-
Link the template to the host.
-
Customize macro values if needed.
Macros used
Name | Description | Default |
---|---|---|
{$IF.UTIL.MAX} | 95 |
|
{$IF.ERRORS.WARN} | ||
{$CPU.UTIL.CRIT} | The critical threshold of the CPU utilization expressed in %. |
90 |
{$FAS3220.FS.NAME.MATCHES} | This macro is used in filesystems discovery. Can be overridden on the host or linked template level. |
.* |
{$FAS3220.FS.NAME.NOT_MATCHES} | This macro is used in filesystems discovery. Can be overridden on the host or linked template level. |
snapshot |
{$FAS3220.FS.TYPE.MATCHES} | This macro is used in filesystems discovery. Can be overridden on the host or linked template level. Value should be integer: 2 - flexibleVolume, 3 - aggregate, 4 - stripedAggregate, 5 - stripedVolume. |
.* |
{$FAS3220.FS.TYPE.NOT_MATCHES} | This macro is used in filesystems discovery. Can be overridden on the host or linked template level. Value should be integer: 2 - flexibleVolume, 3 - aggregate, 4 - stripedAggregate, 5 - stripedVolume. |
CHANGE_IF_NEEDED |
{$FAS3220.NET.PORT.TYPE.MATCHES} | This macro is used in net ports discovery. Can be overridden on the host or linked template level. {#TYPE} is integer. Possible values: physical, if-group, vlan, undef. |
.* |
{$FAS3220.NET.PORT.TYPE.NOT_MATCHES} | This macro is used in net ports discovery. Can be overridden on the host or linked template level. {#TYPE} is integer. Possible values: physical, if-group, vlan, undef. |
CHANGE_IF_NEEDED |
{$FAS3220.NET.PORT.ROLE.MATCHES} | This macro is used in net ports discovery. Can be overridden on the host or linked template level. {#ROLE} is integer. Possible values: 0 - undef 1 - cluster 2 - data 3 - node-mgmt 4 - intercluster 5 - cluster-mgmt |
.* |
{$FAS3220.NET.PORT.ROLE.NOT_MATCHES} | This macro is used in net ports discovery. Can be overridden on the host or linked template level. {#ROLE} is integer. Possible values: 0 - undef 1 - cluster 2 - data 3 - node-mgmt 4 - intercluster 5 - cluster-mgmt |
CHANGE_IF_NEEDED |
{$FAS3220.NET.PORT.NAME.MATCHES} | This macro is used in net ports discovery. Can be overridden on the host or linked template level. |
.* |
{$FAS3220.NET.PORT.NAME.NOT_MATCHES} | This macro is used in net ports discovery. Can be overridden on the host or linked template level. |
CHANGE_IF_NEEDED |
{$FAS3220.FS.PUSED.MAX.CRIT} | Maximum percentage of disk used. Can be used with {#FSNAME} as context. |
90 |
{$FAS3220.FS.AVAIL.MIN.CRIT} | Minimum available space on the disk. Can be used with {#FSNAME} as context. |
10G |
{$FAS3220.FS.TIME} | The time during which disk usage may exceed the threshold. Can be used with {#FSNAME} as context. |
10m |
{$FAS3220.FS.USE.PCT} | Macro define what threshold will be used for disk space trigger: 0 - use Bytes ({$FAS3220.FS.AVAIL.MIN.CRIT}) 1 - use percents ({$FAS3220.FS.PUSED.MAX.CRIT}) Can be used with {#FSNAME} as context. |
1 |
{$SNMP.TIMEOUT} | Time interval for the SNMP availability trigger. |
5m |
{$ICMP_LOSS_WARN} | Warning threshold of ICMP packet loss in %. |
20 |
{$ICMP_RESPONSE_TIME_WARN} | Warning threshold of the average ICMP response time in seconds. |
0.15 |
Items
Name | Description | Type | Key and additional info |
---|---|---|---|
Product version | MIB: NETAPP-MIB Version string for the software running on this platform. |
SNMP agent | fas3220.inventory[productVersion] Preprocessing
|
Product firmware version | Version string for the firmware running on this platform. |
SNMP agent | fas3220.inventory[productFirmwareVersion] Preprocessing
|
Failed disks count | The number of disks that are currently broken. |
SNMP agent | fas3220.disk[diskFailedCount] Preprocessing
|
Failed disks message | If diskFailedCount is non-zero, this is a string describing the failed disk or disks. Each failed disk is described. |
SNMP agent | fas3220.disk[diskFailedMessage] Preprocessing
|
Uptime (network) | MIB: SNMPv2-MIB Time (in hundredths of a second) since the network management portion of the system was last re-initialized. |
SNMP agent | system.net.uptime[sysUpTime.0] Preprocessing
|
Uptime (hardware) | MIB: HOST-RESOURCES-MIB The amount of time since this host was last initialized. Note that this is different from sysUpTime in the SNMPv2-MIB [RFC1907] because sysUpTime is the uptime of the network management portion of the system. |
SNMP agent | system.hw.uptime[hrSystemUptime.0] Preprocessing
|
SNMP traps (fallback) | The item is used to collect all SNMP traps unmatched by other snmptrap items |
SNMP trap | snmptrap.fallback |
System location | MIB: SNMPv2-MIB Physical location of the node (e.g., |
SNMP agent | system.location[sysLocation.0] Preprocessing
|
System contact details | MIB: SNMPv2-MIB The textual identification of the contact person for this managed node, together with information on how to contact this person. If no contact information is known, the value is the zero-length string. |
SNMP agent | system.contact[sysContact.0] Preprocessing
|
System object ID | MIB: SNMPv2-MIB The vendor's authoritative identification of the network management subsystem contained in the entity. This value is allocated within the SMI enterprises subtree (1.3.6.1.4.1) and provides an easy and unambiguous means for determining |
SNMP agent | system.objectid[sysObjectID.0] Preprocessing
|
System name | MIB: SNMPv2-MIB An administratively-assigned name for this managed node.By convention, this is the node's fully-qualified domain name. If the name is unknown, the value is the zero-length string. |
SNMP agent | system.name Preprocessing
|
System description | MIB: SNMPv2-MIB A textual description of the entity. This value should include the full name and version identification of the system's hardware type, software operating-system, and networking software. |
SNMP agent | system.descr[sysDescr.0] Preprocessing
|
SNMP agent availability | Availability of SNMP checks on the host. The value of this item corresponds to availability icons in the host list. Possible values: 0 - not available 1 - available 2 - unknown |
Zabbix internal | zabbix[host,snmp,available] |
ICMP ping | Simple check | icmpping | |
ICMP loss | Simple check | icmppingloss | |
ICMP response time | Simple check | icmppingsec |
Triggers
Name | Description | Expression | Severity | Dependencies and additional info |
---|---|---|---|---|
NetApp FAS3220: Number of failed disks has changed | {{ITEM.LASTVALUE2}.regsub("(.*)", \1)} |
last(/NetApp FAS3220 by SNMP/fas3220.disk[diskFailedCount])>0 and last(/NetApp FAS3220 by SNMP/fas3220.disk[diskFailedMessage],#1)<>last(/NetApp FAS3220 by SNMP/fas3220.disk[diskFailedMessage],#2) |
Warning | |
NetApp FAS3220: Host has been restarted | Uptime is less than 10 minutes. |
(last(/NetApp FAS3220 by SNMP/system.hw.uptime[hrSystemUptime.0])>0 and last(/NetApp FAS3220 by SNMP/system.hw.uptime[hrSystemUptime.0])<10m) or (last(/NetApp FAS3220 by SNMP/system.hw.uptime[hrSystemUptime.0])=0 and last(/NetApp FAS3220 by SNMP/system.net.uptime[sysUpTime.0])<10m) |
Warning | Manual close: Yes Depends on:
|
NetApp FAS3220: System name has changed | The name of the system has changed. Acknowledge to close the problem manually. |
last(/NetApp FAS3220 by SNMP/system.name,#1)<>last(/NetApp FAS3220 by SNMP/system.name,#2) and length(last(/NetApp FAS3220 by SNMP/system.name))>0 |
Info | Manual close: Yes |
NetApp FAS3220: No SNMP data collection | SNMP is not available for polling. Please check device connectivity and SNMP settings. |
max(/NetApp FAS3220 by SNMP/zabbix[host,snmp,available],{$SNMP.TIMEOUT})=0 |
Warning | Depends on:
|
NetApp FAS3220: Unavailable by ICMP ping | Last three attempts returned timeout. Please check device connectivity. |
max(/NetApp FAS3220 by SNMP/icmpping,#3)=0 |
High | |
NetApp FAS3220: High ICMP ping loss | min(/NetApp FAS3220 by SNMP/icmppingloss,5m)>{$ICMP_LOSS_WARN} and min(/NetApp FAS3220 by SNMP/icmppingloss,5m)<100 |
Warning | Depends on:
|
|
NetApp FAS3220: High ICMP ping response time | Average ICMP response time is too high. |
avg(/NetApp FAS3220 by SNMP/icmppingsec,5m)>{$ICMP_RESPONSE_TIME_WARN} |
Warning | Depends on:
|
LLD rule CPU discovery
Name | Description | Type | Key and additional info |
---|---|---|---|
CPU discovery | Discovery of CPU metrics per node |
SNMP agent | fas3220.cpu.discovery |
Item prototypes for CPU discovery
Name | Description | Type | Key and additional info |
---|---|---|---|
Node {#NODE.NAME}: CPU utilization | The average, over the last minute, of the percentage of time that this processor was not idle. |
SNMP agent | fas3220.cpu[cDOTCpuBusyTimePerCent, "{#NODE.NAME}"] |
Trigger prototypes for CPU discovery
Name | Description | Expression | Severity | Dependencies and additional info |
---|---|---|---|---|
NetApp FAS3220: Node {#NODE.NAME}: High CPU utilization | The CPU utilization is too high. The system might be slow to respond. |
min(/NetApp FAS3220 by SNMP/fas3220.cpu[cDOTCpuBusyTimePerCent, "{#NODE.NAME}"],5m)>{$CPU.UTIL.CRIT} |
Warning |
LLD rule Cluster metrics discovery
Name | Description | Type | Key and additional info |
---|---|---|---|
Cluster metrics discovery | Discovery of Cluster metrics per node |
SNMP agent | fas3220.cluster.discovery |
Item prototypes for Cluster metrics discovery
Name | Description | Type | Key and additional info |
---|---|---|---|
Node {#NODE.NAME}: Location | Node Location. Same as sysLocation for a specific node. |
SNMP agent | fas3220.cluster[nodeLocation, "{#NODE.NAME}"] Preprocessing
|
Node {#NODE.NAME}: Model | Node Model. Same as productModel for a specific node. |
SNMP agent | fas3220.cluster[nodeModel, "{#NODE.NAME}"] Preprocessing
|
Node {#NODE.NAME}: Serial number | Node Serial Number. Same as productSerialNum for a specific node. |
SNMP agent | fas3220.cluster[nodeSerialNumber, "{#NODE.NAME}"] Preprocessing
|
Node {#NODE.NAME}: Uptime | Node uptime. Same as sysUpTime for a specific node. |
SNMP agent | fas3220.cluster[nodeUptime, "{#NODE.NAME}"] Preprocessing
|
Node {#NODE.NAME}: Health | Whether or not the node can communicate with the cluster. |
SNMP agent | fas3220.cluster[nodeHealth, "{#NODE.NAME}"] Preprocessing
|
Node {#NODE.NAME}: NVRAM battery status | An indication of the current status of the NVRAM battery or batteries. Batteries which are fully or partially discharged may not fully protect the system during a crash. The end-of-life status values are based on the manufacturer's recommended life for the batteries. Possible values: ok(1), partiallyDischarged(2), fullyDischarged(3), notPresent(4), nearEndOfLife(5), atEndOfLife(6), unknown(7), overCharged(8), fullyCharged(9). |
SNMP agent | fas3220.cluster[nodeNvramBatteryStatus, "{#NODE.NAME}"] Preprocessing
|
Node {#NODE.NAME}: Over-temperature | An indication of whether the hardware is currently operating outside of its recommended temperature range. The hardware will shutdown if the temperature exceeds critical thresholds. |
SNMP agent | fas3220.cluster[nodeEnvOverTemperature, "{#NODE.NAME}"] Preprocessing
|
Node {#NODE.NAME}: Failed FAN count | Count of the number of chassis fans that are not operating within the recommended RPM range. |
SNMP agent | fas3220.cluster[nodeEnvFailedFanCount, "{#NODE.NAME}"] Preprocessing
|
Node {#NODE.NAME}: Failed FAN message | Text message describing current condition of chassis fans. This is useful only if envFailedFanCount is not zero. |
SNMP agent | fas3220.cluster[nodeEnvFailedFanMessage, "{#NODE.NAME}"] Preprocessing
|
Node {#NODE.NAME}: Degraded power supplies count | Count of the number of power supplies that are in degraded mode. |
SNMP agent | fas3220.cluster[nodeEnvFailedPowerSupplyCount, "{#NODE.NAME}"] Preprocessing
|
Node {#NODE.NAME}: Degraded power supplies message | Text message describing the state of any power supplies that are currently degraded. This is useful only if envFailedPowerSupplyCount is not zero. |
SNMP agent | fas3220.cluster[nodeEnvFailedPowerSupplyMessage, "{#NODE.NAME}"] Preprocessing
|
Trigger prototypes for Cluster metrics discovery
Name | Description | Expression | Severity | Dependencies and additional info |
---|---|---|---|---|
NetApp FAS3220: Node {#NODE.NAME}: Host has been restarted | Uptime is less than 10 minutes. |
last(/NetApp FAS3220 by SNMP/fas3220.cluster[nodeUptime, "{#NODE.NAME}"])<10m |
Info | Manual close: Yes |
NetApp FAS3220: Node {#NODE.NAME}: Node can not communicate with the cluster | last(/NetApp FAS3220 by SNMP/fas3220.cluster[nodeHealth, "{#NODE.NAME}"])=0 |
High | Manual close: Yes | |
NetApp FAS3220: Node {#NODE.NAME}: NVRAM battery status is not OK | last(/NetApp FAS3220 by SNMP/fas3220.cluster[nodeNvramBatteryStatus, "{#NODE.NAME}"])<>1 |
Average | Manual close: Yes | |
NetApp FAS3220: Node {#NODE.NAME}: Temperature is over than recommended | The hardware will shutdown if the temperature exceeds critical thresholds. |
last(/NetApp FAS3220 by SNMP/fas3220.cluster[nodeEnvOverTemperature, "{#NODE.NAME}"])=2 |
High | |
NetApp FAS3220: Node {#NODE.NAME}: Failed FAN count is over than zero | {{ITEM.VALUE2}.regsub("(.*)", \1)} |
last(/NetApp FAS3220 by SNMP/fas3220.cluster[nodeEnvFailedFanCount, "{#NODE.NAME}"])>0 and last(/NetApp FAS3220 by SNMP/fas3220.cluster[nodeEnvFailedFanMessage, "{#NODE.NAME}"])=last(/NetApp FAS3220 by SNMP/fas3220.cluster[nodeEnvFailedFanMessage, "{#NODE.NAME}"]) |
High | |
NetApp FAS3220: Node {#NODE.NAME}: Degraded power supplies count is more than zero | {{ITEM.VALUE2}.regsub("(.*)", \1)} |
last(/NetApp FAS3220 by SNMP/fas3220.cluster[nodeEnvFailedPowerSupplyCount, "{#NODE.NAME}"])>0 and last(/NetApp FAS3220 by SNMP/fas3220.cluster[nodeEnvFailedPowerSupplyMessage, "{#NODE.NAME}"])=last(/NetApp FAS3220 by SNMP/fas3220.cluster[nodeEnvFailedPowerSupplyMessage, "{#NODE.NAME}"]) |
Average |
LLD rule HA discovery
Name | Description | Type | Key and additional info |
---|---|---|---|
HA discovery | Discovery of high availability metrics per node |
SNMP agent | fas3220.ha.discovery |
Item prototypes for HA discovery
Name | Description | Type | Key and additional info |
---|---|---|---|
Node {#NODE.NAME}: Cannot takeover cause | The reason node cannot take over it's HA partner {#PARTNER.NAME}. Possible states: ok(1), unknownReason(2), disabledByOperator(3), interconnectOffline(4), disabledByPartner(5), takeoverFailed(6), mailboxIsInDegradedState(7), partnermailboxIsInUninitialisedState(8), mailboxVersionMismatch(9), nvramSizeMismatch(10), kernelVersionMismatch(11), partnerIsInBootingStage(12), diskshelfIsTooHot(13), partnerIsPerformingRevert(14), nodeIsPerformingRevert(15), sametimePartnerIsAlsoTryingToTakeUsOver(16), alreadyInTakenoverMode(17), nvramLogUnsynchronized(18), stateofBackupMailboxIsDoubtful(19). |
SNMP agent | fas3220.ha[haCannotTakeoverCause, "{#NODE.NAME}"] Preprocessing
|
Node {#NODE.NAME}: HA settings | High Availability configuration settings. The value notConfigured(1) indicates that the HA is not licensed. The thisNodeDead(5) setting indicates that this node has been takenover. |
SNMP agent | fas3220.ha[haSettings, "{#NODE.NAME}"] Preprocessing
|
Trigger prototypes for HA discovery
Name | Description | Expression | Severity | Dependencies and additional info |
---|---|---|---|---|
NetApp FAS3220: Node {#NODE.NAME}: Node cannot takeover it's HA partner {#PARTNER.NAME}. Reason: {ITEM.VALUE} | Possible reasons: |
last(/NetApp FAS3220 by SNMP/fas3220.ha[haCannotTakeoverCause, "{#NODE.NAME}"])<>1 |
High | |
NetApp FAS3220: Node {#NODE.NAME}: Node has been taken over | The thisNodeDead(5) setting indicates that this node has been takenover. |
last(/NetApp FAS3220 by SNMP/fas3220.ha[haSettings, "{#NODE.NAME}"])=5 |
High | |
NetApp FAS3220: Node {#NODE.NAME}: HA is not licensed | The value notConfigured(1) indicates that the HA is not licensed. |
last(/NetApp FAS3220 by SNMP/fas3220.ha[haSettings, "{#NODE.NAME}"])=1 |
Average |
LLD rule Filesystems discovery
Name | Description | Type | Key and additional info |
---|---|---|---|
Filesystems discovery | Filesystems discovery with filter. |
SNMP agent | fas3220.fs.discovery |
Item prototypes for Filesystems discovery
Name | Description | Type | Key and additional info |
---|---|---|---|
{#VSERVER}{#FSNAME}: Total space used | The total disk space that is in use on {#FSNAME}. |
SNMP agent | fas3220.fs[df64UsedKBytes, "{#VSERVER}{#FSNAME}"] Preprocessing
|
{#VSERVER}{#FSNAME}: Total space available | The total disk space that is free for use on {#FSNAME}. |
SNMP agent | fas3220.fs[df64AvailKBytes, "{#VSERVER}{#FSNAME}"] Preprocessing
|
{#VSERVER}{#FSNAME}: Total space | The total capacity in bytes for {#FSNAME}. |
SNMP agent | fas3220.fs[df64TotalKBytes, "{#VSERVER}{#FSNAME}"] Preprocessing
|
{#VSERVER}{#FSNAME}: Used space percents | The percentage of disk space currently in use on {#FSNAME}. |
SNMP agent | fas3220.fs[dfPerCentKBytesCapacity, "{#VSERVER}{#FSNAME}"] |
{#VSERVER}{#FSNAME}: Saved by compression percents | Provides the percentage of compression savings in a volume, which is ((compr_saved/used)) * 10(compr_saved + 0). This is only returned for volumes. |
SNMP agent | fas3220.fs[dfCompressSavedPercent, "{#VSERVER}{#FSNAME}"] |
{#VSERVER}{#FSNAME}: Saved by deduplication percents | Provides the percentage of deduplication savings in a volume, which is ((dedup_saved/(dedup_saved + used)) * 100). This is only returned for volumes. |
SNMP agent | fas3220.fs[dfDedupeSavedPercent, "{#VSERVER}{#FSNAME}"] |
Trigger prototypes for Filesystems discovery
Name | Description | Expression | Severity | Dependencies and additional info |
---|---|---|---|---|
NetApp FAS3220: {#VSERVER}{#FSNAME}: Disk space is too low | min(/NetApp FAS3220 by SNMP/fas3220.fs[df64AvailKBytes, "{#VSERVER}{#FSNAME}"],{$FAS3220.FS.TIME:"{#FSNAME}"})<{$FAS3220.FS.AVAIL.MIN.CRIT:"{#FSNAME}"} and {$FAS3220.FS.USE.PCT:"{#FSNAME}"}=0 |
High | ||
NetApp FAS3220: {#VSERVER}{#FSNAME}: Disk space is too low | max(/NetApp FAS3220 by SNMP/fas3220.fs[dfPerCentKBytesCapacity, "{#VSERVER}{#FSNAME}"],{$FAS3220.FS.TIME:"{#FSNAME}"})>{$FAS3220.FS.PUSED.MAX.CRIT:"{#FSNAME}"} and {$FAS3220.FS.USE.PCT:"{#FSNAME}"}=1 |
High |
LLD rule Network ports discovery
Name | Description | Type | Key and additional info |
---|---|---|---|
Network ports discovery | Network interfaces discovery with filter. |
SNMP agent | fas3220.net.discovery Preprocessing
|
Item prototypes for Network ports discovery
Name | Description | Type | Key and additional info |
---|---|---|---|
Node {#NODE}: port {#IFNAME} ({#TYPE}): Up by an administrator | Indicates whether the port status is set 'UP' by an administrator. |
SNMP agent | fas3220.net.port[netportUpAdmin, "{#NODE}", "{#IFNAME}"] Preprocessing
|
Node {#NODE}: port {#IFNAME} ({#TYPE}): Role | Role of the port. A port must have one of the following roles: cluster(1), data(2), mgmt(3), intercluster(4), cluster-mgmt(5) or undef(0). The cluster port is used to communicate to other node(s) in the cluster. The data port services clients' requests. It is where all the file requests come in. The management port is used by administrator to manage resources within a node. The intercluster port is used to communicate to other cluster. The cluster-mgmt port is used to manage resources within the cluster. The undef role is for the port that has not yet been assigned a role. |
SNMP agent | fas3220.net.port[netportRole, "{#NODE}", "{#IFNAME}"] Preprocessing
|
Node {#NODE}: port {#IFNAME} ({#TYPE}): Speed | The speed appears on the port. It can be either undef(0), auto(1), ten Mb/s(2), hundred Mb/s(3), one Gb/s(4), or ten Gb/s(5). |
SNMP agent | fas3220.net.port[netportSpeedOper, "{#NODE}", "{#IFNAME}"] Preprocessing
|
Node {#NODE}: port {#IFNAME} ({#TYPE}): Bits received | The total number of octets received on the interface, including framing characters. |
SNMP agent | fas3220.net.if[if64InOctets, "{#NODE}", "{#IFNAME}"] Preprocessing
|
Node {#NODE}: port {#IFNAME} ({#TYPE}): Bits sent | The total number of octets transmitted out of the interface, including framing characters. |
SNMP agent | fas3220.net.if[if64OutOctets, "{#NODE}", "{#IFNAME}"] Preprocessing
|
Node {#NODE}: port {#IFNAME} ({#TYPE}): Inbound packets with errors | MIB: IF-MIB The number of inbound packets that contained errors preventing them from being deliverable to a higher-layer protocol. |
SNMP agent | fas3220.net.if[if64InErrors, "{#NODE}", "{#IFNAME}"] Preprocessing
|
Node {#NODE}: port {#IFNAME} ({#TYPE}): Outbound packets with errors | MIB: IF-MIB The number of outbound packets that could not be transmitted because of errors. |
SNMP agent | fas3220.net.if[if64OutErrors, "{#NODE}", "{#IFNAME}"] Preprocessing
|
Node {#NODE}: port {#IFNAME} ({#TYPE}): Inbound packets discarded | MIB: IF-MIB The number of inbound packets that were chosen to be discarded even though no errors had been detected to prevent their being deliverable to a higher-layer protocol. One possible reason for discarding such a packet could be to free up buffer space. |
SNMP agent | fas3220.net.if[if64InDiscards, "{#NODE}", "{#IFNAME}"] Preprocessing
|
Node {#NODE}: port {#IFNAME} ({#TYPE}): Outbound packets discarded | MIB: IF-MIB The number of outbound packets that were chosen to be discarded even though no errors had been detected to prevent their being transmitted. One possible reason for discarding such a packet could be to free up buffer space. |
SNMP agent | fas3220.net.if[if64OutDiscards, "{#NODE}", "{#IFNAME}"] Preprocessing
|
Node {#NODE}: port {#IFNAME} ({#TYPE}): State | The link-state of the port. Normally it is either UP(2) or DOWN(3). |
SNMP agent | fas3220.net.port[netportLinkState, "{#NODE}", "{#IFNAME}"] Preprocessing
|
Node {#NODE}: port {#IFNAME} ({#TYPE}): Health | The health status of the port. |
SNMP agent | fas3220.net.port[netportHealthStatus, "{#NODE}", "{#IFNAME}"] Preprocessing
|
Node {#NODE}: port {#IFNAME} ({#TYPE}): Health degraded reason | The list of reasons why the port is marked as degraded. |
SNMP agent | fas3220.net.port[netportDegradedReason, "{#NODE}", "{#IFNAME}"] Preprocessing
|
Trigger prototypes for Network ports discovery
Name | Description | Expression | Severity | Dependencies and additional info |
---|---|---|---|---|
NetApp FAS3220: Node {#NODE}: port {#IFNAME} ({#TYPE}): High error rate | It recovers when it is below 80% of the |
min(/NetApp FAS3220 by SNMP/fas3220.net.if[if64InErrors, "{#NODE}", "{#IFNAME}"],5m)>{$IF.ERRORS.WARN:"{#IFNAME}"} or min(/NetApp FAS3220 by SNMP/fas3220.net.if[if64OutErrors, "{#NODE}", "{#IFNAME}"],5m)>{$IF.ERRORS.WARN:"{#IFNAME}"} |
Warning | Manual close: Yes |
NetApp FAS3220: Node {#NODE}: port {#IFNAME} ({#TYPE}): Link down | Link state is not UP and the port status is set 'UP' by an administrator. |
last(/NetApp FAS3220 by SNMP/fas3220.net.port[netportLinkState, "{#NODE}", "{#IFNAME}"])<>2 and last(/NetApp FAS3220 by SNMP/fas3220.net.port[netportUpAdmin, "{#NODE}", "{#IFNAME}"])=1 |
Average | Manual close: Yes |
NetApp FAS3220: Node {#NODE}: port {#IFNAME} ({#TYPE}): Port is not healthy | {{ITEM.LASTVALUE2}.regsub("(.*)", \1)} |
last(/NetApp FAS3220 by SNMP/fas3220.net.port[netportHealthStatus, "{#NODE}", "{#IFNAME}"])<>0 and length(last(/NetApp FAS3220 by SNMP/fas3220.net.port[netportDegradedReason, "{#NODE}", "{#IFNAME}"]))>0 |
Info |
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
NetApp FAS3220 by SNMP
Overview
The template to monitor SAN NetApp FAS3220 cluster by Zabbix SNMP agent.
Requirements
Zabbix version: 7.0 and higher.
Tested versions
This template has been tested on:
- NetApp FAS3220, firmware version: 5.3.0
Configuration
Zabbix should be configured according to the instructions in the Templates out of the box section.
Setup
-
Create a host for FAS3220 with cluster management IP as SNMPv2 interface.
-
Link the template to the host.
-
Customize macro values if needed.
Macros used
Name | Description | Default |
---|---|---|
{$IF.UTIL.MAX} | 95 |
|
{$IF.ERRORS.WARN} | ||
{$CPU.UTIL.CRIT} | The critical threshold of the CPU utilization expressed in %. |
90 |
{$FAS3220.FS.NAME.MATCHES} | This macro is used in filesystems discovery. Can be overridden on the host or linked template level. |
.* |
{$FAS3220.FS.NAME.NOT_MATCHES} | This macro is used in filesystems discovery. Can be overridden on the host or linked template level. |
snapshot |
{$FAS3220.FS.TYPE.MATCHES} | This macro is used in filesystems discovery. Can be overridden on the host or linked template level. Value should be integer: 2 - flexibleVolume, 3 - aggregate, 4 - stripedAggregate, 5 - stripedVolume. |
.* |
{$FAS3220.FS.TYPE.NOT_MATCHES} | This macro is used in filesystems discovery. Can be overridden on the host or linked template level. Value should be integer: 2 - flexibleVolume, 3 - aggregate, 4 - stripedAggregate, 5 - stripedVolume. |
CHANGE_IF_NEEDED |
{$FAS3220.NET.PORT.TYPE.MATCHES} | This macro is used in net ports discovery. Can be overridden on the host or linked template level. {#TYPE} is integer. Possible values: physical, if-group, vlan, undef. |
.* |
{$FAS3220.NET.PORT.TYPE.NOT_MATCHES} | This macro is used in net ports discovery. Can be overridden on the host or linked template level. {#TYPE} is integer. Possible values: physical, if-group, vlan, undef. |
CHANGE_IF_NEEDED |
{$FAS3220.NET.PORT.ROLE.MATCHES} | This macro is used in net ports discovery. Can be overridden on the host or linked template level. {#ROLE} is integer. Possible values: 0 - undef 1 - cluster 2 - data 3 - node-mgmt 4 - intercluster 5 - cluster-mgmt |
.* |
{$FAS3220.NET.PORT.ROLE.NOT_MATCHES} | This macro is used in net ports discovery. Can be overridden on the host or linked template level. {#ROLE} is integer. Possible values: 0 - undef 1 - cluster 2 - data 3 - node-mgmt 4 - intercluster 5 - cluster-mgmt |
CHANGE_IF_NEEDED |
{$FAS3220.NET.PORT.NAME.MATCHES} | This macro is used in net ports discovery. Can be overridden on the host or linked template level. |
.* |
{$FAS3220.NET.PORT.NAME.NOT_MATCHES} | This macro is used in net ports discovery. Can be overridden on the host or linked template level. |
CHANGE_IF_NEEDED |
{$FAS3220.FS.PUSED.MAX.CRIT} | Maximum percentage of disk used. Can be used with {#FSNAME} as context. |
90 |
{$FAS3220.FS.AVAIL.MIN.CRIT} | Minimum available space on the disk. Can be used with {#FSNAME} as context. |
10G |
{$FAS3220.FS.TIME} | The time during which disk usage may exceed the threshold. Can be used with {#FSNAME} as context. |
10m |
{$FAS3220.FS.USE.PCT} | Macro define what threshold will be used for disk space trigger: 0 - use Bytes ({$FAS3220.FS.AVAIL.MIN.CRIT}) 1 - use percents ({$FAS3220.FS.PUSED.MAX.CRIT}) Can be used with {#FSNAME} as context. |
1 |
{$SNMP.TIMEOUT} | Time interval for the SNMP availability trigger. |
5m |
{$ICMP_LOSS_WARN} | Warning threshold of ICMP packet loss in %. |
20 |
{$ICMP_RESPONSE_TIME_WARN} | Warning threshold of the average ICMP response time in seconds. |
0.15 |
Items
Name | Description | Type | Key and additional info |
---|---|---|---|
Product version | MIB: NETAPP-MIB Version string for the software running on this platform. |
SNMP agent | fas3220.inventory[productVersion] Preprocessing
|
Product firmware version | Version string for the firmware running on this platform. |
SNMP agent | fas3220.inventory[productFirmwareVersion] Preprocessing
|
Failed disks count | The number of disks that are currently broken. |
SNMP agent | fas3220.disk[diskFailedCount] Preprocessing
|
Failed disks message | If diskFailedCount is non-zero, this is a string describing the failed disk or disks. Each failed disk is described. |
SNMP agent | fas3220.disk[diskFailedMessage] Preprocessing
|
Uptime (network) | MIB: SNMPv2-MIB Time (in hundredths of a second) since the network management portion of the system was last re-initialized. |
SNMP agent | system.net.uptime[sysUpTime.0] Preprocessing
|
Uptime (hardware) | MIB: HOST-RESOURCES-MIB The amount of time since this host was last initialized. Note that this is different from sysUpTime in the SNMPv2-MIB [RFC1907] because sysUpTime is the uptime of the network management portion of the system. |
SNMP agent | system.hw.uptime[hrSystemUptime.0] Preprocessing
|
SNMP traps (fallback) | The item is used to collect all SNMP traps unmatched by other snmptrap items |
SNMP trap | snmptrap.fallback |
System location | MIB: SNMPv2-MIB Physical location of the node (e.g., |
SNMP agent | system.location[sysLocation.0] Preprocessing
|
System contact details | MIB: SNMPv2-MIB The textual identification of the contact person for this managed node, together with information on how to contact this person. If no contact information is known, the value is the zero-length string. |
SNMP agent | system.contact[sysContact.0] Preprocessing
|
System object ID | MIB: SNMPv2-MIB The vendor's authoritative identification of the network management subsystem contained in the entity. This value is allocated within the SMI enterprises subtree (1.3.6.1.4.1) and provides an easy and unambiguous means for determining |
SNMP agent | system.objectid[sysObjectID.0] Preprocessing
|
System name | MIB: SNMPv2-MIB An administratively-assigned name for this managed node.By convention, this is the node's fully-qualified domain name. If the name is unknown, the value is the zero-length string. |
SNMP agent | system.name Preprocessing
|
System description | MIB: SNMPv2-MIB A textual description of the entity. This value should include the full name and version identification of the system's hardware type, software operating-system, and networking software. |
SNMP agent | system.descr[sysDescr.0] Preprocessing
|
SNMP agent availability | Availability of SNMP checks on the host. The value of this item corresponds to availability icons in the host list. Possible values: 0 - not available 1 - available 2 - unknown |
Zabbix internal | zabbix[host,snmp,available] |
ICMP ping | Simple check | icmpping | |
ICMP loss | Simple check | icmppingloss | |
ICMP response time | Simple check | icmppingsec |
Triggers
Name | Description | Expression | Severity | Dependencies and additional info |
---|---|---|---|---|
NetApp FAS3220: Number of failed disks has changed | {{ITEM.LASTVALUE2}.regsub("(.*)", \1)} |
last(/NetApp FAS3220 by SNMP/fas3220.disk[diskFailedCount])>0 and last(/NetApp FAS3220 by SNMP/fas3220.disk[diskFailedMessage],#1)<>last(/NetApp FAS3220 by SNMP/fas3220.disk[diskFailedMessage],#2) |
Warning | |
NetApp FAS3220: Host has been restarted | Uptime is less than 10 minutes. |
(last(/NetApp FAS3220 by SNMP/system.hw.uptime[hrSystemUptime.0])>0 and last(/NetApp FAS3220 by SNMP/system.hw.uptime[hrSystemUptime.0])<10m) or (last(/NetApp FAS3220 by SNMP/system.hw.uptime[hrSystemUptime.0])=0 and last(/NetApp FAS3220 by SNMP/system.net.uptime[sysUpTime.0])<10m) |
Warning | Manual close: Yes Depends on:
|
NetApp FAS3220: System name has changed | The name of the system has changed. Acknowledge to close the problem manually. |
last(/NetApp FAS3220 by SNMP/system.name,#1)<>last(/NetApp FAS3220 by SNMP/system.name,#2) and length(last(/NetApp FAS3220 by SNMP/system.name))>0 |
Info | Manual close: Yes |
NetApp FAS3220: No SNMP data collection | SNMP is not available for polling. Please check device connectivity and SNMP settings. |
max(/NetApp FAS3220 by SNMP/zabbix[host,snmp,available],{$SNMP.TIMEOUT})=0 |
Warning | Depends on:
|
NetApp FAS3220: Unavailable by ICMP ping | Last three attempts returned timeout. Please check device connectivity. |
max(/NetApp FAS3220 by SNMP/icmpping,#3)=0 |
High | |
NetApp FAS3220: High ICMP ping loss | min(/NetApp FAS3220 by SNMP/icmppingloss,5m)>{$ICMP_LOSS_WARN} and min(/NetApp FAS3220 by SNMP/icmppingloss,5m)<100 |
Warning | Depends on:
|
|
NetApp FAS3220: High ICMP ping response time | Average ICMP response time is too high. |
avg(/NetApp FAS3220 by SNMP/icmppingsec,5m)>{$ICMP_RESPONSE_TIME_WARN} |
Warning | Depends on:
|
LLD rule CPU discovery
Name | Description | Type | Key and additional info |
---|---|---|---|
CPU discovery | Discovery of CPU metrics per node |
SNMP agent | fas3220.cpu.discovery |
Item prototypes for CPU discovery
Name | Description | Type | Key and additional info |
---|---|---|---|
Node {#NODE.NAME}: CPU utilization | The average, over the last minute, of the percentage of time that this processor was not idle. |
SNMP agent | fas3220.cpu[cDOTCpuBusyTimePerCent, "{#NODE.NAME}"] |
Trigger prototypes for CPU discovery
Name | Description | Expression | Severity | Dependencies and additional info |
---|---|---|---|---|
NetApp FAS3220: Node {#NODE.NAME}: High CPU utilization | The CPU utilization is too high. The system might be slow to respond. |
min(/NetApp FAS3220 by SNMP/fas3220.cpu[cDOTCpuBusyTimePerCent, "{#NODE.NAME}"],5m)>{$CPU.UTIL.CRIT} |
Warning |
LLD rule Cluster metrics discovery
Name | Description | Type | Key and additional info |
---|---|---|---|
Cluster metrics discovery | Discovery of Cluster metrics per node |
SNMP agent | fas3220.cluster.discovery |
Item prototypes for Cluster metrics discovery
Name | Description | Type | Key and additional info |
---|---|---|---|
Node {#NODE.NAME}: Location | Node Location. Same as sysLocation for a specific node. |
SNMP agent | fas3220.cluster[nodeLocation, "{#NODE.NAME}"] Preprocessing
|
Node {#NODE.NAME}: Model | Node Model. Same as productModel for a specific node. |
SNMP agent | fas3220.cluster[nodeModel, "{#NODE.NAME}"] Preprocessing
|
Node {#NODE.NAME}: Serial number | Node Serial Number. Same as productSerialNum for a specific node. |
SNMP agent | fas3220.cluster[nodeSerialNumber, "{#NODE.NAME}"] Preprocessing
|
Node {#NODE.NAME}: Uptime | Node uptime. Same as sysUpTime for a specific node. |
SNMP agent | fas3220.cluster[nodeUptime, "{#NODE.NAME}"] Preprocessing
|
Node {#NODE.NAME}: Health | Whether or not the node can communicate with the cluster. |
SNMP agent | fas3220.cluster[nodeHealth, "{#NODE.NAME}"] Preprocessing
|
Node {#NODE.NAME}: NVRAM battery status | An indication of the current status of the NVRAM battery or batteries. Batteries which are fully or partially discharged may not fully protect the system during a crash. The end-of-life status values are based on the manufacturer's recommended life for the batteries. Possible values: ok(1), partiallyDischarged(2), fullyDischarged(3), notPresent(4), nearEndOfLife(5), atEndOfLife(6), unknown(7), overCharged(8), fullyCharged(9). |
SNMP agent | fas3220.cluster[nodeNvramBatteryStatus, "{#NODE.NAME}"] Preprocessing
|
Node {#NODE.NAME}: Over-temperature | An indication of whether the hardware is currently operating outside of its recommended temperature range. The hardware will shutdown if the temperature exceeds critical thresholds. |
SNMP agent | fas3220.cluster[nodeEnvOverTemperature, "{#NODE.NAME}"] Preprocessing
|
Node {#NODE.NAME}: Failed FAN count | Count of the number of chassis fans that are not operating within the recommended RPM range. |
SNMP agent | fas3220.cluster[nodeEnvFailedFanCount, "{#NODE.NAME}"] Preprocessing
|
Node {#NODE.NAME}: Failed FAN message | Text message describing current condition of chassis fans. This is useful only if envFailedFanCount is not zero. |
SNMP agent | fas3220.cluster[nodeEnvFailedFanMessage, "{#NODE.NAME}"] Preprocessing
|
Node {#NODE.NAME}: Degraded power supplies count | Count of the number of power supplies that are in degraded mode. |
SNMP agent | fas3220.cluster[nodeEnvFailedPowerSupplyCount, "{#NODE.NAME}"] Preprocessing
|
Node {#NODE.NAME}: Degraded power supplies message | Text message describing the state of any power supplies that are currently degraded. This is useful only if envFailedPowerSupplyCount is not zero. |
SNMP agent | fas3220.cluster[nodeEnvFailedPowerSupplyMessage, "{#NODE.NAME}"] Preprocessing
|
Trigger prototypes for Cluster metrics discovery
Name | Description | Expression | Severity | Dependencies and additional info |
---|---|---|---|---|
NetApp FAS3220: Node {#NODE.NAME}: Host has been restarted | Uptime is less than 10 minutes. |
last(/NetApp FAS3220 by SNMP/fas3220.cluster[nodeUptime, "{#NODE.NAME}"])<10m |
Info | Manual close: Yes |
NetApp FAS3220: Node {#NODE.NAME}: Node can not communicate with the cluster | last(/NetApp FAS3220 by SNMP/fas3220.cluster[nodeHealth, "{#NODE.NAME}"])=0 |
High | Manual close: Yes | |
NetApp FAS3220: Node {#NODE.NAME}: NVRAM battery status is not OK | last(/NetApp FAS3220 by SNMP/fas3220.cluster[nodeNvramBatteryStatus, "{#NODE.NAME}"])<>1 |
Average | Manual close: Yes | |
NetApp FAS3220: Node {#NODE.NAME}: Temperature is over than recommended | The hardware will shutdown if the temperature exceeds critical thresholds. |
last(/NetApp FAS3220 by SNMP/fas3220.cluster[nodeEnvOverTemperature, "{#NODE.NAME}"])=2 |
High | |
NetApp FAS3220: Node {#NODE.NAME}: Failed FAN count is over than zero | {{ITEM.VALUE2}.regsub("(.*)", \1)} |
last(/NetApp FAS3220 by SNMP/fas3220.cluster[nodeEnvFailedFanCount, "{#NODE.NAME}"])>0 and last(/NetApp FAS3220 by SNMP/fas3220.cluster[nodeEnvFailedFanMessage, "{#NODE.NAME}"])=last(/NetApp FAS3220 by SNMP/fas3220.cluster[nodeEnvFailedFanMessage, "{#NODE.NAME}"]) |
High | |
NetApp FAS3220: Node {#NODE.NAME}: Degraded power supplies count is more than zero | {{ITEM.VALUE2}.regsub("(.*)", \1)} |
last(/NetApp FAS3220 by SNMP/fas3220.cluster[nodeEnvFailedPowerSupplyCount, "{#NODE.NAME}"])>0 and last(/NetApp FAS3220 by SNMP/fas3220.cluster[nodeEnvFailedPowerSupplyMessage, "{#NODE.NAME}"])=last(/NetApp FAS3220 by SNMP/fas3220.cluster[nodeEnvFailedPowerSupplyMessage, "{#NODE.NAME}"]) |
Average |
LLD rule HA discovery
Name | Description | Type | Key and additional info |
---|---|---|---|
HA discovery | Discovery of high availability metrics per node |
SNMP agent | fas3220.ha.discovery |
Item prototypes for HA discovery
Name | Description | Type | Key and additional info |
---|---|---|---|
Node {#NODE.NAME}: Cannot takeover cause | The reason node cannot take over it's HA partner {#PARTNER.NAME}. Possible states: ok(1), unknownReason(2), disabledByOperator(3), interconnectOffline(4), disabledByPartner(5), takeoverFailed(6), mailboxIsInDegradedState(7), partnermailboxIsInUninitialisedState(8), mailboxVersionMismatch(9), nvramSizeMismatch(10), kernelVersionMismatch(11), partnerIsInBootingStage(12), diskshelfIsTooHot(13), partnerIsPerformingRevert(14), nodeIsPerformingRevert(15), sametimePartnerIsAlsoTryingToTakeUsOver(16), alreadyInTakenoverMode(17), nvramLogUnsynchronized(18), stateofBackupMailboxIsDoubtful(19). |
SNMP agent | fas3220.ha[haCannotTakeoverCause, "{#NODE.NAME}"] Preprocessing
|
Node {#NODE.NAME}: HA settings | High Availability configuration settings. The value notConfigured(1) indicates that the HA is not licensed. The thisNodeDead(5) setting indicates that this node has been takenover. |
SNMP agent | fas3220.ha[haSettings, "{#NODE.NAME}"] Preprocessing
|
Trigger prototypes for HA discovery
Name | Description | Expression | Severity | Dependencies and additional info |
---|---|---|---|---|
NetApp FAS3220: Node {#NODE.NAME}: Node cannot takeover it's HA partner {#PARTNER.NAME}. Reason: {ITEM.VALUE} | Possible reasons: |
last(/NetApp FAS3220 by SNMP/fas3220.ha[haCannotTakeoverCause, "{#NODE.NAME}"])<>1 |
High | |
NetApp FAS3220: Node {#NODE.NAME}: Node has been taken over | The thisNodeDead(5) setting indicates that this node has been takenover. |
last(/NetApp FAS3220 by SNMP/fas3220.ha[haSettings, "{#NODE.NAME}"])=5 |
High | |
NetApp FAS3220: Node {#NODE.NAME}: HA is not licensed | The value notConfigured(1) indicates that the HA is not licensed. |
last(/NetApp FAS3220 by SNMP/fas3220.ha[haSettings, "{#NODE.NAME}"])=1 |
Average |
LLD rule Filesystems discovery
Name | Description | Type | Key and additional info |
---|---|---|---|
Filesystems discovery | Filesystems discovery with filter. |
SNMP agent | fas3220.fs.discovery |
Item prototypes for Filesystems discovery
Name | Description | Type | Key and additional info |
---|---|---|---|
{#VSERVER}{#FSNAME}: Total space used | The total disk space that is in use on {#FSNAME}. |
SNMP agent | fas3220.fs[df64UsedKBytes, "{#VSERVER}{#FSNAME}"] Preprocessing
|
{#VSERVER}{#FSNAME}: Total space available | The total disk space that is free for use on {#FSNAME}. |
SNMP agent | fas3220.fs[df64AvailKBytes, "{#VSERVER}{#FSNAME}"] Preprocessing
|
{#VSERVER}{#FSNAME}: Total space | The total capacity in bytes for {#FSNAME}. |
SNMP agent | fas3220.fs[df64TotalKBytes, "{#VSERVER}{#FSNAME}"] Preprocessing
|
{#VSERVER}{#FSNAME}: Used space percents | The percentage of disk space currently in use on {#FSNAME}. |
SNMP agent | fas3220.fs[dfPerCentKBytesCapacity, "{#VSERVER}{#FSNAME}"] |
{#VSERVER}{#FSNAME}: Saved by compression percents | Provides the percentage of compression savings in a volume, which is ((compr_saved/used)) * 10(compr_saved + 0). This is only returned for volumes. |
SNMP agent | fas3220.fs[dfCompressSavedPercent, "{#VSERVER}{#FSNAME}"] |
{#VSERVER}{#FSNAME}: Saved by deduplication percents | Provides the percentage of deduplication savings in a volume, which is ((dedup_saved/(dedup_saved + used)) * 100). This is only returned for volumes. |
SNMP agent | fas3220.fs[dfDedupeSavedPercent, "{#VSERVER}{#FSNAME}"] |
Trigger prototypes for Filesystems discovery
Name | Description | Expression | Severity | Dependencies and additional info |
---|---|---|---|---|
NetApp FAS3220: {#VSERVER}{#FSNAME}: Disk space is too low | min(/NetApp FAS3220 by SNMP/fas3220.fs[df64AvailKBytes, "{#VSERVER}{#FSNAME}"],{$FAS3220.FS.TIME:"{#FSNAME}"})<{$FAS3220.FS.AVAIL.MIN.CRIT:"{#FSNAME}"} and {$FAS3220.FS.USE.PCT:"{#FSNAME}"}=0 |
High | ||
NetApp FAS3220: {#VSERVER}{#FSNAME}: Disk space is too low | max(/NetApp FAS3220 by SNMP/fas3220.fs[dfPerCentKBytesCapacity, "{#VSERVER}{#FSNAME}"],{$FAS3220.FS.TIME:"{#FSNAME}"})>{$FAS3220.FS.PUSED.MAX.CRIT:"{#FSNAME}"} and {$FAS3220.FS.USE.PCT:"{#FSNAME}"}=1 |
High |
LLD rule Network ports discovery
Name | Description | Type | Key and additional info |
---|---|---|---|
Network ports discovery | Network interfaces discovery with filter. |
SNMP agent | fas3220.net.discovery Preprocessing
|
Item prototypes for Network ports discovery
Name | Description | Type | Key and additional info |
---|---|---|---|
Node {#NODE}: port {#IFNAME} ({#TYPE}): Up by an administrator | Indicates whether the port status is set 'UP' by an administrator. |
SNMP agent | fas3220.net.port[netportUpAdmin, "{#NODE}", "{#IFNAME}"] Preprocessing
|
Node {#NODE}: port {#IFNAME} ({#TYPE}): Role | Role of the port. A port must have one of the following roles: cluster(1), data(2), mgmt(3), intercluster(4), cluster-mgmt(5) or undef(0). The cluster port is used to communicate to other node(s) in the cluster. The data port services clients' requests. It is where all the file requests come in. The management port is used by administrator to manage resources within a node. The intercluster port is used to communicate to other cluster. The cluster-mgmt port is used to manage resources within the cluster. The undef role is for the port that has not yet been assigned a role. |
SNMP agent | fas3220.net.port[netportRole, "{#NODE}", "{#IFNAME}"] Preprocessing
|
Node {#NODE}: port {#IFNAME} ({#TYPE}): Speed | The speed appears on the port. It can be either undef(0), auto(1), ten Mb/s(2), hundred Mb/s(3), one Gb/s(4), or ten Gb/s(5). |
SNMP agent | fas3220.net.port[netportSpeedOper, "{#NODE}", "{#IFNAME}"] Preprocessing
|
Node {#NODE}: port {#IFNAME} ({#TYPE}): Bits received | The total number of octets received on the interface, including framing characters. |
SNMP agent | fas3220.net.if[if64InOctets, "{#NODE}", "{#IFNAME}"] Preprocessing
|
Node {#NODE}: port {#IFNAME} ({#TYPE}): Bits sent | The total number of octets transmitted out of the interface, including framing characters. |
SNMP agent | fas3220.net.if[if64OutOctets, "{#NODE}", "{#IFNAME}"] Preprocessing
|
Node {#NODE}: port {#IFNAME} ({#TYPE}): Inbound packets with errors | MIB: IF-MIB The number of inbound packets that contained errors preventing them from being deliverable to a higher-layer protocol. |
SNMP agent | fas3220.net.if[if64InErrors, "{#NODE}", "{#IFNAME}"] Preprocessing
|
Node {#NODE}: port {#IFNAME} ({#TYPE}): Outbound packets with errors | MIB: IF-MIB The number of outbound packets that could not be transmitted because of errors. |
SNMP agent | fas3220.net.if[if64OutErrors, "{#NODE}", "{#IFNAME}"] Preprocessing
|
Node {#NODE}: port {#IFNAME} ({#TYPE}): Inbound packets discarded | MIB: IF-MIB The number of inbound packets that were chosen to be discarded even though no errors had been detected to prevent their being deliverable to a higher-layer protocol. One possible reason for discarding such a packet could be to free up buffer space. |
SNMP agent | fas3220.net.if[if64InDiscards, "{#NODE}", "{#IFNAME}"] Preprocessing
|
Node {#NODE}: port {#IFNAME} ({#TYPE}): Outbound packets discarded | MIB: IF-MIB The number of outbound packets that were chosen to be discarded even though no errors had been detected to prevent their being transmitted. One possible reason for discarding such a packet could be to free up buffer space. |
SNMP agent | fas3220.net.if[if64OutDiscards, "{#NODE}", "{#IFNAME}"] Preprocessing
|
Node {#NODE}: port {#IFNAME} ({#TYPE}): State | The link-state of the port. Normally it is either UP(2) or DOWN(3). |
SNMP agent | fas3220.net.port[netportLinkState, "{#NODE}", "{#IFNAME}"] Preprocessing
|
Node {#NODE}: port {#IFNAME} ({#TYPE}): Health | The health status of the port. |
SNMP agent | fas3220.net.port[netportHealthStatus, "{#NODE}", "{#IFNAME}"] Preprocessing
|
Node {#NODE}: port {#IFNAME} ({#TYPE}): Health degraded reason | The list of reasons why the port is marked as degraded. |
SNMP agent | fas3220.net.port[netportDegradedReason, "{#NODE}", "{#IFNAME}"] Preprocessing
|
Trigger prototypes for Network ports discovery
Name | Description | Expression | Severity | Dependencies and additional info |
---|---|---|---|---|
NetApp FAS3220: Node {#NODE}: port {#IFNAME} ({#TYPE}): High error rate | It recovers when it is below 80% of the |
min(/NetApp FAS3220 by SNMP/fas3220.net.if[if64InErrors, "{#NODE}", "{#IFNAME}"],5m)>{$IF.ERRORS.WARN:"{#IFNAME}"} or min(/NetApp FAS3220 by SNMP/fas3220.net.if[if64OutErrors, "{#NODE}", "{#IFNAME}"],5m)>{$IF.ERRORS.WARN:"{#IFNAME}"} |
Warning | Manual close: Yes |
NetApp FAS3220: Node {#NODE}: port {#IFNAME} ({#TYPE}): Link down | Link state is not UP and the port status is set 'UP' by an administrator. |
last(/NetApp FAS3220 by SNMP/fas3220.net.port[netportLinkState, "{#NODE}", "{#IFNAME}"])<>2 and last(/NetApp FAS3220 by SNMP/fas3220.net.port[netportUpAdmin, "{#NODE}", "{#IFNAME}"])=1 |
Average | Manual close: Yes |
NetApp FAS3220: Node {#NODE}: port {#IFNAME} ({#TYPE}): Port is not healthy | {{ITEM.LASTVALUE2}.regsub("(.*)", \1)} |
last(/NetApp FAS3220 by SNMP/fas3220.net.port[netportHealthStatus, "{#NODE}", "{#IFNAME}"])<>0 and length(last(/NetApp FAS3220 by SNMP/fas3220.net.port[netportDegradedReason, "{#NODE}", "{#IFNAME}"]))>0 |
Info |
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
NetApp FAS3220 by SNMP
Overview
The template to monitor SAN NetApp FAS3220 cluster by Zabbix SNMP agent.
Requirements
Zabbix version: 6.4 and higher.
Tested versions
This template has been tested on:
- NetApp FAS3220, firmware version: 5.3.0
Configuration
Zabbix should be configured according to the instructions in the Templates out of the box section.
Setup
-
Create a host for FAS3220 with cluster management IP as SNMPv2 interface.
-
Link the template to the host.
-
Customize macro values if needed.
Macros used
Name | Description | Default |
---|---|---|
{$IF.UTIL.MAX} | 95 |
|
{$IF.ERRORS.WARN} | ||
{$CPU.UTIL.CRIT} | The critical threshold of the CPU utilization expressed in %. |
90 |
{$FAS3220.FS.NAME.MATCHES} | This macro is used in filesystems discovery. Can be overridden on the host or linked template level. |
.* |
{$FAS3220.FS.NAME.NOT_MATCHES} | This macro is used in filesystems discovery. Can be overridden on the host or linked template level. |
snapshot |
{$FAS3220.FS.TYPE.MATCHES} | This macro is used in filesystems discovery. Can be overridden on the host or linked template level. Value should be integer: 2 - flexibleVolume, 3 - aggregate, 4 - stripedAggregate, 5 - stripedVolume. |
.* |
{$FAS3220.FS.TYPE.NOT_MATCHES} | This macro is used in filesystems discovery. Can be overridden on the host or linked template level. Value should be integer: 2 - flexibleVolume, 3 - aggregate, 4 - stripedAggregate, 5 - stripedVolume. |
CHANGE_IF_NEEDED |
{$FAS3220.NET.PORT.TYPE.MATCHES} | This macro is used in net ports discovery. Can be overridden on the host or linked template level. {#TYPE} is integer. Possible values: physical, if-group, vlan, undef. |
.* |
{$FAS3220.NET.PORT.TYPE.NOT_MATCHES} | This macro is used in net ports discovery. Can be overridden on the host or linked template level. {#TYPE} is integer. Possible values: physical, if-group, vlan, undef. |
CHANGE_IF_NEEDED |
{$FAS3220.NET.PORT.ROLE.MATCHES} | This macro is used in net ports discovery. Can be overridden on the host or linked template level. {#ROLE} is integer. Possible values: 0 - undef 1 - cluster 2 - data 3 - node-mgmt 4 - intercluster 5 - cluster-mgmt |
.* |
{$FAS3220.NET.PORT.ROLE.NOT_MATCHES} | This macro is used in net ports discovery. Can be overridden on the host or linked template level. {#ROLE} is integer. Possible values: 0 - undef 1 - cluster 2 - data 3 - node-mgmt 4 - intercluster 5 - cluster-mgmt |
CHANGE_IF_NEEDED |
{$FAS3220.NET.PORT.NAME.MATCHES} | This macro is used in net ports discovery. Can be overridden on the host or linked template level. |
.* |
{$FAS3220.NET.PORT.NAME.NOT_MATCHES} | This macro is used in net ports discovery. Can be overridden on the host or linked template level. |
CHANGE_IF_NEEDED |
{$FAS3220.FS.PUSED.MAX.CRIT} | Maximum percentage of disk used. Can be used with {#FSNAME} as context. |
90 |
{$FAS3220.FS.AVAIL.MIN.CRIT} | Minimum available space on the disk. Can be used with {#FSNAME} as context. |
10G |
{$FAS3220.FS.TIME} | The time during which disk usage may exceed the threshold. Can be used with {#FSNAME} as context. |
10m |
{$FAS3220.FS.USE.PCT} | Macro define what threshold will be used for disk space trigger: 0 - use Bytes ({$FAS3220.FS.AVAIL.MIN.CRIT}) 1 - use percents ({$FAS3220.FS.PUSED.MAX.CRIT}) Can be used with {#FSNAME} as context. |
1 |
{$SNMP.TIMEOUT} | 5m |
|
{$ICMP_LOSS_WARN} | 20 |
|
{$ICMP_RESPONSE_TIME_WARN} | 0.15 |
Items
Name | Description | Type | Key and additional info |
---|---|---|---|
NetApp FAS3220: Product version | MIB: NETAPP-MIB Version string for the software running on this platform. |
SNMP agent | fas3220.inventory[productVersion] Preprocessing
|
NetApp FAS3220: Product firmware version | Version string for the firmware running on this platform. |
SNMP agent | fas3220.inventory[productFirmwareVersion] Preprocessing
|
NetApp FAS3220: Failed disks count | The number of disks that are currently broken. |
SNMP agent | fas3220.disk[diskFailedCount] Preprocessing
|
NetApp FAS3220: Failed disks message | If diskFailedCount is non-zero, this is a string describing the failed disk or disks. Each failed disk is described. |
SNMP agent | fas3220.disk[diskFailedMessage] Preprocessing
|
NetApp FAS3220: Uptime (network) | MIB: SNMPv2-MIB The time (in hundredths of a second) since the network management portion of the system was last re-initialized. |
SNMP agent | system.net.uptime[sysUpTime.0] Preprocessing
|
NetApp FAS3220: Uptime (hardware) | MIB: HOST-RESOURCES-MIB The amount of time since this host was last initialized. Note that this is different from sysUpTime in the SNMPv2-MIB [RFC1907] because sysUpTime is the uptime of the network management portion of the system. |
SNMP agent | system.hw.uptime[hrSystemUptime.0] Preprocessing
|
NetApp FAS3220: SNMP traps (fallback) | The item is used to collect all SNMP traps unmatched by other snmptrap items |
SNMP trap | snmptrap.fallback |
NetApp FAS3220: System location | MIB: SNMPv2-MIB The physical location of this node (e.g., `telephone closet, 3rd floor'). If the location is unknown, the value is the zero-length string. |
SNMP agent | system.location[sysLocation.0] Preprocessing
|
NetApp FAS3220: System contact details | MIB: SNMPv2-MIB The textual identification of the contact person for this managed node, together with information on how to contact this person. If no contact information is known, the value is the zero-length string. |
SNMP agent | system.contact[sysContact.0] Preprocessing
|
NetApp FAS3220: System object ID | MIB: SNMPv2-MIB The vendor's authoritative identification of the network management subsystem contained in the entity. This value is allocated within the SMI enterprises subtree (1.3.6.1.4.1) and provides an easy and unambiguous means for determining |
SNMP agent | system.objectid[sysObjectID.0] Preprocessing
|
NetApp FAS3220: System name | MIB: SNMPv2-MIB An administratively-assigned name for this managed node.By convention, this is the node's fully-qualified domain name. If the name is unknown, the value is the zero-length string. |
SNMP agent | system.name Preprocessing
|
NetApp FAS3220: System description | MIB: SNMPv2-MIB A textual description of the entity. This value should include the full name and version identification of the system's hardware type, software operating-system, and networking software. |
SNMP agent | system.descr[sysDescr.0] Preprocessing
|
NetApp FAS3220: SNMP agent availability | Availability of SNMP checks on the host. The value of this item corresponds to availability icons in the host list. Possible value: 0 - not available 1 - available 2 - unknown |
Zabbix internal | zabbix[host,snmp,available] |
NetApp FAS3220: ICMP ping | Simple check | icmpping | |
NetApp FAS3220: ICMP loss | Simple check | icmppingloss | |
NetApp FAS3220: ICMP response time | Simple check | icmppingsec |
Triggers
Name | Description | Expression | Severity | Dependencies and additional info |
---|---|---|---|---|
NetApp FAS3220: Number of failed disks has changed | {{ITEM.LASTVALUE2}.regsub("(.*)", \1)} |
last(/NetApp FAS3220 by SNMP/fas3220.disk[diskFailedCount])>0 and last(/NetApp FAS3220 by SNMP/fas3220.disk[diskFailedMessage],#1)<>last(/NetApp FAS3220 by SNMP/fas3220.disk[diskFailedMessage],#2) |
Warning | |
NetApp FAS3220: Host has been restarted | Uptime is less than 10 minutes. |
(last(/NetApp FAS3220 by SNMP/system.hw.uptime[hrSystemUptime.0])>0 and last(/NetApp FAS3220 by SNMP/system.hw.uptime[hrSystemUptime.0])<10m) or (last(/NetApp FAS3220 by SNMP/system.hw.uptime[hrSystemUptime.0])=0 and last(/NetApp FAS3220 by SNMP/system.net.uptime[sysUpTime.0])<10m) |
Warning | Manual close: Yes Depends on:
|
NetApp FAS3220: System name has changed | The name of the system has changed. Acknowledge to close the problem manually. |
last(/NetApp FAS3220 by SNMP/system.name,#1)<>last(/NetApp FAS3220 by SNMP/system.name,#2) and length(last(/NetApp FAS3220 by SNMP/system.name))>0 |
Info | Manual close: Yes |
NetApp FAS3220: No SNMP data collection | SNMP is not available for polling. Please check device connectivity and SNMP settings. |
max(/NetApp FAS3220 by SNMP/zabbix[host,snmp,available],{$SNMP.TIMEOUT})=0 |
Warning | Depends on:
|
NetApp FAS3220: Unavailable by ICMP ping | Last three attempts returned timeout. Please check device connectivity. |
max(/NetApp FAS3220 by SNMP/icmpping,#3)=0 |
High | |
NetApp FAS3220: High ICMP ping loss | min(/NetApp FAS3220 by SNMP/icmppingloss,5m)>{$ICMP_LOSS_WARN} and min(/NetApp FAS3220 by SNMP/icmppingloss,5m)<100 |
Warning | Depends on:
|
|
NetApp FAS3220: High ICMP ping response time | avg(/NetApp FAS3220 by SNMP/icmppingsec,5m)>{$ICMP_RESPONSE_TIME_WARN} |
Warning | Depends on:
|
LLD rule CPU discovery
Name | Description | Type | Key and additional info |
---|---|---|---|
CPU discovery | Discovery of CPU metrics per node |
SNMP agent | fas3220.cpu.discovery |
Item prototypes for CPU discovery
Name | Description | Type | Key and additional info |
---|---|---|---|
Node {#NODE.NAME}: CPU utilization | The average, over the last minute, of the percentage of time that this processor was not idle. |
SNMP agent | fas3220.cpu[cDOTCpuBusyTimePerCent, "{#NODE.NAME}"] |
Trigger prototypes for CPU discovery
Name | Description | Expression | Severity | Dependencies and additional info |
---|---|---|---|---|
Node {#NODE.NAME}: High CPU utilization | The CPU utilization is too high. The system might be slow to respond. |
min(/NetApp FAS3220 by SNMP/fas3220.cpu[cDOTCpuBusyTimePerCent, "{#NODE.NAME}"],5m)>{$CPU.UTIL.CRIT} |
Warning |
LLD rule Cluster metrics discovery
Name | Description | Type | Key and additional info |
---|---|---|---|
Cluster metrics discovery | Discovery of Cluster metrics per node |
SNMP agent | fas3220.cluster.discovery |
Item prototypes for Cluster metrics discovery
Name | Description | Type | Key and additional info |
---|---|---|---|
Node {#NODE.NAME}: Location | Node Location. Same as sysLocation for a specific node. |
SNMP agent | fas3220.cluster[nodeLocation, "{#NODE.NAME}"] Preprocessing
|
Node {#NODE.NAME}: Model | Node Model. Same as productModel for a specific node. |
SNMP agent | fas3220.cluster[nodeModel, "{#NODE.NAME}"] Preprocessing
|
Node {#NODE.NAME}: Serial number | Node Serial Number. Same as productSerialNum for a specific node. |
SNMP agent | fas3220.cluster[nodeSerialNumber, "{#NODE.NAME}"] Preprocessing
|
Node {#NODE.NAME}: Uptime | Node uptime. Same as sysUpTime for a specific node. |
SNMP agent | fas3220.cluster[nodeUptime, "{#NODE.NAME}"] Preprocessing
|
Node {#NODE.NAME}: Health | Whether or not the node can communicate with the cluster. |
SNMP agent | fas3220.cluster[nodeHealth, "{#NODE.NAME}"] Preprocessing
|
Node {#NODE.NAME}: NVRAM battery status | An indication of the current status of the NVRAM battery or batteries. Batteries which are fully or partially discharged may not fully protect the system during a crash. The end-of-life status values are based on the manufacturer's recommended life for the batteries. Possible values: ok(1), partiallyDischarged(2), fullyDischarged(3), notPresent(4), nearEndOfLife(5), atEndOfLife(6), unknown(7), overCharged(8), fullyCharged(9). |
SNMP agent | fas3220.cluster[nodeNvramBatteryStatus, "{#NODE.NAME}"] Preprocessing
|
Node {#NODE.NAME}: Over-temperature | An indication of whether the hardware is currently operating outside of its recommended temperature range. The hardware will shutdown if the temperature exceeds critical thresholds. |
SNMP agent | fas3220.cluster[nodeEnvOverTemperature, "{#NODE.NAME}"] Preprocessing
|
Node {#NODE.NAME}: Failed FAN count | Count of the number of chassis fans that are not operating within the recommended RPM range. |
SNMP agent | fas3220.cluster[nodeEnvFailedFanCount, "{#NODE.NAME}"] Preprocessing
|
Node {#NODE.NAME}: Failed FAN message | Text message describing current condition of chassis fans. This is useful only if envFailedFanCount is not zero. |
SNMP agent | fas3220.cluster[nodeEnvFailedFanMessage, "{#NODE.NAME}"] Preprocessing
|
Node {#NODE.NAME}: Degraded power supplies count | Count of the number of power supplies that are in degraded mode. |
SNMP agent | fas3220.cluster[nodeEnvFailedPowerSupplyCount, "{#NODE.NAME}"] Preprocessing
|
Node {#NODE.NAME}: Degraded power supplies message | Text message describing the state of any power supplies that are currently degraded. This is useful only if envFailedPowerSupplyCount is not zero. |
SNMP agent | fas3220.cluster[nodeEnvFailedPowerSupplyMessage, "{#NODE.NAME}"] Preprocessing
|
Trigger prototypes for Cluster metrics discovery
Name | Description | Expression | Severity | Dependencies and additional info |
---|---|---|---|---|
Node {#NODE.NAME}: Host has been restarted | Uptime is less than 10 minutes. |
last(/NetApp FAS3220 by SNMP/fas3220.cluster[nodeUptime, "{#NODE.NAME}"])<10m |
Info | Manual close: Yes |
Node {#NODE.NAME}: Node can not communicate with the cluster | last(/NetApp FAS3220 by SNMP/fas3220.cluster[nodeHealth, "{#NODE.NAME}"])=0 |
High | Manual close: Yes | |
Node {#NODE.NAME}: NVRAM battery status is not OK | last(/NetApp FAS3220 by SNMP/fas3220.cluster[nodeNvramBatteryStatus, "{#NODE.NAME}"])<>1 |
Average | Manual close: Yes | |
Node {#NODE.NAME}: Temperature is over than recommended | The hardware will shutdown if the temperature exceeds critical thresholds. |
last(/NetApp FAS3220 by SNMP/fas3220.cluster[nodeEnvOverTemperature, "{#NODE.NAME}"])=2 |
High | |
Node {#NODE.NAME}: Failed FAN count is over than zero | {{ITEM.VALUE2}.regsub("(.*)", \1)} |
last(/NetApp FAS3220 by SNMP/fas3220.cluster[nodeEnvFailedFanCount, "{#NODE.NAME}"])>0 and last(/NetApp FAS3220 by SNMP/fas3220.cluster[nodeEnvFailedFanMessage, "{#NODE.NAME}"])=last(/NetApp FAS3220 by SNMP/fas3220.cluster[nodeEnvFailedFanMessage, "{#NODE.NAME}"]) |
High | |
Node {#NODE.NAME}: Degraded power supplies count is more than zero | {{ITEM.VALUE2}.regsub("(.*)", \1)} |
last(/NetApp FAS3220 by SNMP/fas3220.cluster[nodeEnvFailedPowerSupplyCount, "{#NODE.NAME}"])>0 and last(/NetApp FAS3220 by SNMP/fas3220.cluster[nodeEnvFailedPowerSupplyMessage, "{#NODE.NAME}"])=last(/NetApp FAS3220 by SNMP/fas3220.cluster[nodeEnvFailedPowerSupplyMessage, "{#NODE.NAME}"]) |
Average |
LLD rule HA discovery
Name | Description | Type | Key and additional info |
---|---|---|---|
HA discovery | Discovery of high availability metrics per node |
SNMP agent | fas3220.ha.discovery |
Item prototypes for HA discovery
Name | Description | Type | Key and additional info |
---|---|---|---|
Node {#NODE.NAME}: Cannot takeover cause | The reason node cannot take over it's HA partner {#PARTNER.NAME}. Possible states: ok(1), unknownReason(2), disabledByOperator(3), interconnectOffline(4), disabledByPartner(5), takeoverFailed(6), mailboxIsInDegradedState(7), partnermailboxIsInUninitialisedState(8), mailboxVersionMismatch(9), nvramSizeMismatch(10), kernelVersionMismatch(11), partnerIsInBootingStage(12), diskshelfIsTooHot(13), partnerIsPerformingRevert(14), nodeIsPerformingRevert(15), sametimePartnerIsAlsoTryingToTakeUsOver(16), alreadyInTakenoverMode(17), nvramLogUnsynchronized(18), stateofBackupMailboxIsDoubtful(19). |
SNMP agent | fas3220.ha[haCannotTakeoverCause, "{#NODE.NAME}"] Preprocessing
|
Node {#NODE.NAME}: HA settings | High Availability configuration settings. The value notConfigured(1) indicates that the HA is not licensed. The thisNodeDead(5) setting indicates that this node has been takenover. |
SNMP agent | fas3220.ha[haSettings, "{#NODE.NAME}"] Preprocessing
|
Trigger prototypes for HA discovery
Name | Description | Expression | Severity | Dependencies and additional info |
---|---|---|---|---|
Node {#NODE.NAME}: Node cannot takeover it's HA partner {#PARTNER.NAME}. Reason: {ITEM.VALUE} | Possible reasons: |
last(/NetApp FAS3220 by SNMP/fas3220.ha[haCannotTakeoverCause, "{#NODE.NAME}"])<>1 |
High | |
Node {#NODE.NAME}: Node has been taken over | The thisNodeDead(5) setting indicates that this node has been takenover. |
last(/NetApp FAS3220 by SNMP/fas3220.ha[haSettings, "{#NODE.NAME}"])=5 |
High | |
Node {#NODE.NAME}: HA is not licensed | The value notConfigured(1) indicates that the HA is not licensed. |
last(/NetApp FAS3220 by SNMP/fas3220.ha[haSettings, "{#NODE.NAME}"])=1 |
Average |
LLD rule Filesystems discovery
Name | Description | Type | Key and additional info |
---|---|---|---|
Filesystems discovery | Filesystems discovery with filter. |
SNMP agent | fas3220.fs.discovery |
Item prototypes for Filesystems discovery
Name | Description | Type | Key and additional info |
---|---|---|---|
{#VSERVER}{#FSNAME}: Total space used | The total disk space that is in use on {#FSNAME}. |
SNMP agent | fas3220.fs[df64UsedKBytes, "{#VSERVER}{#FSNAME}"] Preprocessing
|
{#VSERVER}{#FSNAME}: Total space available | The total disk space that is free for use on {#FSNAME}. |
SNMP agent | fas3220.fs[df64AvailKBytes, "{#VSERVER}{#FSNAME}"] Preprocessing
|
{#VSERVER}{#FSNAME}: Total space | The total capacity in bytes for {#FSNAME}. |
SNMP agent | fas3220.fs[df64TotalKBytes, "{#VSERVER}{#FSNAME}"] Preprocessing
|
{#VSERVER}{#FSNAME}: Used space percents | The percentage of disk space currently in use on {#FSNAME}. |
SNMP agent | fas3220.fs[dfPerCentKBytesCapacity, "{#VSERVER}{#FSNAME}"] |
{#VSERVER}{#FSNAME}: Saved by compression percents | Provides the percentage of compression savings in a volume, which is ((compr_saved/used)) * 10(compr_saved + 0). This is only returned for volumes. |
SNMP agent | fas3220.fs[dfCompressSavedPercent, "{#VSERVER}{#FSNAME}"] |
{#VSERVER}{#FSNAME}: Saved by deduplication percents | Provides the percentage of deduplication savings in a volume, which is ((dedup_saved/(dedup_saved + used)) * 100). This is only returned for volumes. |
SNMP agent | fas3220.fs[dfDedupeSavedPercent, "{#VSERVER}{#FSNAME}"] |
Trigger prototypes for Filesystems discovery
Name | Description | Expression | Severity | Dependencies and additional info |
---|---|---|---|---|
{#VSERVER}{#FSNAME}: Disk space is too low | min(/NetApp FAS3220 by SNMP/fas3220.fs[df64AvailKBytes, "{#VSERVER}{#FSNAME}"],{$FAS3220.FS.TIME:"{#FSNAME}"})<{$FAS3220.FS.AVAIL.MIN.CRIT:"{#FSNAME}"} and {$FAS3220.FS.USE.PCT:"{#FSNAME}"}=0 |
High | ||
{#VSERVER}{#FSNAME}: Disk space is too low | max(/NetApp FAS3220 by SNMP/fas3220.fs[dfPerCentKBytesCapacity, "{#VSERVER}{#FSNAME}"],{$FAS3220.FS.TIME:"{#FSNAME}"})>{$FAS3220.FS.PUSED.MAX.CRIT:"{#FSNAME}"} and {$FAS3220.FS.USE.PCT:"{#FSNAME}"}=1 |
High |
LLD rule Network ports discovery
Name | Description | Type | Key and additional info |
---|---|---|---|
Network ports discovery | Network interfaces discovery with filter. |
SNMP agent | fas3220.net.discovery Preprocessing
|
Item prototypes for Network ports discovery
Name | Description | Type | Key and additional info |
---|---|---|---|
Node {#NODE}: port {#IFNAME} ({#TYPE}): Up by an administrator | Indicates whether the port status is set 'UP' by an administrator. |
SNMP agent | fas3220.net.port[netportUpAdmin, "{#NODE}", "{#IFNAME}"] Preprocessing
|
Node {#NODE}: port {#IFNAME} ({#TYPE}): Role | Role of the port. A port must have one of the following roles: cluster(1), data(2), mgmt(3), intercluster(4), cluster-mgmt(5) or undef(0). The cluster port is used to communicate to other node(s) in the cluster. The data port services clients' requests. It is where all the file requests come in. The management port is used by administrator to manage resources within a node. The intercluster port is used to communicate to other cluster. The cluster-mgmt port is used to manage resources within the cluster. The undef role is for the port that has not yet been assigned a role. |
SNMP agent | fas3220.net.port[netportRole, "{#NODE}", "{#IFNAME}"] Preprocessing
|
Node {#NODE}: port {#IFNAME} ({#TYPE}): Speed | The speed appears on the port. It can be either undef(0), auto(1), ten Mb/s(2), hundred Mb/s(3), one Gb/s(4), or ten Gb/s(5). |
SNMP agent | fas3220.net.port[netportSpeedOper, "{#NODE}", "{#IFNAME}"] Preprocessing
|
Node {#NODE}: port {#IFNAME} ({#TYPE}): Bits received | The total number of octets received on the interface, including framing characters. |
SNMP agent | fas3220.net.if[if64InOctets, "{#NODE}", "{#IFNAME}"] Preprocessing
|
Node {#NODE}: port {#IFNAME} ({#TYPE}): Bits sent | The total number of octets transmitted out of the interface, including framing characters. |
SNMP agent | fas3220.net.if[if64OutOctets, "{#NODE}", "{#IFNAME}"] Preprocessing
|
Node {#NODE}: port {#IFNAME} ({#TYPE}): Inbound packets with errors | MIB: IF-MIB The number of inbound packets that contained errors preventing them from being deliverable to a higher-layer protocol. |
SNMP agent | fas3220.net.if[if64InErrors, "{#NODE}", "{#IFNAME}"] Preprocessing
|
Node {#NODE}: port {#IFNAME} ({#TYPE}): Outbound packets with errors | MIB: IF-MIB The number of outbound packets that could not be transmitted because of errors. |
SNMP agent | fas3220.net.if[if64OutErrors, "{#NODE}", "{#IFNAME}"] Preprocessing
|
Node {#NODE}: port {#IFNAME} ({#TYPE}): Inbound packets discarded | MIB: IF-MIB The number of inbound packets that were chosen to be discarded even though no errors had been detected to prevent their being deliverable to a higher-layer protocol. One possible reason for discarding such a packet could be to free up buffer space. |
SNMP agent | fas3220.net.if[if64InDiscards, "{#NODE}", "{#IFNAME}"] Preprocessing
|
Node {#NODE}: port {#IFNAME} ({#TYPE}): Outbound packets discarded | MIB: IF-MIB The number of outbound packets that were chosen to be discarded even though no errors had been detected to prevent their being transmitted. One possible reason for discarding such a packet could be to free up buffer space. |
SNMP agent | fas3220.net.if[if64OutDiscards, "{#NODE}", "{#IFNAME}"] Preprocessing
|
Node {#NODE}: port {#IFNAME} ({#TYPE}): State | The link-state of the port. Normally it is either UP(2) or DOWN(3). |
SNMP agent | fas3220.net.port[netportLinkState, "{#NODE}", "{#IFNAME}"] Preprocessing
|
Node {#NODE}: port {#IFNAME} ({#TYPE}): Health | The health status of the port. |
SNMP agent | fas3220.net.port[netportHealthStatus, "{#NODE}", "{#IFNAME}"] Preprocessing
|
Node {#NODE}: port {#IFNAME} ({#TYPE}): Health degraded reason | The list of reasons why the port is marked as degraded. |
SNMP agent | fas3220.net.port[netportDegradedReason, "{#NODE}", "{#IFNAME}"] Preprocessing
|
Trigger prototypes for Network ports discovery
Name | Description | Expression | Severity | Dependencies and additional info |
---|---|---|---|---|
Node {#NODE}: port {#IFNAME} ({#TYPE}): High error rate | It recovers when it is below 80% of the |
min(/NetApp FAS3220 by SNMP/fas3220.net.if[if64InErrors, "{#NODE}", "{#IFNAME}"],5m)>{$IF.ERRORS.WARN:"{#IFNAME}"} or min(/NetApp FAS3220 by SNMP/fas3220.net.if[if64OutErrors, "{#NODE}", "{#IFNAME}"],5m)>{$IF.ERRORS.WARN:"{#IFNAME}"} |
Warning | Manual close: Yes |
Node {#NODE}: port {#IFNAME} ({#TYPE}): Link down | Link state is not UP and the port status is set 'UP' by an administrator. |
last(/NetApp FAS3220 by SNMP/fas3220.net.port[netportLinkState, "{#NODE}", "{#IFNAME}"])<>2 and last(/NetApp FAS3220 by SNMP/fas3220.net.port[netportUpAdmin, "{#NODE}", "{#IFNAME}"])=1 |
Average | Manual close: Yes |
Node {#NODE}: port {#IFNAME} ({#TYPE}): Port is not healthy | {{ITEM.LASTVALUE2}.regsub("(.*)", \1)} |
last(/NetApp FAS3220 by SNMP/fas3220.net.port[netportHealthStatus, "{#NODE}", "{#IFNAME}"])<>0 and length(last(/NetApp FAS3220 by SNMP/fas3220.net.port[netportDegradedReason, "{#NODE}", "{#IFNAME}"]))>0 |
Info |
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
NetApp FAS3220 by SNMP
Overview
For Zabbix version: 6.2 and higher. The template to monitor SAN NetApp FAS3220 cluster by Zabbix SNMP agent.
This template was tested on:
- NetApp FAS3220, firmware version: 5.3.0
Setup
See Zabbix template operation for basic instructions.
1. Create a host for FAS3220 with cluster management IP as SNMPv2 interface.
2. Link the template to the host.
3. Customize macro values if needed.
Zabbix configuration
No specific Zabbix configuration is required.
Macros used
Name | Description | Default |
---|---|---|
{$CPU.UTIL.CRIT} | The critical threshold of the CPU utilization in %. |
90 |
{$FAS3220.FS.AVAIL.MIN.CRIT} | Minimum available space on the disk. Can be used with {#FSNAME} as context. |
10G |
{$FAS3220.FS.NAME.MATCHES} | This macro is used in filesystems discovery. Can be overridden on the host or linked template level. |
.* |
{$FAS3220.FS.NAME.NOT_MATCHES} | This macro is used in filesystems discovery. Can be overridden on the host or linked template level. |
snapshot |
{$FAS3220.FS.PUSED.MAX.CRIT} | Maximum percentage of disk used. Can be used with {#FSNAME} as context. |
90 |
{$FAS3220.FS.TIME} | The time during which disk usage may exceed the threshold. Can be used with {#FSNAME} as context. |
10m |
{$FAS3220.FS.TYPE.MATCHES} | This macro is used in filesystems discovery. Can be overridden on the host or linked template level. Value should be integer: 2 - flexibleVolume, 3 - aggregate, 4 - stripedAggregate, 5 - stripedVolume. |
.* |
{$FAS3220.FS.TYPE.NOT_MATCHES} | This macro is used in filesystems discovery. Can be overridden on the host or linked template level. Value should be integer: 2 - flexibleVolume, 3 - aggregate, 4 - stripedAggregate, 5 - stripedVolume. |
CHANGE_IF_NEEDED |
{$FAS3220.FS.USE.PCT} | Macro define what threshold will be used for disk space trigger: 0 - use Bytes ({$FAS3220.FS.AVAIL.MIN.CRIT}) 1 - use percents ({$FAS3220.FS.PUSED.MAX.CRIT}) Can be used with {#FSNAME} as context. |
1 |
{$FAS3220.NET.PORT.NAME.MATCHES} | This macro is used in net ports discovery. Can be overridden on the host or linked template level. |
.* |
{$FAS3220.NET.PORT.NAME.NOT_MATCHES} | This macro is used in net ports discovery. Can be overridden on the host or linked template level. |
CHANGE_IF_NEEDED |
{$FAS3220.NET.PORT.ROLE.MATCHES} | This macro is used in net ports discovery. Can be overridden on the host or linked template level. {#ROLE} is integer. Possible values: 0 - undef 1 - cluster 2 - data 3 - node-mgmt 4 - intercluster 5 - cluster-mgmt |
.* |
{$FAS3220.NET.PORT.ROLE.NOT_MATCHES} | This macro is used in net ports discovery. Can be overridden on the host or linked template level. {#ROLE} is integer. Possible values: 0 - undef 1 - cluster 2 - data 3 - node-mgmt 4 - intercluster 5 - cluster-mgmt |
CHANGE_IF_NEEDED |
{$FAS3220.NET.PORT.TYPE.MATCHES} | This macro is used in net ports discovery. Can be overridden on the host or linked template level. {#TYPE} is integer. Possible values: physical, if-group, vlan, undef. |
.* |
{$FAS3220.NET.PORT.TYPE.NOT_MATCHES} | This macro is used in net ports discovery. Can be overridden on the host or linked template level. {#TYPE} is integer. Possible values: physical, if-group, vlan, undef. |
CHANGE_IF_NEEDED |
{$ICMP_LOSS_WARN} | - |
20 |
{$ICMP_RESPONSE_TIME_WARN} | - |
0.15 |
{$IF.ERRORS.WARN} | - |
`` |
{$IF.UTIL.MAX} | - |
95 |
{$SNMP.TIMEOUT} | - |
5m |
Template links
There are no template links in this template.
Discovery rules
Name | Description | Type | Key and additional info |
---|---|---|---|
Cluster metrics discovery | Discovery of Cluster metrics per node |
SNMP | fas3220.cluster.discovery |
CPU discovery | Discovery of CPU metrics per node |
SNMP | fas3220.cpu.discovery |
Filesystems discovery | Filesystems discovery with filter. |
SNMP | fas3220.fs.discovery Filter: AND- {#FSTYPE} MATCHES_REGEX - {#FSTYPE} NOT_MATCHES_REGEX - {#FSNAME} MATCHES_REGEX - {#FSNAME} NOT_MATCHES_REGEX Overrides: Do not discover aggregate metrics |
HA discovery | Discovery of high availability metrics per node |
SNMP | fas3220.ha.discovery |
Network ports discovery | Network interfaces discovery with filter. |
SNMP | fas3220.net.discovery Preprocessing: - JAVASCRIPT: Filter: AND- {#TYPE} MATCHES_REGEX - {#TYPE} NOT_MATCHES_REGEX - {#ROLE} MATCHES_REGEX - {#TYPE} NOT_MATCHES_REGEX - {#IFNAME} MATCHES_REGEX - {#IFNAME} NOT_MATCHES_REGEX |
Items collected
Group | Name | Description | Type | Key and additional info |
---|---|---|---|---|
CPU | Node {#NODE.NAME}: CPU utilization | The average, over the last minute, of the percentage of time that this processor was not idle. |
SNMP | fas3220.cpu[cDOTCpuBusyTimePerCent, "{#NODE.NAME}"] |
General | SNMP traps (fallback) | The item is used to collect all SNMP traps unmatched by other snmptrap items |
SNMP_TRAP | snmptrap.fallback |
General | System location | MIB: SNMPv2-MIB The physical location of this node (e.g., `telephone closet, 3rd floor'). If the location is unknown, the value is the zero-length string. |
SNMP | system.location[sysLocation.0] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
General | System contact details | MIB: SNMPv2-MIB The textual identification of the contact person for this managed node, together with information on how to contact this person. If no contact information is known, the value is the zero-length string. |
SNMP | system.contact[sysContact.0] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
General | System object ID | MIB: SNMPv2-MIB The vendor's authoritative identification of the network management subsystem contained in the entity. This value is allocated within the SMI enterprises subtree (1.3.6.1.4.1) and provides an easy and unambiguous means for determining |
SNMP | system.objectid[sysObjectID.0] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
General | System name | MIB: SNMPv2-MIB An administratively-assigned name for this managed node.By convention, this is the node's fully-qualified domain name. If the name is unknown, the value is the zero-length string. |
SNMP | system.name Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
General | System description | MIB: SNMPv2-MIB A textual description of the entity. This value should include the full name and version identification of the system's hardware type, software operating-system, and networking software. |
SNMP | system.descr[sysDescr.0] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
NetApp FAS3220 | NetApp FAS3220: Product version | MIB: NETAPP-MIB Version string for the software running on this platform. |
SNMP | fas3220.inventory[productVersion] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
NetApp FAS3220 | NetApp FAS3220: Product firmware version | Version string for the firmware running on this platform. |
SNMP | fas3220.inventory[productFirmwareVersion] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
NetApp FAS3220 | NetApp FAS3220: Failed disks count | The number of disks that are currently broken. |
SNMP | fas3220.disk[diskFailedCount] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
NetApp FAS3220 | NetApp FAS3220: Failed disks message | If diskFailedCount is non-zero, this is a string describing the failed disk or disks. Each failed disk is described. |
SNMP | fas3220.disk[diskFailedMessage] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
NetApp FAS3220 | Node {#NODE.NAME}: Location | Node Location. Same as sysLocation for a specific node. |
SNMP | fas3220.cluster[nodeLocation, "{#NODE.NAME}"] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
NetApp FAS3220 | Node {#NODE.NAME}: Model | Node Model. Same as productModel for a specific node. |
SNMP | fas3220.cluster[nodeModel, "{#NODE.NAME}"] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
NetApp FAS3220 | Node {#NODE.NAME}: Serial number | Node Serial Number. Same as productSerialNum for a specific node. |
SNMP | fas3220.cluster[nodeSerialNumber, "{#NODE.NAME}"] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
NetApp FAS3220 | Node {#NODE.NAME}: Uptime | Node uptime. Same as sysUpTime for a specific node. |
SNMP | fas3220.cluster[nodeUptime, "{#NODE.NAME}"] Preprocessing: - MULTIPLIER: |
NetApp FAS3220 | Node {#NODE.NAME}: Health | Whether or not the node can communicate with the cluster. |
SNMP | fas3220.cluster[nodeHealth, "{#NODE.NAME}"] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
NetApp FAS3220 | Node {#NODE.NAME}: NVRAM battery status | An indication of the current status of the NVRAM battery or batteries. Batteries which are fully or partially discharged may not fully protect the system during a crash. The end-of-life status values are based on the manufacturer's recommended life for the batteries. Possible values: ok(1), partiallyDischarged(2), fullyDischarged(3), notPresent(4), nearEndOfLife(5), atEndOfLife(6), unknown(7), overCharged(8), fullyCharged(9). |
SNMP | fas3220.cluster[nodeNvramBatteryStatus, "{#NODE.NAME}"] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
NetApp FAS3220 | Node {#NODE.NAME}: Over-temperature | An indication of whether the hardware is currently operating outside of its recommended temperature range. The hardware will shutdown if the temperature exceeds critical thresholds. |
SNMP | fas3220.cluster[nodeEnvOverTemperature, "{#NODE.NAME}"] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
NetApp FAS3220 | Node {#NODE.NAME}: Failed FAN count | Count of the number of chassis fans that are not operating within the recommended RPM range. |
SNMP | fas3220.cluster[nodeEnvFailedFanCount, "{#NODE.NAME}"] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
NetApp FAS3220 | Node {#NODE.NAME}: Failed FAN message | Text message describing current condition of chassis fans. This is useful only if envFailedFanCount is not zero. |
SNMP | fas3220.cluster[nodeEnvFailedFanMessage, "{#NODE.NAME}"] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
NetApp FAS3220 | Node {#NODE.NAME}: Degraded power supplies count | Count of the number of power supplies that are in degraded mode. |
SNMP | fas3220.cluster[nodeEnvFailedPowerSupplyCount, "{#NODE.NAME}"] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
NetApp FAS3220 | Node {#NODE.NAME}: Degraded power supplies message | Text message describing the state of any power supplies that are currently degraded. This is useful only if envFailedPowerSupplyCount is not zero. |
SNMP | fas3220.cluster[nodeEnvFailedPowerSupplyMessage, "{#NODE.NAME}"] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
NetApp FAS3220 | Node {#NODE.NAME}: Cannot takeover cause | The reason node cannot take over it's HA partner {#PARTNER.NAME}. Possible states: ok(1), unknownReason(2), disabledByOperator(3), interconnectOffline(4), disabledByPartner(5), takeoverFailed(6), mailboxIsInDegradedState(7), partnermailboxIsInUninitialisedState(8), mailboxVersionMismatch(9), nvramSizeMismatch(10), kernelVersionMismatch(11), partnerIsInBootingStage(12), diskshelfIsTooHot(13), partnerIsPerformingRevert(14), nodeIsPerformingRevert(15), sametimePartnerIsAlsoTryingToTakeUsOver(16), alreadyInTakenoverMode(17), nvramLogUnsynchronized(18), stateofBackupMailboxIsDoubtful(19). |
SNMP | fas3220.ha[haCannotTakeoverCause, "{#NODE.NAME}"] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
NetApp FAS3220 | Node {#NODE.NAME}: HA settings | High Availability configuration settings. The value notConfigured(1) indicates that the HA is not licensed. The thisNodeDead(5) setting indicates that this node has been takenover. |
SNMP | fas3220.ha[haSettings, "{#NODE.NAME}"] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
NetApp FAS3220 | {#VSERVER}{#FSNAME}: Total space used | The total disk space that is in use on {#FSNAME}. |
SNMP | fas3220.fs[df64UsedKBytes, "{#VSERVER}{#FSNAME}"] Preprocessing: - MULTIPLIER: |
NetApp FAS3220 | {#VSERVER}{#FSNAME}: Total space available | The total disk space that is free for use on {#FSNAME}. |
SNMP | fas3220.fs[df64AvailKBytes, "{#VSERVER}{#FSNAME}"] Preprocessing: - MULTIPLIER: |
NetApp FAS3220 | {#VSERVER}{#FSNAME}: Total space | The total capacity in Bytes for {#FSNAME}. |
SNMP | fas3220.fs[df64TotalKBytes, "{#VSERVER}{#FSNAME}"] Preprocessing: - MULTIPLIER: |
NetApp FAS3220 | {#VSERVER}{#FSNAME}: Used space percents | The percentage of disk space currently in use on {#FSNAME}. |
SNMP | fas3220.fs[dfPerCentKBytesCapacity, "{#VSERVER}{#FSNAME}"] |
NetApp FAS3220 | {#VSERVER}{#FSNAME}: Saved by compression percents | Provides the percentage of compression savings in a volume, which is ((compr_saved/used)) * 10(compr_saved + 0). This is only returned for volumes. |
SNMP | fas3220.fs[dfCompressSavedPercent, "{#VSERVER}{#FSNAME}"] |
NetApp FAS3220 | {#VSERVER}{#FSNAME}: Saved by deduplication percents | Provides the percentage of deduplication savings in a volume, which is ((dedup_saved/(dedup_saved + used)) * 100). This is only returned for volumes. |
SNMP | fas3220.fs[dfDedupeSavedPercent, "{#VSERVER}{#FSNAME}"] |
NetApp FAS3220 | Node {#NODE}: port {#IFNAME} ({#TYPE}): Up by an administrator | Indicates whether the port status is set 'UP' by an administrator. |
SNMP | fas3220.net.port[netportUpAdmin, "{#NODE}", "{#IFNAME}"] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
NetApp FAS3220 | Node {#NODE}: port {#IFNAME} ({#TYPE}): Role | Role of the port. A port must have one of the following roles: cluster(1), data(2), mgmt(3), intercluster(4), cluster-mgmt(5) or undef(0). The cluster port is used to communicate to other node(s) in the cluster. The data port services clients' requests. It is where all the file requests come in. The management port is used by administrator to manage resources within a node. The intercluster port is used to communicate to other cluster. The cluster-mgmt port is used to manage resources within the cluster. The undef role is for the port that has not yet been assigned a role. |
SNMP | fas3220.net.port[netportRole, "{#NODE}", "{#IFNAME}"] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
NetApp FAS3220 | Node {#NODE}: port {#IFNAME} ({#TYPE}): Speed | The speed appears on the port. It can be either undef(0), auto(1), ten Mb/s(2), hundred Mb/s(3), one Gb/s(4), or ten Gb/s(5). |
SNMP | fas3220.net.port[netportSpeedOper, "{#NODE}", "{#IFNAME}"] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
NetApp FAS3220 | Node {#NODE}: port {#IFNAME} ({#TYPE}): Bits received | The total number of octets received on the interface, including framing characters. |
SNMP | fas3220.net.if[if64InOctets, "{#NODE}", "{#IFNAME}"] Preprocessing: - MULTIPLIER: - CHANGE_PER_SECOND |
NetApp FAS3220 | Node {#NODE}: port {#IFNAME} ({#TYPE}): Bits sent | The total number of octets transmitted out of the interface, including framing characters. |
SNMP | fas3220.net.if[if64OutOctets, "{#NODE}", "{#IFNAME}"] Preprocessing: - MULTIPLIER: - CHANGE_PER_SECOND |
NetApp FAS3220 | Node {#NODE}: port {#IFNAME} ({#TYPE}): State | The link-state of the port. Normally it is either UP(2) or DOWN(3). |
SNMP | fas3220.net.port[netportLinkState, "{#NODE}", "{#IFNAME}"] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
NetApp FAS3220 | Node {#NODE}: port {#IFNAME} ({#TYPE}): Health | The health status of the port. |
SNMP | fas3220.net.port[netportHealthStatus, "{#NODE}", "{#IFNAME}"] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
NetApp FAS3220 | Node {#NODE}: port {#IFNAME} ({#TYPE}): Health degraded reason | The list of reasons why the port is marked as degraded. |
SNMP | fas3220.net.port[netportDegradedReason, "{#NODE}", "{#IFNAME}"] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
Network interfaces | Node {#NODE}: port {#IFNAME} ({#TYPE}): Inbound packets with errors | MIB: IF-MIB The number of inbound packets that contained errors preventing them from being deliverable to a higher-layer protocol. |
SNMP | fas3220.net.if[if64InErrors, "{#NODE}", "{#IFNAME}"] Preprocessing: - CHANGE_PER_SECOND |
Network interfaces | Node {#NODE}: port {#IFNAME} ({#TYPE}): Outbound packets with errors | MIB: IF-MIB The number of outbound packets that could not be transmitted because of errors. |
SNMP | fas3220.net.if[if64OutErrors, "{#NODE}", "{#IFNAME}"] Preprocessing: - CHANGE_PER_SECOND |
Network interfaces | Node {#NODE}: port {#IFNAME} ({#TYPE}): Inbound packets discarded | MIB: IF-MIB The number of inbound packets that were chosen to be discarded even though no errors had been detected to prevent their being deliverable to a higher-layer protocol. One possible reason for discarding such a packet could be to free up buffer space. |
SNMP | fas3220.net.if[if64InDiscards, "{#NODE}", "{#IFNAME}"] Preprocessing: - CHANGE_PER_SECOND |
Network interfaces | Node {#NODE}: port {#IFNAME} ({#TYPE}): Outbound packets discarded | MIB: IF-MIB The number of outbound packets that were chosen to be discarded even though no errors had been detected to prevent their being transmitted. One possible reason for discarding such a packet could be to free up buffer space. |
SNMP | fas3220.net.if[if64OutDiscards, "{#NODE}", "{#IFNAME}"] Preprocessing: - CHANGE_PER_SECOND |
Status | Uptime (network) | MIB: SNMPv2-MIB The time (in hundredths of a second) since the network management portion of the system was last re-initialized. |
SNMP | system.net.uptime[sysUpTime.0] Preprocessing: - MULTIPLIER: |
Status | Uptime (hardware) | MIB: HOST-RESOURCES-MIB The amount of time since this host was last initialized. Note that this is different from sysUpTime in the SNMPv2-MIB [RFC1907] because sysUpTime is the uptime of the network management portion of the system. |
SNMP | system.hw.uptime[hrSystemUptime.0] Preprocessing: - CHECK_NOT_SUPPORTED ⛔️ON_FAIL: - MULTIPLIER: |
Status | SNMP agent availability | Availability of SNMP checks on the host. The value of this item corresponds to availability icons in the host list. Possible value: 0 - not available 1 - available 2 - unknown |
INTERNAL | zabbix[host,snmp,available] |
Status | ICMP ping | - |
SIMPLE | icmpping |
Status | ICMP loss | - |
SIMPLE | icmppingloss |
Status | ICMP response time | - |
SIMPLE | icmppingsec |
Triggers
Name | Description | Expression | Severity | Dependencies and additional info |
---|---|---|---|---|
Node {#NODE.NAME}: High CPU utilization | CPU utilization is too high. The system might be slow to respond. |
min(/NetApp FAS3220 by SNMP/fas3220.cpu[cDOTCpuBusyTimePerCent, "{#NODE.NAME}"],5m)>{$CPU.UTIL.CRIT} |
WARNING | |
System name has changed | System name has changed. Ack to close. |
last(/NetApp FAS3220 by SNMP/system.name,#1)<>last(/NetApp FAS3220 by SNMP/system.name,#2) and length(last(/NetApp FAS3220 by SNMP/system.name))>0 |
INFO | Manual close: YES |
NetApp FAS3220: Number of failed disks has changed | {{ITEM.LASTVALUE2}.regsub("(.*)", \1)} |
last(/NetApp FAS3220 by SNMP/fas3220.disk[diskFailedCount])>0 and last(/NetApp FAS3220 by SNMP/fas3220.disk[diskFailedMessage],#1)<>last(/NetApp FAS3220 by SNMP/fas3220.disk[diskFailedMessage],#2) Recovery expression: last(/NetApp FAS3220 by SNMP/fas3220.disk[diskFailedCount])=0 |
WARNING | |
Node {#NODE.NAME}: Host has been restarted | Uptime is less than 10 minutes. |
last(/NetApp FAS3220 by SNMP/fas3220.cluster[nodeUptime, "{#NODE.NAME}"])<10m |
INFO | Manual close: YES |
Node {#NODE.NAME}: Node can not communicate with the cluster | - |
last(/NetApp FAS3220 by SNMP/fas3220.cluster[nodeHealth, "{#NODE.NAME}"])=0 |
HIGH | Manual close: YES |
Node {#NODE.NAME}: NVRAM battery status is not OK | - |
last(/NetApp FAS3220 by SNMP/fas3220.cluster[nodeNvramBatteryStatus, "{#NODE.NAME}"])<>1 |
AVERAGE | Manual close: YES |
Node {#NODE.NAME}: Temperature is over than recommended | The hardware will shutdown if the temperature exceeds critical thresholds. |
last(/NetApp FAS3220 by SNMP/fas3220.cluster[nodeEnvOverTemperature, "{#NODE.NAME}"])=2 |
HIGH | |
Node {#NODE.NAME}: Failed FAN count is over than zero | {{ITEM.VALUE2}.regsub("(.*)", \1)} |
last(/NetApp FAS3220 by SNMP/fas3220.cluster[nodeEnvFailedFanCount, "{#NODE.NAME}"])>0 and last(/NetApp FAS3220 by SNMP/fas3220.cluster[nodeEnvFailedFanMessage, "{#NODE.NAME}"])=last(/NetApp FAS3220 by SNMP/fas3220.cluster[nodeEnvFailedFanMessage, "{#NODE.NAME}"]) |
HIGH | |
Node {#NODE.NAME}: Degraded power supplies count is more than zero | {{ITEM.VALUE2}.regsub("(.*)", \1)} |
last(/NetApp FAS3220 by SNMP/fas3220.cluster[nodeEnvFailedPowerSupplyCount, "{#NODE.NAME}"])>0 and last(/NetApp FAS3220 by SNMP/fas3220.cluster[nodeEnvFailedPowerSupplyMessage, "{#NODE.NAME}"])=last(/NetApp FAS3220 by SNMP/fas3220.cluster[nodeEnvFailedPowerSupplyMessage, "{#NODE.NAME}"]) |
AVERAGE | |
Node {#NODE.NAME}: Node cannot takeover it's HA partner {#PARTNER.NAME}. Reason: {ITEM.VALUE} | Possible reasons: unknownReason(2), disabledByOperator(3), interconnectOffline(4), disabledByPartner(5), takeoverFailed(6), mailboxIsInDegradedState(7), partnermailboxIsInUninitialisedState(8), mailboxVersionMismatch(9), nvramSizeMismatch(10), kernelVersionMismatch(11), partnerIsInBootingStage(12), diskshelfIsTooHot(13), partnerIsPerformingRevert(14), nodeIsPerformingRevert(15), sametimePartnerIsAlsoTryingToTakeUsOver(16), alreadyInTakenoverMode(17), nvramLogUnsynchronized(18), stateofBackupMailboxIsDoubtful(19). |
last(/NetApp FAS3220 by SNMP/fas3220.ha[haCannotTakeoverCause, "{#NODE.NAME}"])<>1 |
HIGH | |
Node {#NODE.NAME}: Node has been taken over | The thisNodeDead(5) setting indicates that this node has been takenover. |
last(/NetApp FAS3220 by SNMP/fas3220.ha[haSettings, "{#NODE.NAME}"])=5 |
HIGH | |
Node {#NODE.NAME}: HA is not licensed | The value notConfigured(1) indicates that the HA is not licensed. |
last(/NetApp FAS3220 by SNMP/fas3220.ha[haSettings, "{#NODE.NAME}"])=1 |
AVERAGE | |
{#VSERVER}{#FSNAME}: Disk space is too low | - |
min(/NetApp FAS3220 by SNMP/fas3220.fs[df64AvailKBytes, "{#VSERVER}{#FSNAME}"],{$FAS3220.FS.TIME:"{#FSNAME}"})<{$FAS3220.FS.AVAIL.MIN.CRIT:"{#FSNAME}"} and {$FAS3220.FS.USE.PCT:"{#FSNAME}"}=0 |
HIGH | |
{#VSERVER}{#FSNAME}: Disk space is too low | - |
max(/NetApp FAS3220 by SNMP/fas3220.fs[dfPerCentKBytesCapacity, "{#VSERVER}{#FSNAME}"],{$FAS3220.FS.TIME:"{#FSNAME}"})>{$FAS3220.FS.PUSED.MAX.CRIT:"{#FSNAME}"} and {$FAS3220.FS.USE.PCT:"{#FSNAME}"}=1 |
HIGH | |
Node {#NODE}: port {#IFNAME} ({#TYPE}): Link down | Link state is not UP and the port status is set 'UP' by an administrator. |
last(/NetApp FAS3220 by SNMP/fas3220.net.port[netportLinkState, "{#NODE}", "{#IFNAME}"])<>2 and last(/NetApp FAS3220 by SNMP/fas3220.net.port[netportUpAdmin, "{#NODE}", "{#IFNAME}"])=1 |
AVERAGE | Manual close: YES |
Node {#NODE}: port {#IFNAME} ({#TYPE}): Port is not healthy | {{ITEM.LASTVALUE2}.regsub("(.*)", \1)} |
last(/NetApp FAS3220 by SNMP/fas3220.net.port[netportHealthStatus, "{#NODE}", "{#IFNAME}"])<>0 and length(last(/NetApp FAS3220 by SNMP/fas3220.net.port[netportDegradedReason, "{#NODE}", "{#IFNAME}"]))>0 |
INFO | |
Node {#NODE}: port {#IFNAME} ({#TYPE}): High error rate | Recovers when below 80% of {$IF.ERRORS.WARN:"{#IFNAME}"} threshold |
min(/NetApp FAS3220 by SNMP/fas3220.net.if[if64InErrors, "{#NODE}", "{#IFNAME}"],5m)>{$IF.ERRORS.WARN:"{#IFNAME}"} or min(/NetApp FAS3220 by SNMP/fas3220.net.if[if64OutErrors, "{#NODE}", "{#IFNAME}"],5m)>{$IF.ERRORS.WARN:"{#IFNAME}"} Recovery expression: max(/NetApp FAS3220 by SNMP/fas3220.net.if[if64InErrors, "{#NODE}", "{#IFNAME}"],5m)<{$IF.ERRORS.WARN:"{#IFNAME}"}*0.8 and max(/NetApp FAS3220 by SNMP/fas3220.net.if[if64OutErrors, "{#NODE}", "{#IFNAME}"],5m)<{$IF.ERRORS.WARN:"{#IFNAME}"}*0.8 |
WARNING | Manual close: YES |
Host has been restarted | Uptime is less than 10 minutes. |
(last(/NetApp FAS3220 by SNMP/system.hw.uptime[hrSystemUptime.0])>0 and last(/NetApp FAS3220 by SNMP/system.hw.uptime[hrSystemUptime.0])<10m) or (last(/NetApp FAS3220 by SNMP/system.hw.uptime[hrSystemUptime.0])=0 and last(/NetApp FAS3220 by SNMP/system.net.uptime[sysUpTime.0])<10m) |
WARNING | Manual close: YES Depends on: - No SNMP data collection |
No SNMP data collection | SNMP is not available for polling. Please check device connectivity and SNMP settings. |
max(/NetApp FAS3220 by SNMP/zabbix[host,snmp,available],{$SNMP.TIMEOUT})=0 |
WARNING | Depends on: - Unavailable by ICMP ping |
Unavailable by ICMP ping | Last three attempts returned timeout. Please check device connectivity. |
max(/NetApp FAS3220 by SNMP/icmpping,#3)=0 |
HIGH | |
High ICMP ping loss | - |
min(/NetApp FAS3220 by SNMP/icmppingloss,5m)>{$ICMP_LOSS_WARN} and min(/NetApp FAS3220 by SNMP/icmppingloss,5m)<100 |
WARNING | Depends on: - Unavailable by ICMP ping |
High ICMP ping response time | - |
avg(/NetApp FAS3220 by SNMP/icmppingsec,5m)>{$ICMP_RESPONSE_TIME_WARN} |
WARNING | Depends on: - High ICMP ping loss - Unavailable by ICMP ping |
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.
NetApp FAS3220 by SNMP
Overview
The template to monitor SAN NetApp FAS3220 cluster by Zabbix SNMP agent.
Requirements
Zabbix version: 6.0 and higher.
Tested versions
This template has been tested on:
- NetApp FAS3220, firmware version: 5.3.0
Configuration
Zabbix should be configured according to the instructions in the Templates out of the box section.
Setup
-
Create a host for FAS3220 with cluster management IP as SNMPv2 interface.
-
Link the template to the host.
-
Customize macro values if needed.
Macros used
Name | Description | Default |
---|---|---|
{$IF.UTIL.MAX} | 95 |
|
{$IF.ERRORS.WARN} | ||
{$CPU.UTIL.CRIT} | The critical threshold of the CPU utilization expressed in %. |
90 |
{$FAS3220.FS.NAME.MATCHES} | This macro is used in filesystems discovery. Can be overridden on the host or linked template level. |
.* |
{$FAS3220.FS.NAME.NOT_MATCHES} | This macro is used in filesystems discovery. Can be overridden on the host or linked template level. |
snapshot |
{$FAS3220.FS.TYPE.MATCHES} | This macro is used in filesystems discovery. Can be overridden on the host or linked template level. Value should be integer: 2 - flexibleVolume, 3 - aggregate, 4 - stripedAggregate, 5 - stripedVolume. |
.* |
{$FAS3220.FS.TYPE.NOT_MATCHES} | This macro is used in filesystems discovery. Can be overridden on the host or linked template level. Value should be integer: 2 - flexibleVolume, 3 - aggregate, 4 - stripedAggregate, 5 - stripedVolume. |
CHANGE_IF_NEEDED |
{$FAS3220.NET.PORT.TYPE.MATCHES} | This macro is used in net ports discovery. Can be overridden on the host or linked template level. {#TYPE} is integer. Possible values: physical, if-group, vlan, undef. |
.* |
{$FAS3220.NET.PORT.TYPE.NOT_MATCHES} | This macro is used in net ports discovery. Can be overridden on the host or linked template level. {#TYPE} is integer. Possible values: physical, if-group, vlan, undef. |
CHANGE_IF_NEEDED |
{$FAS3220.NET.PORT.ROLE.MATCHES} | This macro is used in net ports discovery. Can be overridden on the host or linked template level. {#ROLE} is integer. Possible values: 0 - undef 1 - cluster 2 - data 3 - node-mgmt 4 - intercluster 5 - cluster-mgmt |
.* |
{$FAS3220.NET.PORT.ROLE.NOT_MATCHES} | This macro is used in net ports discovery. Can be overridden on the host or linked template level. {#ROLE} is integer. Possible values: 0 - undef 1 - cluster 2 - data 3 - node-mgmt 4 - intercluster 5 - cluster-mgmt |
CHANGE_IF_NEEDED |
{$FAS3220.NET.PORT.NAME.MATCHES} | This macro is used in net ports discovery. Can be overridden on the host or linked template level. |
.* |
{$FAS3220.NET.PORT.NAME.NOT_MATCHES} | This macro is used in net ports discovery. Can be overridden on the host or linked template level. |
CHANGE_IF_NEEDED |
{$FAS3220.FS.PUSED.MAX.CRIT} | Maximum percentage of disk used. Can be used with {#FSNAME} as context. |
90 |
{$FAS3220.FS.AVAIL.MIN.CRIT} | Minimum available space on the disk. Can be used with {#FSNAME} as context. |
10G |
{$FAS3220.FS.TIME} | The time during which disk usage may exceed the threshold. Can be used with {#FSNAME} as context. |
10m |
{$FAS3220.FS.USE.PCT} | Macro define what threshold will be used for disk space trigger: 0 - use Bytes ({$FAS3220.FS.AVAIL.MIN.CRIT}) 1 - use percents ({$FAS3220.FS.PUSED.MAX.CRIT}) Can be used with {#FSNAME} as context. |
1 |
{$SNMP.TIMEOUT} | 5m |
|
{$ICMP_LOSS_WARN} | 20 |
|
{$ICMP_RESPONSE_TIME_WARN} | 0.15 |
Items
Name | Description | Type | Key and additional info |
---|---|---|---|
NetApp FAS3220: Product version | MIB: NETAPP-MIB Version string for the software running on this platform. |
SNMP agent | fas3220.inventory[productVersion] Preprocessing
|
NetApp FAS3220: Product firmware version | Version string for the firmware running on this platform. |
SNMP agent | fas3220.inventory[productFirmwareVersion] Preprocessing
|
NetApp FAS3220: Failed disks count | The number of disks that are currently broken. |
SNMP agent | fas3220.disk[diskFailedCount] Preprocessing
|
NetApp FAS3220: Failed disks message | If diskFailedCount is non-zero, this is a string describing the failed disk or disks. Each failed disk is described. |
SNMP agent | fas3220.disk[diskFailedMessage] Preprocessing
|
NetApp FAS3220: Uptime (network) | MIB: SNMPv2-MIB The time (in hundredths of a second) since the network management portion of the system was last re-initialized. |
SNMP agent | system.net.uptime[sysUpTime.0] Preprocessing
|
NetApp FAS3220: Uptime (hardware) | MIB: HOST-RESOURCES-MIB The amount of time since this host was last initialized. Note that this is different from sysUpTime in the SNMPv2-MIB [RFC1907] because sysUpTime is the uptime of the network management portion of the system. |
SNMP agent | system.hw.uptime[hrSystemUptime.0] Preprocessing
|
NetApp FAS3220: SNMP traps (fallback) | The item is used to collect all SNMP traps unmatched by other snmptrap items |
SNMP trap | snmptrap.fallback |
NetApp FAS3220: System location | MIB: SNMPv2-MIB The physical location of this node (e.g., `telephone closet, 3rd floor'). If the location is unknown, the value is the zero-length string. |
SNMP agent | system.location[sysLocation.0] Preprocessing
|
NetApp FAS3220: System contact details | MIB: SNMPv2-MIB The textual identification of the contact person for this managed node, together with information on how to contact this person. If no contact information is known, the value is the zero-length string. |
SNMP agent | system.contact[sysContact.0] Preprocessing
|
NetApp FAS3220: System object ID | MIB: SNMPv2-MIB The vendor's authoritative identification of the network management subsystem contained in the entity. This value is allocated within the SMI enterprises subtree (1.3.6.1.4.1) and provides an easy and unambiguous means for determining |
SNMP agent | system.objectid[sysObjectID.0] Preprocessing
|
NetApp FAS3220: System name | MIB: SNMPv2-MIB An administratively-assigned name for this managed node.By convention, this is the node's fully-qualified domain name. If the name is unknown, the value is the zero-length string. |
SNMP agent | system.name Preprocessing
|
NetApp FAS3220: System description | MIB: SNMPv2-MIB A textual description of the entity. This value should include the full name and version identification of the system's hardware type, software operating-system, and networking software. |
SNMP agent | system.descr[sysDescr.0] Preprocessing
|
NetApp FAS3220: SNMP agent availability | Availability of SNMP checks on the host. The value of this item corresponds to availability icons in the host list. Possible value: 0 - not available 1 - available 2 - unknown |
Zabbix internal | zabbix[host,snmp,available] |
NetApp FAS3220: ICMP ping | Simple check | icmpping | |
NetApp FAS3220: ICMP loss | Simple check | icmppingloss | |
NetApp FAS3220: ICMP response time | Simple check | icmppingsec |
Triggers
Name | Description | Expression | Severity | Dependencies and additional info |
---|---|---|---|---|
NetApp FAS3220: Number of failed disks has changed | {{ITEM.LASTVALUE2}.regsub("(.*)", \1)} |
last(/NetApp FAS3220 by SNMP/fas3220.disk[diskFailedCount])>0 and last(/NetApp FAS3220 by SNMP/fas3220.disk[diskFailedMessage],#1)<>last(/NetApp FAS3220 by SNMP/fas3220.disk[diskFailedMessage],#2) |
Warning | |
NetApp FAS3220: Host has been restarted | Uptime is less than 10 minutes. |
(last(/NetApp FAS3220 by SNMP/system.hw.uptime[hrSystemUptime.0])>0 and last(/NetApp FAS3220 by SNMP/system.hw.uptime[hrSystemUptime.0])<10m) or (last(/NetApp FAS3220 by SNMP/system.hw.uptime[hrSystemUptime.0])=0 and last(/NetApp FAS3220 by SNMP/system.net.uptime[sysUpTime.0])<10m) |
Warning | Manual close: Yes Depends on:
|
NetApp FAS3220: System name has changed | The name of the system has changed. Acknowledge to close the problem manually. |
last(/NetApp FAS3220 by SNMP/system.name,#1)<>last(/NetApp FAS3220 by SNMP/system.name,#2) and length(last(/NetApp FAS3220 by SNMP/system.name))>0 |
Info | Manual close: Yes |
NetApp FAS3220: No SNMP data collection | SNMP is not available for polling. Please check device connectivity and SNMP settings. |
max(/NetApp FAS3220 by SNMP/zabbix[host,snmp,available],{$SNMP.TIMEOUT})=0 |
Warning | Depends on:
|
NetApp FAS3220: Unavailable by ICMP ping | Last three attempts returned timeout. Please check device connectivity. |
max(/NetApp FAS3220 by SNMP/icmpping,#3)=0 |
High | |
NetApp FAS3220: High ICMP ping loss | min(/NetApp FAS3220 by SNMP/icmppingloss,5m)>{$ICMP_LOSS_WARN} and min(/NetApp FAS3220 by SNMP/icmppingloss,5m)<100 |
Warning | Depends on:
|
|
NetApp FAS3220: High ICMP ping response time | avg(/NetApp FAS3220 by SNMP/icmppingsec,5m)>{$ICMP_RESPONSE_TIME_WARN} |
Warning | Depends on:
|
LLD rule CPU discovery
Name | Description | Type | Key and additional info |
---|---|---|---|
CPU discovery | Discovery of CPU metrics per node |
SNMP agent | fas3220.cpu.discovery |
Item prototypes for CPU discovery
Name | Description | Type | Key and additional info |
---|---|---|---|
Node {#NODE.NAME}: CPU utilization | The average, over the last minute, of the percentage of time that this processor was not idle. |
SNMP agent | fas3220.cpu[cDOTCpuBusyTimePerCent, "{#NODE.NAME}"] |
Trigger prototypes for CPU discovery
Name | Description | Expression | Severity | Dependencies and additional info |
---|---|---|---|---|
Node {#NODE.NAME}: High CPU utilization | The CPU utilization is too high. The system might be slow to respond. |
min(/NetApp FAS3220 by SNMP/fas3220.cpu[cDOTCpuBusyTimePerCent, "{#NODE.NAME}"],5m)>{$CPU.UTIL.CRIT} |
Warning |
LLD rule Cluster metrics discovery
Name | Description | Type | Key and additional info |
---|---|---|---|
Cluster metrics discovery | Discovery of Cluster metrics per node |
SNMP agent | fas3220.cluster.discovery |
Item prototypes for Cluster metrics discovery
Name | Description | Type | Key and additional info |
---|---|---|---|
Node {#NODE.NAME}: Location | Node Location. Same as sysLocation for a specific node. |
SNMP agent | fas3220.cluster[nodeLocation, "{#NODE.NAME}"] Preprocessing
|
Node {#NODE.NAME}: Model | Node Model. Same as productModel for a specific node. |
SNMP agent | fas3220.cluster[nodeModel, "{#NODE.NAME}"] Preprocessing
|
Node {#NODE.NAME}: Serial number | Node Serial Number. Same as productSerialNum for a specific node. |
SNMP agent | fas3220.cluster[nodeSerialNumber, "{#NODE.NAME}"] Preprocessing
|
Node {#NODE.NAME}: Uptime | Node uptime. Same as sysUpTime for a specific node. |
SNMP agent | fas3220.cluster[nodeUptime, "{#NODE.NAME}"] Preprocessing
|
Node {#NODE.NAME}: Health | Whether or not the node can communicate with the cluster. |
SNMP agent | fas3220.cluster[nodeHealth, "{#NODE.NAME}"] Preprocessing
|
Node {#NODE.NAME}: NVRAM battery status | An indication of the current status of the NVRAM battery or batteries. Batteries which are fully or partially discharged may not fully protect the system during a crash. The end-of-life status values are based on the manufacturer's recommended life for the batteries. Possible values: ok(1), partiallyDischarged(2), fullyDischarged(3), notPresent(4), nearEndOfLife(5), atEndOfLife(6), unknown(7), overCharged(8), fullyCharged(9). |
SNMP agent | fas3220.cluster[nodeNvramBatteryStatus, "{#NODE.NAME}"] Preprocessing
|
Node {#NODE.NAME}: Over-temperature | An indication of whether the hardware is currently operating outside of its recommended temperature range. The hardware will shutdown if the temperature exceeds critical thresholds. |
SNMP agent | fas3220.cluster[nodeEnvOverTemperature, "{#NODE.NAME}"] Preprocessing
|
Node {#NODE.NAME}: Failed FAN count | Count of the number of chassis fans that are not operating within the recommended RPM range. |
SNMP agent | fas3220.cluster[nodeEnvFailedFanCount, "{#NODE.NAME}"] Preprocessing
|
Node {#NODE.NAME}: Failed FAN message | Text message describing current condition of chassis fans. This is useful only if envFailedFanCount is not zero. |
SNMP agent | fas3220.cluster[nodeEnvFailedFanMessage, "{#NODE.NAME}"] Preprocessing
|
Node {#NODE.NAME}: Degraded power supplies count | Count of the number of power supplies that are in degraded mode. |
SNMP agent | fas3220.cluster[nodeEnvFailedPowerSupplyCount, "{#NODE.NAME}"] Preprocessing
|
Node {#NODE.NAME}: Degraded power supplies message | Text message describing the state of any power supplies that are currently degraded. This is useful only if envFailedPowerSupplyCount is not zero. |
SNMP agent | fas3220.cluster[nodeEnvFailedPowerSupplyMessage, "{#NODE.NAME}"] Preprocessing
|
Trigger prototypes for Cluster metrics discovery
Name | Description | Expression | Severity | Dependencies and additional info |
---|---|---|---|---|
Node {#NODE.NAME}: Host has been restarted | Uptime is less than 10 minutes. |
last(/NetApp FAS3220 by SNMP/fas3220.cluster[nodeUptime, "{#NODE.NAME}"])<10m |
Info | Manual close: Yes |
Node {#NODE.NAME}: Node can not communicate with the cluster | last(/NetApp FAS3220 by SNMP/fas3220.cluster[nodeHealth, "{#NODE.NAME}"])=0 |
High | Manual close: Yes | |
Node {#NODE.NAME}: NVRAM battery status is not OK | last(/NetApp FAS3220 by SNMP/fas3220.cluster[nodeNvramBatteryStatus, "{#NODE.NAME}"])<>1 |
Average | Manual close: Yes | |
Node {#NODE.NAME}: Temperature is over than recommended | The hardware will shutdown if the temperature exceeds critical thresholds. |
last(/NetApp FAS3220 by SNMP/fas3220.cluster[nodeEnvOverTemperature, "{#NODE.NAME}"])=2 |
High | |
Node {#NODE.NAME}: Failed FAN count is over than zero | {{ITEM.VALUE2}.regsub("(.*)", \1)} |
last(/NetApp FAS3220 by SNMP/fas3220.cluster[nodeEnvFailedFanCount, "{#NODE.NAME}"])>0 and last(/NetApp FAS3220 by SNMP/fas3220.cluster[nodeEnvFailedFanMessage, "{#NODE.NAME}"])=last(/NetApp FAS3220 by SNMP/fas3220.cluster[nodeEnvFailedFanMessage, "{#NODE.NAME}"]) |
High | |
Node {#NODE.NAME}: Degraded power supplies count is more than zero | {{ITEM.VALUE2}.regsub("(.*)", \1)} |
last(/NetApp FAS3220 by SNMP/fas3220.cluster[nodeEnvFailedPowerSupplyCount, "{#NODE.NAME}"])>0 and last(/NetApp FAS3220 by SNMP/fas3220.cluster[nodeEnvFailedPowerSupplyMessage, "{#NODE.NAME}"])=last(/NetApp FAS3220 by SNMP/fas3220.cluster[nodeEnvFailedPowerSupplyMessage, "{#NODE.NAME}"]) |
Average |
LLD rule HA discovery
Name | Description | Type | Key and additional info |
---|---|---|---|
HA discovery | Discovery of high availability metrics per node |
SNMP agent | fas3220.ha.discovery |
Item prototypes for HA discovery
Name | Description | Type | Key and additional info |
---|---|---|---|
Node {#NODE.NAME}: Cannot takeover cause | The reason node cannot take over it's HA partner {#PARTNER.NAME}. Possible states: ok(1), unknownReason(2), disabledByOperator(3), interconnectOffline(4), disabledByPartner(5), takeoverFailed(6), mailboxIsInDegradedState(7), partnermailboxIsInUninitialisedState(8), mailboxVersionMismatch(9), nvramSizeMismatch(10), kernelVersionMismatch(11), partnerIsInBootingStage(12), diskshelfIsTooHot(13), partnerIsPerformingRevert(14), nodeIsPerformingRevert(15), sametimePartnerIsAlsoTryingToTakeUsOver(16), alreadyInTakenoverMode(17), nvramLogUnsynchronized(18), stateofBackupMailboxIsDoubtful(19). |
SNMP agent | fas3220.ha[haCannotTakeoverCause, "{#NODE.NAME}"] Preprocessing
|
Node {#NODE.NAME}: HA settings | High Availability configuration settings. The value notConfigured(1) indicates that the HA is not licensed. The thisNodeDead(5) setting indicates that this node has been takenover. |
SNMP agent | fas3220.ha[haSettings, "{#NODE.NAME}"] Preprocessing
|
Trigger prototypes for HA discovery
Name | Description | Expression | Severity | Dependencies and additional info |
---|---|---|---|---|
Node {#NODE.NAME}: Node cannot takeover it's HA partner {#PARTNER.NAME}. Reason: {ITEM.VALUE} | Possible reasons: |
last(/NetApp FAS3220 by SNMP/fas3220.ha[haCannotTakeoverCause, "{#NODE.NAME}"])<>1 |
High | |
Node {#NODE.NAME}: Node has been taken over | The thisNodeDead(5) setting indicates that this node has been takenover. |
last(/NetApp FAS3220 by SNMP/fas3220.ha[haSettings, "{#NODE.NAME}"])=5 |
High | |
Node {#NODE.NAME}: HA is not licensed | The value notConfigured(1) indicates that the HA is not licensed. |
last(/NetApp FAS3220 by SNMP/fas3220.ha[haSettings, "{#NODE.NAME}"])=1 |
Average |
LLD rule Filesystems discovery
Name | Description | Type | Key and additional info |
---|---|---|---|
Filesystems discovery | Filesystems discovery with filter. |
SNMP agent | fas3220.fs.discovery |
Item prototypes for Filesystems discovery
Name | Description | Type | Key and additional info |
---|---|---|---|
{#VSERVER}{#FSNAME}: Total space used | The total disk space that is in use on {#FSNAME}. |
SNMP agent | fas3220.fs[df64UsedKBytes, "{#VSERVER}{#FSNAME}"] Preprocessing
|
{#VSERVER}{#FSNAME}: Total space available | The total disk space that is free for use on {#FSNAME}. |
SNMP agent | fas3220.fs[df64AvailKBytes, "{#VSERVER}{#FSNAME}"] Preprocessing
|
{#VSERVER}{#FSNAME}: Total space | The total capacity in bytes for {#FSNAME}. |
SNMP agent | fas3220.fs[df64TotalKBytes, "{#VSERVER}{#FSNAME}"] Preprocessing
|
{#VSERVER}{#FSNAME}: Used space percents | The percentage of disk space currently in use on {#FSNAME}. |
SNMP agent | fas3220.fs[dfPerCentKBytesCapacity, "{#VSERVER}{#FSNAME}"] |
{#VSERVER}{#FSNAME}: Saved by compression percents | Provides the percentage of compression savings in a volume, which is ((compr_saved/used)) * 10(compr_saved + 0). This is only returned for volumes. |
SNMP agent | fas3220.fs[dfCompressSavedPercent, "{#VSERVER}{#FSNAME}"] |
{#VSERVER}{#FSNAME}: Saved by deduplication percents | Provides the percentage of deduplication savings in a volume, which is ((dedup_saved/(dedup_saved + used)) * 100). This is only returned for volumes. |
SNMP agent | fas3220.fs[dfDedupeSavedPercent, "{#VSERVER}{#FSNAME}"] |
Trigger prototypes for Filesystems discovery
Name | Description | Expression | Severity | Dependencies and additional info |
---|---|---|---|---|
{#VSERVER}{#FSNAME}: Disk space is too low | min(/NetApp FAS3220 by SNMP/fas3220.fs[df64AvailKBytes, "{#VSERVER}{#FSNAME}"],{$FAS3220.FS.TIME:"{#FSNAME}"})<{$FAS3220.FS.AVAIL.MIN.CRIT:"{#FSNAME}"} and {$FAS3220.FS.USE.PCT:"{#FSNAME}"}=0 |
High | ||
{#VSERVER}{#FSNAME}: Disk space is too low | max(/NetApp FAS3220 by SNMP/fas3220.fs[dfPerCentKBytesCapacity, "{#VSERVER}{#FSNAME}"],{$FAS3220.FS.TIME:"{#FSNAME}"})>{$FAS3220.FS.PUSED.MAX.CRIT:"{#FSNAME}"} and {$FAS3220.FS.USE.PCT:"{#FSNAME}"}=1 |
High |
LLD rule Network ports discovery
Name | Description | Type | Key and additional info |
---|---|---|---|
Network ports discovery | Network interfaces discovery with filter. |
SNMP agent | fas3220.net.discovery Preprocessing
|
Item prototypes for Network ports discovery
Name | Description | Type | Key and additional info |
---|---|---|---|
Node {#NODE}: port {#IFNAME} ({#TYPE}): Up by an administrator | Indicates whether the port status is set 'UP' by an administrator. |
SNMP agent | fas3220.net.port[netportUpAdmin, "{#NODE}", "{#IFNAME}"] Preprocessing
|
Node {#NODE}: port {#IFNAME} ({#TYPE}): Role | Role of the port. A port must have one of the following roles: cluster(1), data(2), mgmt(3), intercluster(4), cluster-mgmt(5) or undef(0). The cluster port is used to communicate to other node(s) in the cluster. The data port services clients' requests. It is where all the file requests come in. The management port is used by administrator to manage resources within a node. The intercluster port is used to communicate to other cluster. The cluster-mgmt port is used to manage resources within the cluster. The undef role is for the port that has not yet been assigned a role. |
SNMP agent | fas3220.net.port[netportRole, "{#NODE}", "{#IFNAME}"] Preprocessing
|
Node {#NODE}: port {#IFNAME} ({#TYPE}): Speed | The speed appears on the port. It can be either undef(0), auto(1), ten Mb/s(2), hundred Mb/s(3), one Gb/s(4), or ten Gb/s(5). |
SNMP agent | fas3220.net.port[netportSpeedOper, "{#NODE}", "{#IFNAME}"] Preprocessing
|
Node {#NODE}: port {#IFNAME} ({#TYPE}): Bits received | The total number of octets received on the interface, including framing characters. |
SNMP agent | fas3220.net.if[if64InOctets, "{#NODE}", "{#IFNAME}"] Preprocessing
|
Node {#NODE}: port {#IFNAME} ({#TYPE}): Bits sent | The total number of octets transmitted out of the interface, including framing characters. |
SNMP agent | fas3220.net.if[if64OutOctets, "{#NODE}", "{#IFNAME}"] Preprocessing
|
Node {#NODE}: port {#IFNAME} ({#TYPE}): Inbound packets with errors | MIB: IF-MIB The number of inbound packets that contained errors preventing them from being deliverable to a higher-layer protocol. |
SNMP agent | fas3220.net.if[if64InErrors, "{#NODE}", "{#IFNAME}"] Preprocessing
|
Node {#NODE}: port {#IFNAME} ({#TYPE}): Outbound packets with errors | MIB: IF-MIB The number of outbound packets that could not be transmitted because of errors. |
SNMP agent | fas3220.net.if[if64OutErrors, "{#NODE}", "{#IFNAME}"] Preprocessing
|
Node {#NODE}: port {#IFNAME} ({#TYPE}): Inbound packets discarded | MIB: IF-MIB The number of inbound packets that were chosen to be discarded even though no errors had been detected to prevent their being deliverable to a higher-layer protocol. One possible reason for discarding such a packet could be to free up buffer space. |
SNMP agent | fas3220.net.if[if64InDiscards, "{#NODE}", "{#IFNAME}"] Preprocessing
|
Node {#NODE}: port {#IFNAME} ({#TYPE}): Outbound packets discarded | MIB: IF-MIB The number of outbound packets that were chosen to be discarded even though no errors had been detected to prevent their being transmitted. One possible reason for discarding such a packet could be to free up buffer space. |
SNMP agent | fas3220.net.if[if64OutDiscards, "{#NODE}", "{#IFNAME}"] Preprocessing
|
Node {#NODE}: port {#IFNAME} ({#TYPE}): State | The link-state of the port. Normally it is either UP(2) or DOWN(3). |
SNMP agent | fas3220.net.port[netportLinkState, "{#NODE}", "{#IFNAME}"] Preprocessing
|
Node {#NODE}: port {#IFNAME} ({#TYPE}): Health | The health status of the port. |
SNMP agent | fas3220.net.port[netportHealthStatus, "{#NODE}", "{#IFNAME}"] Preprocessing
|
Node {#NODE}: port {#IFNAME} ({#TYPE}): Health degraded reason | The list of reasons why the port is marked as degraded. |
SNMP agent | fas3220.net.port[netportDegradedReason, "{#NODE}", "{#IFNAME}"] Preprocessing
|
Trigger prototypes for Network ports discovery
Name | Description | Expression | Severity | Dependencies and additional info |
---|---|---|---|---|
Node {#NODE}: port {#IFNAME} ({#TYPE}): High error rate | It recovers when it is below 80% of the |
min(/NetApp FAS3220 by SNMP/fas3220.net.if[if64InErrors, "{#NODE}", "{#IFNAME}"],5m)>{$IF.ERRORS.WARN:"{#IFNAME}"} or min(/NetApp FAS3220 by SNMP/fas3220.net.if[if64OutErrors, "{#NODE}", "{#IFNAME}"],5m)>{$IF.ERRORS.WARN:"{#IFNAME}"} |
Warning | Manual close: Yes |
Node {#NODE}: port {#IFNAME} ({#TYPE}): Link down | Link state is not UP and the port status is set 'UP' by an administrator. |
last(/NetApp FAS3220 by SNMP/fas3220.net.port[netportLinkState, "{#NODE}", "{#IFNAME}"])<>2 and last(/NetApp FAS3220 by SNMP/fas3220.net.port[netportUpAdmin, "{#NODE}", "{#IFNAME}"])=1 |
Average | Manual close: Yes |
Node {#NODE}: port {#IFNAME} ({#TYPE}): Port is not healthy | {{ITEM.LASTVALUE2}.regsub("(.*)", \1)} |
last(/NetApp FAS3220 by SNMP/fas3220.net.port[netportHealthStatus, "{#NODE}", "{#IFNAME}"])<>0 and length(last(/NetApp FAS3220 by SNMP/fas3220.net.port[netportDegradedReason, "{#NODE}", "{#IFNAME}"]))>0 |
Info |
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
NetApp FAS3220 SNMP
Overview
For Zabbix version: 5.4 and higher
The template to monitor SAN NetApp FAS3220 cluster by Zabbix SNMP agent.
This template was tested on:
- NetApp FAS3220, firmware version: 5.3.0
Setup
See Zabbix template operation for basic instructions.
1. Create a host for FAS3220 with cluster management IP as SNMPv2 interface.
2. Link the template to the host.
3. Customize macro values if needed.
Zabbix configuration
No specific Zabbix configuration is required.
Macros used
Name | Description | Default |
---|---|---|
{$CPU.UTIL.CRIT} | The critical threshold of the CPU utilization in %. |
90 |
{$FAS3220.FS.AVAIL.MIN.CRIT} | Minimum available space on the disk. Can be used with {#FSNAME} as context. |
10G |
{$FAS3220.FS.NAME.MATCHES} | This macro is used in filesystems discovery. Can be overridden on the host or linked template level. |
.* |
{$FAS3220.FS.NAME.NOT_MATCHES} | This macro is used in filesystems discovery. Can be overridden on the host or linked template level. |
snapshot |
{$FAS3220.FS.PUSED.MAX.CRIT} | Maximum percentage of disk used. Can be used with {#FSNAME} as context. |
90 |
{$FAS3220.FS.TIME} | The time during which disk usage may exceed the threshold. Can be used with {#FSNAME} as context. |
10G |
{$FAS3220.FS.TYPE.MATCHES} | This macro is used in filesystems discovery. Can be overridden on the host or linked template level. Value should be integer: 2 - flexibleVolume, 3 - aggregate, 4 - stripedAggregate, 5 - stripedVolume. |
.* |
{$FAS3220.FS.TYPE.NOT_MATCHES} | This macro is used in filesystems discovery. Can be overridden on the host or linked template level. Value should be integer: 2 - flexibleVolume, 3 - aggregate, 4 - stripedAggregate, 5 - stripedVolume. |
CHANGE_IF_NEEDED |
{$FAS3220.FS.USE.PCT} | Macro define what threshold will be used for disk space trigger: 0 - use Bytes ({$FAS3220.FS.AVAIL.MIN.CRIT}) 1 - use percents ({$FAS3220.FS.PUSED.MAX.CRIT}) Can be used with {#FSNAME} as context. |
1 |
{$FAS3220.NET.PORT.NAME.MATCHES} | This macro is used in net ports discovery. Can be overridden on the host or linked template level. |
.* |
{$FAS3220.NET.PORT.NAME.NOT_MATCHES} | This macro is used in net ports discovery. Can be overridden on the host or linked template level. |
CHANGE_IF_NEEDED |
{$FAS3220.NET.PORT.ROLE.MATCHES} | This macro is used in net ports discovery. Can be overridden on the host or linked template level. {#ROLE} is integer. Possible values: 0 - undef 1 - cluster 2 - data 3 - node-mgmt 4 - intercluster 5 - cluster-mgmt |
.* |
{$FAS3220.NET.PORT.ROLE.NOT_MATCHES} | This macro is used in net ports discovery. Can be overridden on the host or linked template level. {#ROLE} is integer. Possible values: 0 - undef 1 - cluster 2 - data 3 - node-mgmt 4 - intercluster 5 - cluster-mgmt |
CHANGE_IF_NEEDED |
{$FAS3220.NET.PORT.TYPE.MATCHES} | This macro is used in net ports discovery. Can be overridden on the host or linked template level. {#TYPE} is integer. Possible values: physical, if-group, vlan, undef. |
.* |
{$FAS3220.NET.PORT.TYPE.NOT_MATCHES} | This macro is used in net ports discovery. Can be overridden on the host or linked template level. {#TYPE} is integer. Possible values: physical, if-group, vlan, undef. |
CHANGE_IF_NEEDED |
{$IF.ERRORS.WARN} | - |
`` |
{$IF.UTIL.MAX} | - |
95 |
Template links
Name |
---|
Generic SNMP |
Discovery rules
Name | Description | Type | Key and additional info |
---|---|---|---|
CPU discovery | Discovery of CPU metrics per node |
SNMP | fas3220.cpu.discovery |
Cluster metrics discovery | Discovery of Cluster metrics per node |
SNMP | fas3220.cluster.discovery |
HA discovery | Discovery of high availability metrics per node |
SNMP | fas3220.ha.discovery |
Filesystems discovery | Filesystems discovery with filter. |
SNMP | fas3220.fs.discovery Filter: AND- {#FSTYPE} MATCHES_REGEX - {#FSTYPE} NOT_MATCHES_REGEX - {#FSNAME} MATCHES_REGEX - {#FSNAME} NOT_MATCHES_REGEX Overrides: Do not discover aggregate metrics |
Network ports discovery | Network interfaces discovery with filter. |
SNMP | fas3220.net.discovery Preprocessing: - JAVASCRIPT: Filter: AND- {#TYPE} MATCHES_REGEX - {#TYPE} NOT_MATCHES_REGEX - {#ROLE} MATCHES_REGEX - {#TYPE} NOT_MATCHES_REGEX - {#IFNAME} MATCHES_REGEX - {#IFNAME} NOT_MATCHES_REGEX |
Items collected
Group | Name | Description | Type | Key and additional info |
---|---|---|---|---|
CPU | Node {#NODE.NAME}: CPU utilization | The average, over the last minute, of the percentage of time that this processor was not idle. |
SNMP | fas3220.cpu[cDOTCpuBusyTimePerCent, "{#NODE.NAME}"] |
NetApp FAS3220 | NetApp FAS3220: Product version | MIB: NETAPP-MIB Version string for the software running on this platform. |
SNMP | fas3220.inventory[productVersion] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
NetApp FAS3220 | NetApp FAS3220: Product firmware version | Version string for the firmware running on this platform. |
SNMP | fas3220.inventory[productFirmwareVersion] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
NetApp FAS3220 | NetApp FAS3220: Failed disks count | The number of disks that are currently broken. |
SNMP | fas3220.disk[diskFailedCount] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
NetApp FAS3220 | NetApp FAS3220: Failed disks message | If diskFailedCount is non-zero, this is a string describing the failed disk or disks. Each failed disk is described. |
SNMP | fas3220.disk[diskFailedMessage] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
NetApp FAS3220 | Node {#NODE.NAME}: Location | Node Location. Same as sysLocation for a specific node. |
SNMP | fas3220.cluster[nodeLocation, "{#NODE.NAME}"] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
NetApp FAS3220 | Node {#NODE.NAME}: Model | Node Model. Same as productModel for a specific node. |
SNMP | fas3220.cluster[nodeModel, "{#NODE.NAME}"] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
NetApp FAS3220 | Node {#NODE.NAME}: Serial number | Node Serial Number. Same as productSerialNum for a specific node. |
SNMP | fas3220.cluster[nodeSerialNumber, "{#NODE.NAME}"] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
NetApp FAS3220 | Node {#NODE.NAME}: Uptime | Node uptime. Same as sysUpTime for a specific node. |
SNMP | fas3220.cluster[nodeUptime, "{#NODE.NAME}"] Preprocessing: - MULTIPLIER: |
NetApp FAS3220 | Node {#NODE.NAME}: Health | Whether or not the node can communicate with the cluster. |
SNMP | fas3220.cluster[nodeHealth, "{#NODE.NAME}"] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
NetApp FAS3220 | Node {#NODE.NAME}: NVRAM battery status | An indication of the current status of the NVRAM battery or batteries. Batteries which are fully or partially discharged may not fully protect the system during a crash. The end-of-life status values are based on the manufacturer's recommended life for the batteries. Possible values: ok(1), partiallyDischarged(2), fullyDischarged(3), notPresent(4), nearEndOfLife(5), atEndOfLife(6), unknown(7), overCharged(8), fullyCharged(9). |
SNMP | fas3220.cluster[nodeNvramBatteryStatus, "{#NODE.NAME}"] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
NetApp FAS3220 | Node {#NODE.NAME}: Over-temperature | An indication of whether the hardware is currently operating outside of its recommended temperature range. The hardware will shutdown if the temperature exceeds critical thresholds. |
SNMP | fas3220.cluster[nodeEnvOverTemperature, "{#NODE.NAME}"] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
NetApp FAS3220 | Node {#NODE.NAME}: Failed FAN count | Count of the number of chassis fans that are not operating within the recommended RPM range. |
SNMP | fas3220.cluster[nodeEnvFailedFanCount, "{#NODE.NAME}"] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
NetApp FAS3220 | Node {#NODE.NAME}: Failed FAN message | Text message describing current condition of chassis fans. This is useful only if envFailedFanCount is not zero. |
SNMP | fas3220.cluster[nodeEnvFailedFanMessage, "{#NODE.NAME}"] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
NetApp FAS3220 | Node {#NODE.NAME}: Degraded power supplies count | Count of the number of power supplies that are in degraded mode. |
SNMP | fas3220.cluster[nodeEnvFailedPowerSupplyCount, "{#NODE.NAME}"] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
NetApp FAS3220 | Node {#NODE.NAME}: Degraded power supplies message | Text message describing the state of any power supplies that are currently degraded. This is useful only if envFailedPowerSupplyCount is not zero. |
SNMP | fas3220.cluster[nodeEnvFailedPowerSupplyMessage, "{#NODE.NAME}"] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
NetApp FAS3220 | Node {#NODE.NAME}: Cannot takeover cause | The reason node cannot take over it's HA partner {#PARTNER.NAME}. Possible states: ok(1), unknownReason(2), disabledByOperator(3), interconnectOffline(4), disabledByPartner(5), takeoverFailed(6), mailboxIsInDegradedState(7), partnermailboxIsInUninitialisedState(8), mailboxVersionMismatch(9), nvramSizeMismatch(10), kernelVersionMismatch(11), partnerIsInBootingStage(12), diskshelfIsTooHot(13), partnerIsPerformingRevert(14), nodeIsPerformingRevert(15), sametimePartnerIsAlsoTryingToTakeUsOver(16), alreadyInTakenoverMode(17), nvramLogUnsynchronized(18), stateofBackupMailboxIsDoubtful(19). |
SNMP | fas3220.ha[haCannotTakeoverCause, "{#NODE.NAME}"] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
NetApp FAS3220 | Node {#NODE.NAME}: HA settings | High Availability configuration settings. The value notConfigured(1) indicates that the HA is not licensed. The thisNodeDead(5) setting indicates that this node has been takenover. |
SNMP | fas3220.ha[haSettings, "{#NODE.NAME}"] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
NetApp FAS3220 | {#VSERVER}{#FSNAME}: Total space used | The total disk space that is in use on {#FSNAME}. |
SNMP | fas3220.fs[df64UsedKBytes, "{#VSERVER}{#FSNAME}"] Preprocessing: - MULTIPLIER: |
NetApp FAS3220 | {#VSERVER}{#FSNAME}: Total space available | The total disk space that is free for use on {#FSNAME}. |
SNMP | fas3220.fs[df64AvailKBytes, "{#VSERVER}{#FSNAME}"] Preprocessing: - MULTIPLIER: |
NetApp FAS3220 | {#VSERVER}{#FSNAME}: Total space | The total capacity in Bytes for {#FSNAME}. |
SNMP | fas3220.fs[df64TotalKBytes, "{#VSERVER}{#FSNAME}"] Preprocessing: - MULTIPLIER: |
NetApp FAS3220 | {#VSERVER}{#FSNAME}: Used space percents | The percentage of disk space currently in use on {#FSNAME}. |
SNMP | fas3220.fs[dfPerCentKBytesCapacity, "{#VSERVER}{#FSNAME}"] |
NetApp FAS3220 | {#VSERVER}{#FSNAME}: Saved by compression percents | Provides the percentage of compression savings in a volume, which is ((compr_saved/used)) * 10(compr_saved + 0). This is only returned for volumes. |
SNMP | fas3220.fs[dfCompressSavedPercent, "{#VSERVER}{#FSNAME}"] |
NetApp FAS3220 | {#VSERVER}{#FSNAME}: Saved by deduplication percents | Provides the percentage of deduplication savings in a volume, which is ((dedup_saved/(dedup_saved + used)) * 100). This is only returned for volumes. |
SNMP | fas3220.fs[dfDedupeSavedPercent, "{#VSERVER}{#FSNAME}"] |
NetApp FAS3220 | Node {#NODE}: port {#IFNAME} ({#TYPE}): Up by an administrator | Indicates whether the port status is set 'UP' by an administrator. |
SNMP | fas3220.net.port[netportUpAdmin, "{#NODE}", "{#IFNAME}"] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
NetApp FAS3220 | Node {#NODE}: port {#IFNAME} ({#TYPE}): Role | Role of the port. A port must have one of the following roles: cluster(1), data(2), mgmt(3), intercluster(4), cluster-mgmt(5) or undef(0). The cluster port is used to communicate to other node(s) in the cluster. The data port services clients' requests. It is where all the file requests come in. The management port is used by administrator to manage resources within a node. The intercluster port is used to communicate to other cluster. The cluster-mgmt port is used to manage resources within the cluster. The undef role is for the port that has not yet been assigned a role. |
SNMP | fas3220.net.port[netportRole, "{#NODE}", "{#IFNAME}"] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
NetApp FAS3220 | Node {#NODE}: port {#IFNAME} ({#TYPE}): Speed | The speed appears on the port. It can be either undef(0), auto(1), ten Mb/s(2), hundred Mb/s(3), one Gb/s(4), or ten Gb/s(5). |
SNMP | fas3220.net.port[netportSpeedOper, "{#NODE}", "{#IFNAME}"] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
NetApp FAS3220 | Node {#NODE}: port {#IFNAME} ({#TYPE}): Bits received | The total number of octets received on the interface, including framing characters. |
SNMP | fas3220.net.if[if64InOctets, "{#NODE}", "{#IFNAME}"] Preprocessing: - MULTIPLIER: - CHANGE_PER_SECOND |
NetApp FAS3220 | Node {#NODE}: port {#IFNAME} ({#TYPE}): Bits sent | The total number of octets transmitted out of the interface, including framing characters. |
SNMP | fas3220.net.if[if64OutOctets, "{#NODE}", "{#IFNAME}"] Preprocessing: - MULTIPLIER: - CHANGE_PER_SECOND |
NetApp FAS3220 | Node {#NODE}: port {#IFNAME} ({#TYPE}): State | The link-state of the port. Normally it is either UP(2) or DOWN(3). |
SNMP | fas3220.net.port[netportLinkState, "{#NODE}", "{#IFNAME}"] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
NetApp FAS3220 | Node {#NODE}: port {#IFNAME} ({#TYPE}): Health | The health status of the port. |
SNMP | fas3220.net.port[netportHealthStatus, "{#NODE}", "{#IFNAME}"] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
NetApp FAS3220 | Node {#NODE}: port {#IFNAME} ({#TYPE}): Health degraded reason | The list of reasons why the port is marked as degraded. |
SNMP | fas3220.net.port[netportDegradedReason, "{#NODE}", "{#IFNAME}"] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
Network_interfaces | Node {#NODE}: port {#IFNAME} ({#TYPE}): Inbound packets with errors | MIB: IF-MIB The number of inbound packets that contained errors preventing them from being deliverable to a higher-layer protocol. |
SNMP | fas3220.net.if[if64InErrors, "{#NODE}", "{#IFNAME}"] Preprocessing: - CHANGE_PER_SECOND |
Network_interfaces | Node {#NODE}: port {#IFNAME} ({#TYPE}): Outbound packets with errors | MIB: IF-MIB The number of outbound packets that could not be transmitted because of errors. |
SNMP | fas3220.net.if[if64OutErrors, "{#NODE}", "{#IFNAME}"] Preprocessing: - CHANGE_PER_SECOND |
Network_interfaces | Node {#NODE}: port {#IFNAME} ({#TYPE}): Inbound packets discarded | MIB: IF-MIB The number of inbound packets that were chosen to be discarded even though no errors had been detected to prevent their being deliverable to a higher-layer protocol. One possible reason for discarding such a packet could be to free up buffer space. |
SNMP | fas3220.net.if[if64InDiscards, "{#NODE}", "{#IFNAME}"] Preprocessing: - CHANGE_PER_SECOND |
Network_interfaces | Node {#NODE}: port {#IFNAME} ({#TYPE}): Outbound packets discarded | MIB: IF-MIB The number of outbound packets that were chosen to be discarded even though no errors had been detected to prevent their being transmitted. One possible reason for discarding such a packet could be to free up buffer space. |
SNMP | fas3220.net.if[if64OutDiscards, "{#NODE}", "{#IFNAME}"] Preprocessing: - CHANGE_PER_SECOND |
Triggers
Name | Description | Expression | Severity | Dependencies and additional info |
---|---|---|---|---|
Node {#NODE.NAME}: High CPU utilization (over {$CPU.UTIL.CRIT}% for 5m) | CPU utilization is too high. The system might be slow to respond. |
min(/NetApp FAS3220 SNMP/fas3220.cpu[cDOTCpuBusyTimePerCent, "{#NODE.NAME}"],5m)>{$CPU.UTIL.CRIT} |
WARNING | |
NetApp FAS3220: Number of failed disks has changed | {{ITEM.LASTVALUE2}.regsub("(.*)", \1)} |
last(/NetApp FAS3220 SNMP/fas3220.disk[diskFailedCount])>0 and last(/NetApp FAS3220 SNMP/fas3220.disk[diskFailedMessage],#1)<>last(/NetApp FAS3220 SNMP/fas3220.disk[diskFailedMessage],#2) Recovery expression: last(/NetApp FAS3220 SNMP/fas3220.disk[diskFailedCount])=0 |
WARNING | |
Node {#NODE.NAME}: has been restarted (uptime < 10m) | Uptime is less than 10 minutes |
last(/NetApp FAS3220 SNMP/fas3220.cluster[nodeUptime, "{#NODE.NAME}"])<10m |
INFO | Manual close: YES |
Node {#NODE.NAME}: Node can not communicate with the cluster | - |
last(/NetApp FAS3220 SNMP/fas3220.cluster[nodeHealth, "{#NODE.NAME}"])=0 |
HIGH | Manual close: YES |
Node {#NODE.NAME}: NVRAM battery status is not OK | - |
last(/NetApp FAS3220 SNMP/fas3220.cluster[nodeNvramBatteryStatus, "{#NODE.NAME}"])<>1 |
AVERAGE | Manual close: YES |
Node {#NODE.NAME}: Temperature is over than recommended | The hardware will shutdown if the temperature exceeds critical thresholds. |
last(/NetApp FAS3220 SNMP/fas3220.cluster[nodeEnvOverTemperature, "{#NODE.NAME}"])=2 |
HIGH | |
Node {#NODE.NAME}: Failed FAN count is over than zero | {{ITEM.VALUE2}.regsub("(.*)", \1)} |
last(/NetApp FAS3220 SNMP/fas3220.cluster[nodeEnvFailedFanCount, "{#NODE.NAME}"])>0 and last(/NetApp FAS3220 SNMP/fas3220.cluster[nodeEnvFailedFanMessage, "{#NODE.NAME}"])=last(/NetApp FAS3220 SNMP/fas3220.cluster[nodeEnvFailedFanMessage, "{#NODE.NAME}"]) |
HIGH | |
Node {#NODE.NAME}: Degraded power supplies count is more than zero | {{ITEM.VALUE2}.regsub("(.*)", \1)} |
last(/NetApp FAS3220 SNMP/fas3220.cluster[nodeEnvFailedPowerSupplyCount, "{#NODE.NAME}"])>0 and last(/NetApp FAS3220 SNMP/fas3220.cluster[nodeEnvFailedPowerSupplyMessage, "{#NODE.NAME}"])=last(/NetApp FAS3220 SNMP/fas3220.cluster[nodeEnvFailedPowerSupplyMessage, "{#NODE.NAME}"]) |
AVERAGE | |
Node {#NODE.NAME}: Node cannot takeover it's HA partner {#PARTNER.NAME}. Reason: {ITEM.VALUE} | Possible reasons: unknownReason(2), disabledByOperator(3), interconnectOffline(4), disabledByPartner(5), takeoverFailed(6), mailboxIsInDegradedState(7), partnermailboxIsInUninitialisedState(8), mailboxVersionMismatch(9), nvramSizeMismatch(10), kernelVersionMismatch(11), partnerIsInBootingStage(12), diskshelfIsTooHot(13), partnerIsPerformingRevert(14), nodeIsPerformingRevert(15), sametimePartnerIsAlsoTryingToTakeUsOver(16), alreadyInTakenoverMode(17), nvramLogUnsynchronized(18), stateofBackupMailboxIsDoubtful(19). |
last(/NetApp FAS3220 SNMP/fas3220.ha[haCannotTakeoverCause, "{#NODE.NAME}"])<>1 |
HIGH | |
Node {#NODE.NAME}: Node has been taken over | The thisNodeDead(5) setting indicates that this node has been takenover. |
last(/NetApp FAS3220 SNMP/fas3220.ha[haSettings, "{#NODE.NAME}"])=5 |
HIGH | |
Node {#NODE.NAME}: HA is not licensed | The value notConfigured(1) indicates that the HA is not licensed. |
last(/NetApp FAS3220 SNMP/fas3220.ha[haSettings, "{#NODE.NAME}"])=1 |
AVERAGE | |
{#VSERVER}{#FSNAME}: Disk space is too low (below {$FAS3220.FS.AVAIL.MIN.CRIT:"{#FSNAME}"} for {$FAS3220.FS.TIME:"{#FSNAME}"}) | - |
min(/NetApp FAS3220 SNMP/fas3220.fs[df64AvailKBytes, "{#VSERVER}{#FSNAME}"],{$FAS3220.FS.TIME:"{#FSNAME}"})<{$FAS3220.FS.AVAIL.MIN.CRIT:"{#FSNAME}"} and {$FAS3220.FS.USE.PCT:"{#FSNAME}"}=0 |
HIGH | |
{#VSERVER}{#FSNAME}: Disk space is too low (used over {$FAS3220.FS.PUSED.MAX.CRIT:"{#FSNAME}"}% for {$FAS3220.FS.TIME:"{#FSNAME}"}) | - |
max(/NetApp FAS3220 SNMP/fas3220.fs[dfPerCentKBytesCapacity, "{#VSERVER}{#FSNAME}"],{$FAS3220.FS.TIME:"{#FSNAME}"})>{$FAS3220.FS.PUSED.MAX.CRIT:"{#FSNAME}"} and {$FAS3220.FS.USE.PCT:"{#FSNAME}"}=1 |
HIGH | |
Node {#NODE}: port {#IFNAME} ({#TYPE}): Link down | Link state is not UP and the port status is set 'UP' by an administrator. |
last(/NetApp FAS3220 SNMP/fas3220.net.port[netportLinkState, "{#NODE}", "{#IFNAME}"])<>2 and last(/NetApp FAS3220 SNMP/fas3220.net.port[netportUpAdmin, "{#NODE}", "{#IFNAME}"])=1 |
AVERAGE | Manual close: YES |
Node {#NODE}: port {#IFNAME} ({#TYPE}): Port is not healthy | {{ITEM.LASTVALUE2}.regsub("(.*)", \1)} |
last(/NetApp FAS3220 SNMP/fas3220.net.port[netportHealthStatus, "{#NODE}", "{#IFNAME}"])<>0 and length(last(/NetApp FAS3220 SNMP/fas3220.net.port[netportDegradedReason, "{#NODE}", "{#IFNAME}"]))>0 |
INFO | |
Node {#NODE}: port {#IFNAME} ({#TYPE}): High error rate (>{$IF.ERRORS.WARN:"{#IFNAME}"} for 5m) | Recovers when below 80% of {$IF.ERRORS.WARN:"{#IFNAME}"} threshold |
min(/NetApp FAS3220 SNMP/fas3220.net.if[if64InErrors, "{#NODE}", "{#IFNAME}"],5m)>{$IF.ERRORS.WARN:"{#IFNAME}"} or min(/NetApp FAS3220 SNMP/fas3220.net.if[if64OutErrors, "{#NODE}", "{#IFNAME}"],5m)>{$IF.ERRORS.WARN:"{#IFNAME}"} Recovery expression: max(/NetApp FAS3220 SNMP/fas3220.net.if[if64InErrors, "{#NODE}", "{#IFNAME}"],5m)<{$IF.ERRORS.WARN:"{#IFNAME}"}*0.8 and max(/NetApp FAS3220 SNMP/fas3220.net.if[if64OutErrors, "{#NODE}", "{#IFNAME}"],5m)<{$IF.ERRORS.WARN:"{#IFNAME}"}*0.8 |
WARNING | Manual close: YES |
Feedback
Please report any issues with the template at https://support.zabbix.com
You can also provide a feedback, discuss the template or ask for help with it at ZABBIX forums.
Template SAN NetApp FAS3220 SNMP
Overview
For Zabbix version: 5.0 and higher
The template to monitor SAN NetApp FAS3220 cluster by Zabbix SNMP agent.
This template was tested on:
- NetApp FAS3220, firmware version: 5.3.0
Setup
See Zabbix template operation for basic instructions.
1. Create a host for FAS3220 with cluster management IP as SNMPv2 interface.
2. Link the template to the host.
3. Customize macro values if needed.
Zabbix configuration
No specific Zabbix configuration is required.
Macros used
Name | Description | Default |
---|---|---|
{$CPU.UTIL.CRIT} | The critical threshold of the CPU utilization in %. |
90 |
{$FAS3220.FS.AVAIL.MIN.CRIT} | Minimum available space on the disk. Can be used with {#FSNAME} as context. |
10G |
{$FAS3220.FS.NAME.MATCHES} | This macro is used in filesystems discovery. Can be overridden on the host or linked template level. |
.* |
{$FAS3220.FS.NAME.NOT_MATCHES} | This macro is used in filesystems discovery. Can be overridden on the host or linked template level. |
snapshot |
{$FAS3220.FS.PUSED.MAX.CRIT} | Maximum percentage of disk used. Can be used with {#FSNAME} as context. |
90 |
{$FAS3220.FS.TIME} | The time during which disk usage may exceed the threshold. Can be used with {#FSNAME} as context. |
10m |
{$FAS3220.FS.TYPE.MATCHES} | This macro is used in filesystems discovery. Can be overridden on the host or linked template level. Value should be integer: 2 - flexibleVolume, 3 - aggregate, 4 - stripedAggregate, 5 - stripedVolume. |
.* |
{$FAS3220.FS.TYPE.NOT_MATCHES} | This macro is used in filesystems discovery. Can be overridden on the host or linked template level. Value should be integer: 2 - flexibleVolume, 3 - aggregate, 4 - stripedAggregate, 5 - stripedVolume. |
CHANGE_IF_NEEDED |
{$FAS3220.FS.USE.PCT} | Macro define what threshold will be used for disk space trigger: 0 - use Bytes ({$FAS3220.FS.AVAIL.MIN.CRIT}) 1 - use percents ({$FAS3220.FS.PUSED.MAX.CRIT}) Can be used with {#FSNAME} as context. |
1 |
{$FAS3220.NET.PORT.NAME.MATCHES} | This macro is used in net ports discovery. Can be overridden on the host or linked template level. |
.* |
{$FAS3220.NET.PORT.NAME.NOT_MATCHES} | This macro is used in net ports discovery. Can be overridden on the host or linked template level. |
CHANGE_IF_NEEDED |
{$FAS3220.NET.PORT.ROLE.MATCHES} | This macro is used in net ports discovery. Can be overridden on the host or linked template level. {#ROLE} is integer. Possible values: 0 - undef 1 - cluster 2 - data 3 - node-mgmt 4 - intercluster 5 - cluster-mgmt |
.* |
{$FAS3220.NET.PORT.ROLE.NOT_MATCHES} | This macro is used in net ports discovery. Can be overridden on the host or linked template level. {#ROLE} is integer. Possible values: 0 - undef 1 - cluster 2 - data 3 - node-mgmt 4 - intercluster 5 - cluster-mgmt |
CHANGE_IF_NEEDED |
{$FAS3220.NET.PORT.TYPE.MATCHES} | This macro is used in net ports discovery. Can be overridden on the host or linked template level. {#TYPE} is integer. Possible values: physical, if-group, vlan, undef. |
.* |
{$FAS3220.NET.PORT.TYPE.NOT_MATCHES} | This macro is used in net ports discovery. Can be overridden on the host or linked template level. {#TYPE} is integer. Possible values: physical, if-group, vlan, undef. |
CHANGE_IF_NEEDED |
{$IF.ERRORS.WARN} | - |
`` |
{$IF.UTIL.MAX} | - |
95 |
Template links
Name |
---|
Generic SNMP |
Discovery rules
Name | Description | Type | Key and additional info |
---|---|---|---|
CPU discovery | Discovery of CPU metrics per node |
SNMP | fas3220.cpu.discovery |
Cluster metrics discovery | Discovery of Cluster metrics per node |
SNMP | fas3220.cluster.discovery |
HA discovery | Discovery of high availability metrics per node |
SNMP | fas3220.ha.discovery |
Filesystems discovery | Filesystems discovery with filter. |
SNMP | fas3220.fs.discovery Filter: AND- A: {#FSTYPE} MATCHES_REGEX - B: {#FSTYPE} NOT_MATCHES_REGEX - C: {#FSNAME} MATCHES_REGEX - D: {#FSNAME} NOT_MATCHES_REGEX Overrides: Do not discover aggregate metrics |
Network ports discovery | Network interfaces discovery with filter. |
SNMP | fas3220.net.discovery Preprocessing: - JAVASCRIPT: Filter: AND- A: {#TYPE} MATCHES_REGEX - B: {#TYPE} NOT_MATCHES_REGEX - C: {#ROLE} MATCHES_REGEX - D: {#TYPE} NOT_MATCHES_REGEX - E: {#IFNAME} MATCHES_REGEX - F: {#IFNAME} NOT_MATCHES_REGEX |
Items collected
Group | Name | Description | Type | Key and additional info |
---|---|---|---|---|
CPU | Node {#NODE.NAME}: CPU utilization | The average, over the last minute, of the percentage of time that this processor was not idle. |
SNMP | fas3220.cpu[cDOTCpuBusyTimePerCent, "{#NODE.NAME}"] |
NetApp FAS3220 | NetApp FAS3220: Product version | Version string for the software running on this platform. |
SNMP | fas3220.inventory[productVersion] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
NetApp FAS3220 | NetApp FAS3220: Product firmware version | Version string for the firmware running on this platform. |
SNMP | fas3220.inventory[productFirmwareVersion] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
NetApp FAS3220 | NetApp FAS3220: Failed disks count | The number of disks that are currently broken. |
SNMP | fas3220.disk[diskFailedCount] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
NetApp FAS3220 | NetApp FAS3220: Failed disks message | If diskFailedCount is non-zero, this is a string describing the failed disk or disks. Each failed disk is described. |
SNMP | fas3220.disk[diskFailedMessage] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
NetApp FAS3220 | Node {#NODE.NAME}: Location | Node Location. Same as sysLocation for a specific node. |
SNMP | fas3220.cluster[nodeLocation, "{#NODE.NAME}"] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
NetApp FAS3220 | Node {#NODE.NAME}: Model | Node Model. Same as productModel for a specific node. |
SNMP | fas3220.cluster[nodeModel, "{#NODE.NAME}"] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
NetApp FAS3220 | Node {#NODE.NAME}: Serial number | Node Serial Number. Same as productSerialNum for a specific node. |
SNMP | fas3220.cluster[nodeSerialNumber, "{#NODE.NAME}"] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
NetApp FAS3220 | Node {#NODE.NAME}: Uptime | Node uptime. Same as sysUpTime for a specific node. |
SNMP | fas3220.cluster[nodeUptime, "{#NODE.NAME}"] Preprocessing: - MULTIPLIER: |
NetApp FAS3220 | Node {#NODE.NAME}: Health | Whether or not the node can communicate with the cluster. |
SNMP | fas3220.cluster[nodeHealth, "{#NODE.NAME}"] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
NetApp FAS3220 | Node {#NODE.NAME}: NVRAM battery status | An indication of the current status of the NVRAM battery or batteries. Batteries which are fully or partially discharged may not fully protect the system during a crash. The end-of-life status values are based on the manufacturer's recommended life for the batteries. Possible values: ok(1), partiallyDischarged(2), fullyDischarged(3), notPresent(4), nearEndOfLife(5), atEndOfLife(6), unknown(7), overCharged(8), fullyCharged(9). |
SNMP | fas3220.cluster[nodeNvramBatteryStatus, "{#NODE.NAME}"] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
NetApp FAS3220 | Node {#NODE.NAME}: Over-temperature | An indication of whether the hardware is currently operating outside of its recommended temperature range. The hardware will shutdown if the temperature exceeds critical thresholds. |
SNMP | fas3220.cluster[nodeEnvOverTemperature, "{#NODE.NAME}"] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
NetApp FAS3220 | Node {#NODE.NAME}: Failed FAN count | Count of the number of chassis fans that are not operating within the recommended RPM range. |
SNMP | fas3220.cluster[nodeEnvFailedFanCount, "{#NODE.NAME}"] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
NetApp FAS3220 | Node {#NODE.NAME}: Failed FAN message | Text message describing current condition of chassis fans. This is useful only if envFailedFanCount is not zero. |
SNMP | fas3220.cluster[nodeEnvFailedFanMessage, "{#NODE.NAME}"] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
NetApp FAS3220 | Node {#NODE.NAME}: Degraded power supplies count | Count of the number of power supplies that are in degraded mode. |
SNMP | fas3220.cluster[nodeEnvFailedPowerSupplyCount, "{#NODE.NAME}"] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
NetApp FAS3220 | Node {#NODE.NAME}: Degraded power supplies message | Text message describing the state of any power supplies that are currently degraded. This is useful only if envFailedPowerSupplyCount is not zero. |
SNMP | fas3220.cluster[nodeEnvFailedPowerSupplyMessage, "{#NODE.NAME}"] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
NetApp FAS3220 | Node {#NODE.NAME}: Cannot takeover cause | The reason node cannot take over it's HA partner {#PARTNER.NAME}. Possible states: ok(1), unknownReason(2), disabledByOperator(3), interconnectOffline(4), disabledByPartner(5), takeoverFailed(6), mailboxIsInDegradedState(7), partnermailboxIsInUninitialisedState(8), mailboxVersionMismatch(9), nvramSizeMismatch(10), kernelVersionMismatch(11), partnerIsInBootingStage(12), diskshelfIsTooHot(13), partnerIsPerformingRevert(14), nodeIsPerformingRevert(15), sametimePartnerIsAlsoTryingToTakeUsOver(16), alreadyInTakenoverMode(17), nvramLogUnsynchronized(18), stateofBackupMailboxIsDoubtful(19). |
SNMP | fas3220.ha[haCannotTakeoverCause, "{#NODE.NAME}"] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
NetApp FAS3220 | Node {#NODE.NAME}: HA settings | High Availability configuration settings. The value notConfigured(1) indicates that the HA is not licensed. The thisNodeDead(5) setting indicates that this node has been takenover. |
SNMP | fas3220.ha[haSettings, "{#NODE.NAME}"] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
NetApp FAS3220 | {#VSERVER}{#FSNAME}: Total space used | The total disk space that is in use on {#FSNAME}. |
SNMP | fas3220.fs[df64UsedKBytes, "{#VSERVER}{#FSNAME}"] Preprocessing: - MULTIPLIER: |
NetApp FAS3220 | {#VSERVER}{#FSNAME}: Total space available | The total disk space that is free for use on {#FSNAME}. |
SNMP | fas3220.fs[df64AvailKBytes, "{#VSERVER}{#FSNAME}"] Preprocessing: - MULTIPLIER: |
NetApp FAS3220 | {#VSERVER}{#FSNAME}: Total space | The total capacity in Bytes for {#FSNAME}. |
SNMP | fas3220.fs[df64TotalKBytes, "{#VSERVER}{#FSNAME}"] Preprocessing: - MULTIPLIER: |
NetApp FAS3220 | {#VSERVER}{#FSNAME}: Used space percents | The percentage of disk space currently in use on {#FSNAME}. |
SNMP | fas3220.fs[dfPerCentKBytesCapacity, "{#VSERVER}{#FSNAME}"] |
NetApp FAS3220 | {#VSERVER}{#FSNAME}: Saved by compression percents | Provides the percentage of compression savings in a volume, which is ((compr_saved/used)) * 10(compr_saved + 0). This is only returned for volumes. |
SNMP | fas3220.fs[dfCompressSavedPercent, "{#VSERVER}{#FSNAME}"] |
NetApp FAS3220 | {#VSERVER}{#FSNAME}: Saved by deduplication percents | Provides the percentage of deduplication savings in a volume, which is ((dedup_saved/(dedup_saved + used)) * 100). This is only returned for volumes. |
SNMP | fas3220.fs[dfDedupeSavedPercent, "{#VSERVER}{#FSNAME}"] |
NetApp FAS3220 | Node {#NODE}: port {#IFNAME} ({#TYPE}): Up by an administrator | Indicates whether the port status is set 'UP' by an administrator. |
SNMP | fas3220.net.port[netportUpAdmin, "{#NODE}", "{#IFNAME}"] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
NetApp FAS3220 | Node {#NODE}: port {#IFNAME} ({#TYPE}): Role | Role of the port. A port must have one of the following roles: cluster(1), data(2), mgmt(3), intercluster(4), cluster-mgmt(5) or undef(0). The cluster port is used to communicate to other node(s) in the cluster. The data port services clients' requests. It is where all the file requests come in. The management port is used by administrator to manage resources within a node. The intercluster port is used to communicate to other cluster. The cluster-mgmt port is used to manage resources within the cluster. The undef role is for the port that has not yet been assigned a role. |
SNMP | fas3220.net.port[netportRole, "{#NODE}", "{#IFNAME}"] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
NetApp FAS3220 | Node {#NODE}: port {#IFNAME} ({#TYPE}): Speed | The speed appears on the port. It can be either undef(0), auto(1), ten Mb/s(2), hundred Mb/s(3), one Gb/s(4), or ten Gb/s(5). |
SNMP | fas3220.net.port[netportSpeedOper, "{#NODE}", "{#IFNAME}"] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
NetApp FAS3220 | Node {#NODE}: port {#IFNAME} ({#TYPE}): Bits received | The total number of octets received on the interface, including framing characters. |
SNMP | fas3220.net.if[if64InOctets, "{#NODE}", "{#IFNAME}"] Preprocessing: - MULTIPLIER: - CHANGE_PER_SECOND |
NetApp FAS3220 | Node {#NODE}: port {#IFNAME} ({#TYPE}): Bits sent | The total number of octets transmitted out of the interface, including framing characters. |
SNMP | fas3220.net.if[if64OutOctets, "{#NODE}", "{#IFNAME}"] Preprocessing: - MULTIPLIER: - CHANGE_PER_SECOND |
NetApp FAS3220 | Node {#NODE}: port {#IFNAME} ({#TYPE}): State | The link-state of the port. Normally it is either UP(2) or DOWN(3). |
SNMP | fas3220.net.port[netportLinkState, "{#NODE}", "{#IFNAME}"] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
NetApp FAS3220 | Node {#NODE}: port {#IFNAME} ({#TYPE}): Health | The health status of the port. |
SNMP | fas3220.net.port[netportHealthStatus, "{#NODE}", "{#IFNAME}"] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
NetApp FAS3220 | Node {#NODE}: port {#IFNAME} ({#TYPE}): Health degraded reason | The list of reasons why the port is marked as degraded. |
SNMP | fas3220.net.port[netportDegradedReason, "{#NODE}", "{#IFNAME}"] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
Network_interfaces | Node {#NODE}: port {#IFNAME} ({#TYPE}): Inbound packets with errors | MIB: IF-MIB The number of inbound packets that contained errors preventing them from being deliverable to a higher-layer protocol. |
SNMP | fas3220.net.if[if64InErrors, "{#NODE}", "{#IFNAME}"] Preprocessing: - CHANGE_PER_SECOND |
Network_interfaces | Node {#NODE}: port {#IFNAME} ({#TYPE}): Outbound packets with errors | MIB: IF-MIB The number of outbound packets that could not be transmitted because of errors. |
SNMP | fas3220.net.if[if64OutErrors, "{#NODE}", "{#IFNAME}"] Preprocessing: - CHANGE_PER_SECOND |
Network_interfaces | Node {#NODE}: port {#IFNAME} ({#TYPE}): Inbound packets discarded | MIB: IF-MIB The number of inbound packets that were chosen to be discarded even though no errors had been detected to prevent their being deliverable to a higher-layer protocol. One possible reason for discarding such a packet could be to free up buffer space. |
SNMP | fas3220.net.if[if64InDiscards, "{#NODE}", "{#IFNAME}"] Preprocessing: - CHANGE_PER_SECOND |
Network_interfaces | Node {#NODE}: port {#IFNAME} ({#TYPE}): Outbound packets discarded | MIB: IF-MIB The number of outbound packets that were chosen to be discarded even though no errors had been detected to prevent their being transmitted. One possible reason for discarding such a packet could be to free up buffer space. |
SNMP | fas3220.net.if[if64OutDiscards, "{#NODE}", "{#IFNAME}"] Preprocessing: - CHANGE_PER_SECOND |
Triggers
Name | Description | Expression | Severity | Dependencies and additional info |
---|---|---|---|---|
Node {#NODE.NAME}: High CPU utilization (over {$CPU.UTIL.CRIT}% for 5m) | CPU utilization is too high. The system might be slow to respond. |
{TEMPLATE_NAME:fas3220.cpu[cDOTCpuBusyTimePerCent, "{#NODE.NAME}"].min(5m)}>{$CPU.UTIL.CRIT} |
WARNING | |
NetApp FAS3220: Number of failed disks has changed | {{ITEM.LASTVALUE2}.regsub("(.*)", \1)} |
{TEMPLATE_NAME:fas3220.disk[diskFailedCount].last()}>0 and {TEMPLATE_NAME:fas3220.disk[diskFailedMessage].diff()}=1 Recovery expression: {TEMPLATE_NAME:fas3220.disk[diskFailedCount].last()}=0 |
WARNING | |
Node {#NODE.NAME}: has been restarted (uptime < 10m) | Uptime is less than 10 minutes. |
{TEMPLATE_NAME:fas3220.cluster[nodeUptime, "{#NODE.NAME}"].last()}<10m |
INFO | Manual close: YES |
Node {#NODE.NAME}: Node can not communicate with the cluster | - |
{TEMPLATE_NAME:fas3220.cluster[nodeHealth, "{#NODE.NAME}"].last()}=0 |
HIGH | Manual close: YES |
Node {#NODE.NAME}: NVRAM battery status is not OK | - |
{TEMPLATE_NAME:fas3220.cluster[nodeNvramBatteryStatus, "{#NODE.NAME}"].last()}<>1 |
AVERAGE | Manual close: YES |
Node {#NODE.NAME}: Temperature is over than recommended | The hardware will shutdown if the temperature exceeds critical thresholds. |
{TEMPLATE_NAME:fas3220.cluster[nodeEnvOverTemperature, "{#NODE.NAME}"].last()}=2 |
HIGH | |
Node {#NODE.NAME}: Failed FAN count is over than zero | {{ITEM.VALUE2}.regsub("(.*)", \1)} |
{TEMPLATE_NAME:fas3220.cluster[nodeEnvFailedFanCount, "{#NODE.NAME}"].last()}>0 and {TEMPLATE_NAME:fas3220.cluster[nodeEnvFailedFanMessage, "{#NODE.NAME}"].last()}={TEMPLATE_NAME:fas3220.cluster[nodeEnvFailedFanMessage, "{#NODE.NAME}"].last()} |
HIGH | |
Node {#NODE.NAME}: Degraded power supplies count is more than zero | {{ITEM.VALUE2}.regsub("(.*)", \1)} |
{TEMPLATE_NAME:fas3220.cluster[nodeEnvFailedPowerSupplyCount, "{#NODE.NAME}"].last()}>0 and {TEMPLATE_NAME:fas3220.cluster[nodeEnvFailedPowerSupplyMessage, "{#NODE.NAME}"].last()}={TEMPLATE_NAME:fas3220.cluster[nodeEnvFailedPowerSupplyMessage, "{#NODE.NAME}"].last()} |
AVERAGE | |
Node {#NODE.NAME}: Node cannot takeover it's HA partner {#PARTNER.NAME}. Reason: {ITEM.VALUE} | Possible reasons: unknownReason(2), disabledByOperator(3), interconnectOffline(4), disabledByPartner(5), takeoverFailed(6), mailboxIsInDegradedState(7), partnermailboxIsInUninitialisedState(8), mailboxVersionMismatch(9), nvramSizeMismatch(10), kernelVersionMismatch(11), partnerIsInBootingStage(12), diskshelfIsTooHot(13), partnerIsPerformingRevert(14), nodeIsPerformingRevert(15), sametimePartnerIsAlsoTryingToTakeUsOver(16), alreadyInTakenoverMode(17), nvramLogUnsynchronized(18), stateofBackupMailboxIsDoubtful(19). |
{TEMPLATE_NAME:fas3220.ha[haCannotTakeoverCause, "{#NODE.NAME}"].last()}<>1 |
HIGH | |
Node {#NODE.NAME}: Node has been taken over | The thisNodeDead(5) setting indicates that this node has been takenover. |
{TEMPLATE_NAME:fas3220.ha[haSettings, "{#NODE.NAME}"].last()}=5 |
HIGH | |
Node {#NODE.NAME}: HA is not licensed | The value notConfigured(1) indicates that the HA is not licensed. |
{TEMPLATE_NAME:fas3220.ha[haSettings, "{#NODE.NAME}"].last()}=1 |
AVERAGE | |
{#VSERVER}{#FSNAME}: Disk space is too low (below {$FAS3220.FS.AVAIL.MIN.CRIT:"{#FSNAME}"} for {$FAS3220.FS.TIME:"{#FSNAME}"}) | - |
{TEMPLATE_NAME:fas3220.fs[df64AvailKBytes, "{#VSERVER}{#FSNAME}"].min({$FAS3220.FS.TIME:"{#FSNAME}"})}<{$FAS3220.FS.AVAIL.MIN.CRIT:"{#FSNAME}"} and {$FAS3220.FS.USE.PCT:"{#FSNAME}"}=0 |
HIGH | |
{#VSERVER}{#FSNAME}: Disk space is too low (used over {$FAS3220.FS.PUSED.MAX.CRIT:"{#FSNAME}"}% for {$FAS3220.FS.TIME:"{#FSNAME}"}) | - |
{TEMPLATE_NAME:fas3220.fs[dfPerCentKBytesCapacity, "{#VSERVER}{#FSNAME}"].max({$FAS3220.FS.TIME:"{#FSNAME}"})}>{$FAS3220.FS.PUSED.MAX.CRIT:"{#FSNAME}"} and {$FAS3220.FS.USE.PCT:"{#FSNAME}"}=1 |
HIGH | |
Node {#NODE}: port {#IFNAME} ({#TYPE}): Link down | Link state is not UP and the port status is set 'UP' by an administrator. |
{TEMPLATE_NAME:fas3220.net.port[netportLinkState, "{#NODE}", "{#IFNAME}"].last()}<>2 and {TEMPLATE_NAME:fas3220.net.port[netportUpAdmin, "{#NODE}", "{#IFNAME}"].last()}=1 |
AVERAGE | Manual close: YES |
Node {#NODE}: port {#IFNAME} ({#TYPE}): Port is not healthy | {{ITEM.LASTVALUE2}.regsub("(.*)", \1)} |
{TEMPLATE_NAME:fas3220.net.port[netportHealthStatus, "{#NODE}", "{#IFNAME}"].last()}<>0 and {TEMPLATE_NAME:fas3220.net.port[netportDegradedReason, "{#NODE}", "{#IFNAME}"].strlen()}>0 |
INFO | |
Node {#NODE}: port {#IFNAME} ({#TYPE}): High error rate (>{$IF.ERRORS.WARN:"{#IFNAME}"} for 5m) | Recovers when below 80% of {$IF.ERRORS.WARN:"{#IFNAME}"} threshold |
{TEMPLATE_NAME:fas3220.net.if[if64InErrors, "{#NODE}", "{#IFNAME}"].min(5m)}>{$IF.ERRORS.WARN:"{#IFNAME}"} or {TEMPLATE_NAME:fas3220.net.if[if64OutErrors, "{#NODE}", "{#IFNAME}"].min(5m)}>{$IF.ERRORS.WARN:"{#IFNAME}"} Recovery expression: {TEMPLATE_NAME:fas3220.net.if[if64InErrors, "{#NODE}", "{#IFNAME}"].max(5m)}<{$IF.ERRORS.WARN:"{#IFNAME}"}*0.8 and {TEMPLATE_NAME:fas3220.net.if[if64OutErrors, "{#NODE}", "{#IFNAME}"].max(5m)}<{$IF.ERRORS.WARN:"{#IFNAME}"}*0.8 |
WARNING | Manual close: YES |
Feedback
Please report any issues with the template at https://support.zabbix.com
You can also provide a feedback, discuss the template or ask for help with it at ZABBIX forums.